【编者按】本文作者为 Peter Wayner,主要介绍13款至精至简的 Node.js 框架,帮助你简化高速网站、丰富 API 以及实时应用的开发流程。本文系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文的第一部分。

Node.js 推出至今也有些年头了,但它就像那初生的太阳,充满朝气。人们不断地探索更新更好的平台信息发布方式,于是选择也越来越多。这些努力最终催生了多款 Node.js 框架,不论是 Node.js 爱好者还是新手,都可以尽情探索,寻求新的提升。

在下文中,笔者将介绍最引人注目的十多款框架。这些框架能有效简化复杂网站的构建流程。如果你正打算开始新的项目,不妨尝试其中的一些框架,可快速完成前期工作,并体验这些项目中捆绑的功能。

1、express

Express 是一款以轻量级的方式处理请求的框架。它将 URL 映射至模板,将来自通用数据存储中的数据填入值中。其标准的模板引擎为 Consolidate,但是由于样式相当简单,大多数模板引擎都能良好运行。

Express 团队许诺说,MySpace 欲意采用 Express 打造新版本,以此提高其时髦度。如果你不知道 MySpace 为何物,可以问问祖父母,他们或许还有 MySpace 账号。

Express 基于 MIT 许可证发布,其 GitHub 地址在此

2、Koa.js

打造 Express 的团队决定更进一步,使用全新可伸缩的调用栈构建新一代框架。名为 Koa.js 的调用栈允许你在调用及响应握手时添加新的特性。一开始,你需要写一点代码来处理请求,但之后,就可以自定义请求处理的全过程。负责所有交互和错误处理的中间件都可以加以修改。此外,还有十多项插件包,为调用栈添加了压缩、缓存、JSON 编码等功能。

上图展示了与 Koa 捆绑的某个模板库使用的部分 Jade 标记。

Koa 基于 MIT 许可证发布,其 GitHub 地址在此

3、Total.js

Total.js 栈的设计初衷是尽可能实现自动化。从 HTML 和 CSS 标记模板出发,Total 可以将之编译为原始代码,压缩之后再进行发布。从某种意义上讲,Total 是伪装为框架的一个强力网站编译器。

上图展示了一个寿司吧网站的实例。

Total 基于 MIT 许可证发布,其 GitHub 地址在此

4、Derby.js

Node.js 的一个重要特点是在浏览器与服务器端使用相同的语言。Derby.js 通过试图在两端运行相同的代码,并同步运行结果,将这一特点发挥到极致。之后,它通过模板渲染、打包以及一些 MVC 来简化这一过程。你无需担心诸如编译 CSS 代码的问题,因为 Derby 集成了这些功能。

上图展示了一个基本的待办事物清单。

Derby 基于 MIT 许可证发布,其 GitHub 地址在此

5、Meteor.js

Meteor.js是一款实时应用,其设计初衷是打造与服务器持续同步的 Web 应用。对模板或数据进行的修改会自动从服务器端传到浏览器端。重新描绘与更新操作直接由底层框架负责。并且,这一机制是双向的。浏览器代码进行改动或写入数据时就像直接操作数据库一样。同步完全在后台进行。

上图展示了一个在 Meteor 中打造的用于同步急救先锋队任务的应用。

Meteor 基于 Apache 许可证发布,在其官网Github 均可找到安装脚本。

6、restify

并非每个应用都要求浏览器的全面支持。Restify 是旨在仅通过 API 提供数据的服务器端框架。成功运行之后,Restify 输出的是 JSON 数据。

Restify 相当强调调试与分析,因此你可以深入钻研、优化服务器的性能。DTrace 集成性能好,支持度高,能清晰了解应用状况,预测可能出现的错误。

上图展示了一个在调试会话中保存的审计数据包。

Restify 基于非常基本的许可证发布,使用时要求注明版权。其 GitHub 地址在此

以上为前6个框架,欲知后续内容,敬请关注 OneAPM 官方技术博客

OneAPM 能帮助您轻松锁定 Node.js 应用性能瓶颈,通过强大的 Trace 记录逐层分析,直至锁定行级问题代码。以用户角度展示系统响应速度,以地域和浏览器维度统计用户使用情况。想阅读更多技术文章,请访问 OneAPM 官方博客

本文转自 OneAPM 官方博客

