美文网首页
Node.js 框架

Node.js 框架

作者: 独木舟的木 | 来源:发表于2018-10-13 00:41 被阅读75次

    nodeframework 上的框架分类

    Node.js 框架

    框架的定义

    • API 框架——用于搭建 Web API 的库,有协助组织程序结构的框架支持。LoopBack将自己定义为这类框架。
    • HTTP 服务器库——所有基于 Express 的项目都可以归为这一类,包括 Koa 和 Kraken.js 。这些库帮我们围绕 HTTP 动词和路由搭建程序。
    • HTTP服务器框架——用来搭建模块化 HTTP 服务器的框架。hapi 就是这种框架。
    • Web MVC 框架——模型-视图-控制器框架,Sail.js 就是这种框架。
    • 全栈框架——这些框架在服务器端和浏览器上用的都是 JavaScript,并且两端可以共享代码。这被称为同构代码。 DerbyJS 是个全栈 MVC 框架。

    Koa

    库类别 HTTP 服务器库
    功能特性 基于生成器的中间件,请求/响应模型
    建议应用 轻型 Web 程序、不严格的 HTTP API、单页 Web 程序
    插件架构 中间件
    文档 https://koa.bootcss.com/
    热门程度 GitHub 24198 ⭐️
    授权许可 MIT

    Koa 轻便、极简,在中间件中使用 ES2015 生成器语法。适合依赖外部 Web API 的单页 Web 程序。

    Kraken

    库类别 HTTP 服务器库
    功能特性 对项目结构要求严格、模型、模版(Dust)、安全强化(Lusca)、配置管理、国际化
    建议应用 企业 Web 程序
    插件架构 Express 中间件
    文档 https://www.kraken.com/help/api
    热门程度 GitHub 4698 ⭐️
    授权许可 Apache 2.0

    Kraken 是基于 Express 的,添加了安全特性。可以用于 MVC。

    hapi

    库类别 HTTP 服务器库
    功能特性 高层服务器容器抽象,安全的头部信息
    建议应用 单页 Web 程序、HTTP API
    插件架构 hapi 插件
    文档 https://hapijs.com/
    热门程度 GitHub 10000 ⭐️
    授权许可 BSD 3

    hapi 的重点是 HTTP 服务器和路由。适合由很多小服务器组成的轻便后台。

    Sails.js

    库类别 MVC 框架
    功能特性 有支持数据库的 ORM,生成 REST API,WebSocket
    建议应用 Rails 风格的 MVC 程序
    插件架构 Express 中间件
    文档 http://sailsjs.org/
    热门程度 GitHub 19976 ⭐️
    授权许可 BSD 3

    Sails.js 是 Rails/Django 风格的 MVC 框架。有 ORM 和模板系统。

    DerbyJS

    库类别 全栈框架
    功能特性 有支持数据库的 ORM(Racer),同构
    建议应用 有服务器端支持的单页 Web 程序
    插件架构 DerbyJS 插件
    文档 https://derbyjs.com/
    热门程度 GitHub 4358 ⭐️
    授权许可 MIT

    DerbyJS 是个同构框架,适合实时程序。

    Flatiron.js

    库类别 模块化 MVC 框架
    功能特性 数据库管理层(Resourceful),解耦的可重用模块
    建议应用 轻量的 MVC 程序,在其他框架中使用 Flatiron 模块
    插件架构 Broadway 插件 API
    文档 https://github.com/flatiron/flatiron
    热门程度 GitHub 1338 ⭐️
    授权许可 MIT

    Flatiron 是一组解耦的模块,既可以当作 Web MVC 框架来用,也可以当作更轻便的 Express库。 Flatiron 跟 Connect 中间件是兼容的。

    LoopBack

    库类别 API 框架
    功能特性 ORM、API 用户界面、WebScoket、客户端 SDK(包括 iOS)
    建议应用 支持多客户端的 API(移动端、桌面端、Web)
    插件架构 Express 中间件
    文档 https://loopback.io/
    热门程度 GitHub 12092 ⭐️
    授权许可 双许可:MIT 和 StrongLoop 认购协议

    LoopBack 帮我们省掉了写套路化代码的工作。它可以快速生成带有数据库支持的 REST API,并有个 API 管理界面。

    如何选择 Node 框架

    选择 Node 框架

    提升应用安全性的 Node 模块

    • Lusca:krakenjs 中的一个安全模块。
    • Helmet:通过设置各种 HTTP 头来帮助您保护 Express 应用程序。
    • nsp 模块:审计 Node 应用的 package.jsonnpm- shrinkwrap.json文件,检查有没有已知漏洞。

    文章资源

    相关文章

      网友评论

          本文标题:Node.js 框架

          本文链接:https://www.haomeiwen.com/subject/zsvnaftx.html