13 款惊艳的 Node.js 框架——第1部分的更多相关文章

  1. 13 款惊艳的 Node.js 框架——第2部分

    [编者按]本文作者为 Peter Wayner,主要介绍13款至精至简的 Node.js 框架,帮助你简化高速网站.丰富 API 以及实时应用的开发流程.本文系国内 ITOM 管理平台 OneAPM ...

  2. LoopBack – 开源的,可扩展的 Node.js 框架

    LoopBack 是建立在 Express 基础上的开源 Node.js 框架,专门为 Mobile,Web 和其他设备做了优化.LoopBack 能够连接到多个数据源,使用 Node.js 编写业务 ...

  3. Node.js 框架

    Node.js的是一个JavaScript平台,它允许你建立大型的Web应用程序.  Node.js的框架平台使用JavaScript作为它的脚本语言来构建可伸缩的应用. 当涉及到Web应用程序的开发 ...

  4. node.js框架express的安装

    node.js框架express的安装 首先假定你已经安装了 Node.js,接下来为你的应用创建一个目录,然后进入此目录并将其作为当前工作目录. $ mkdir myapp $ cd myapp 通 ...

  5. 不可错过的Node.js框架

    前言 Node.js是由Ryan Dahl于2009年创建的.它是一个开源的跨平台运行时环境,用于开发服务器端和网络应用程序,它是基于Google Chrome V8 JavaScript引擎构建的. ...

  6. 【转】node.js框架比较

    我偶然间看到这篇文章,转这个文章并没有什么含义,仅仅是感觉总结的不错,对于新学node的友友们来说希望这篇文章为大家对 Node.js 后端框架选型带来一些帮助,学习不再迷茫,也是让我有个保存,以后参 ...

  7. Node.js 框架对比之 Express VS Koa

    背景 上图是一个典型的采用 Node.js 开发 web 应用的前后端结构,下面介绍一下 Node 服务层在其中的作用以及使用 Node.js 的一些优劣. Node 服务层作用: 请求代理 传统做法 ...

  8. 初探 Node.js 框架:eggjs (环境搭配篇)

    eggjs 是一个优秀的 Node.js 框架 概述:为什么标题上说 eggjs 是一个优秀的 Node.js 框架(可跳过)? 换言之,我们为什么选择 eggjs 进行开发而不是之前初学时使用的 E ...

  9. [转]Node.js框架对比:Express/Koa/Hapi

    本文转自:https://www.cnblogs.com/souvenir/p/6039990.html 本文翻译自: https://www.airpair.com/node.js/posts/no ...

随机推荐

  1. TFS2018环境搭建一单实例安装(适用于小型团队)

    1.服务器配置 阿里云 单核CPU,2GB的RAM,SSD硬盘,安装TFS实例 TFS2018要求SQL Server 2016 (minimum SP1)以上.其要求有以下几点: (1).安装SQL ...

  2. Java8-用Lambda表达式给List集合排序

    Lambda用到了JDK8自带的一个函数式接口Comparator<T>. 准备一个Apple类 public class Apple { private int weight; priv ...

  3. Python学习--18 进程和线程

    线程是最小的执行单元,而进程由至少一个线程组成.如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间. 进程 fork调用 通过fork()系统调用,就可以生成一个子进程 ...

  4. linux解决病毒系列之一,删除十字符libudev.so病毒文件

    前两天被服务器商通知服务器带宽流量增加,我想了想我们服务走的内网,没有什么大的带宽占用,于是我马上登录服务器. 用top命令查看运行情况,我擦,有一个进程吃了很高的cup,于是我赶紧用kill -9 ...

  5. sql-DDL, DML 常用语句

    mysql的安装可见: http://www.cnblogs.com/wenbronk/p/6840484.html 很久不用mysql, 今天建表都不会了, , , 慢慢补充 sql语言分为3种: ...

  6. Tomcat学习总结(3)——Tomcat优化详细教程

    Tomcat是我们经常使用的 servlet容器之一,甚至很多线上产品都使用 Tomcat充当服务器.而且优化后的Tomcat性能提升显著,本文从以下几方面进行分析优化. 一.内存优化 默认情况下To ...

  7. openerp7 时区问题解决--改成本地时区

    由于目前openerp的时区,读取的是UTC时间,而我国本地时间比UTC快8小时 问题就导致,写入数据库的时候时间相差8小时,以及Openerp日志输出时间格式也相差8小时和前端显示问题 1.更改op ...

  8. SpringMVC源码阅读入门

    1.导入 Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就包含在Spring框架中.正式的名称“Spring Web MVC”来自于它的源模块(spring-w ...

  9. Redis-发布与订阅

    发布与订阅(pub/sub)的特点是订阅者负责订阅频道发送者负责向频道发送二进制字符串消息.每当有消息发送至给定频道时,频道的所有订阅者都会收到消息 (发布和订阅命令) SUBSCRIBE : SUB ...

  10. 动态加载JS函数

    一般性的,当我们需要加载js文件的时候都会使用script标签来实现,类似于如下代码: 代码如下: <script type="text/javascript" src=&q ...