在浏览器以外运转 JavaScript 关于 JavaScript 爱好者来说十分奇特,一起也肯定是 web 运用程序开发界最受欢迎的前进之一。全球各地的开发者打开双臂拥抱 NodeJS。
关于新手来说,Node.js 是 JavaScript 运转时,答应你在浏览器之外服务器上运转 JavaScript 代码。它是依据谷歌 Chrome 的 V8 虚拟机引擎树立的,V8 虚拟机引擎用于在 Chrome 浏览器中支撑 JavaScript。
NodeJS 逐步遍及的脚步是因为它能够让你只运用 JavaScript 就能够树立大规划、实时性、可扩展的移动和 Web 运用程序。
跟着节点生态系统的添加,结构也开端着手加速作业流程。有许多的 Node.js 结构,答应你构建实时的端到端网络运用,而无需任何其他第三方 Web 服务器、运用服务器、东西和技能。
而另一方面,像 Mean.io,Meteor, Derby 和 Mojito,有自己的规范结构和技能系统,灵敏性较差。可是这些结构不会给开发者太多做过错决议计划的空间。
让我们来看看现在可用的最好、最健壮的 NodeJS 结构,并协助你树立实时的、各种规划和杂乱性的可扩展 Web 运用程序 -
1. Node.js Express
关于一个现已在运用 node.js 的开发人员来说,Express 或许"node.js express"并不是一个新鲜事。Express 结构供给了对 node.js 原生 API 的比较好的封装,然后使开发者愈加简略地运用node.js。
Express 结构供给了用来开发健壮的 web/移动运用,以及 API 的全部功用。并且开发人员还能够方便地为它开发插件和扩展,然后添加 Express 的才能。下面列出了一些 Express 供给的底子的功用:
- 能够和任何的第三方数据库进行通讯
- 能够运用任何的用户认证方法
- 能够依照需求界说工程目录
关于一个 NodeJS 开发新手来说,Express 还供给了如下的优点:1)Express的学习曲线并不峻峭,能够很快上手;2)Express 有十分巨大的社区,和安排杰出的文档,新手能够很简略得到所需求的全部。
Express 依据 MIT 协议进行开源,现在 StrongLoop 对它供给支撑。
2.
Sail.js
(node.js mvc)
Sail 作为一个十分安定的 nodejs 结构,供给了树立任何规划的 web 运用所需求的全部功用功用。
Sail.js 在底层运用了 express结构来供给对 http 恳求的处理,一起运用 Socket.IO 结构来处理WebSocket 恳求。一起作为一个前端运用开发结构,它答应开发人员挑选他/她了解的技能来开发运用。
一起 Sail.js 也经过 waterline 结构完成了 ORM 功用。经过这个功用,你的运用程序能够在不进行大的修正的前提下,就能够从一个后端数据库,切换到别的一个后端数据库(也能够是一个NoSQL数据库)。
Sail 特别合适用来开发对数据的实时更新有较高要求的运用,比方多人棋类游戏,单页web运用等等。假如你对 Ruby, Django 或许 Zend 有必定的了解,那么你将十分简略了解Sail中的概念。
简略来说,Sail.js 既给开发者供给了一个优异的 MVC 结构,也供给了必定的灵敏性,让开发者能够自主挑选前端开发方法和后端的数据库。 Sail.js 是由 Mike McNeil 创立的,现在由 Treeline and balderdash 供给支撑。Sail.js 在 MIT 协议下开源。
3.
KOA
KOA 是 node.js mvc 结构的后起之秀,在2013第四个季度才发布了第一个版别。开发 KOA 的人员底子来自 Express 开发团队,TJ Holowaychuk 是 KOA 开发团队的领导者。尽管 KOA 大部分开发人员来自 Express,可是他们运用了彻底不同的技能来开发 KOA,并且 KOA 正成为 Express 一个强有力的竞争对手。
KOA 结构的中心是 ES6 的 generator。KOA 运用 generator 来完成中间件的流程操控,运用try/catch 来增强反常处理,一起在 KOA 结构中你再也看不到杂乱的 callback 回调了。
KOA 结构自身十分小,只打包了一些必要的功用,可是它自身经过杰出的模块化安排,让开发人员能够依照自己的主意来完成一个扩展性十分好的运用。
4. Meteor
Meteor 结构是 Node.js 上最出色的全栈结构。项目在 GitHub 上有 28K+ 的赞,具有许多的自界说包,巨大的社区支撑,十分好的教程和文档。在这个范畴 Meteor 毫无疑问是王者,你能够用它构建纯 Javascript 的实时 Web 和 手机运用。
Meteor 最优异的部分是,无论是服务器端的数据库拜访,商业逻辑完成,仍是客户端的展现,全部的流程都是无缝衔接,开箱即用。整个结构运用一致的 API,Meteor API 一起适用于客户端和服务器端。
它运用的 DDP 协议能够让你在后端衔接简略的数据库服务、企业数据仓库、乃至 IOT 传感器。Meteor 带有自己默许的栈,但又有满足的灵敏性,能够让你挑选自己的技能计划。假如你不需求测验其他的结构或许没有其他的条件约束,你能够直接运用默许装备,进行快速地运用开发。
Meteor 具有专业化的开发团队,尖端风投的许多资金支撑,这都让 Meteor 能够时刻坚持业界抢先。
你能够经过 meteor.com 网站进一步了解 Meteor。
5. Derby.js
Derby.JS 跟它的直接竞争对手 Meteor、Mean.io、以及 Mojito 相同,也是一个全栈结构。它运转在 Nodejs + mongo + Redis 的上层。Derby 首要部分是一个叫做 Racer 的数据同步引擎,它能够让数据在数据库、服务器和浏览器之间的同步变得垂手可得。
而 Derby 更合适于需求更快运转速度的运用,并且它的模块化方法能够让运用更灵敏,更简略扩展。Derby 最近的开展有些缓慢,但它并没有出局,仍有改写 Nodejs 全栈结构游戏规则的潜力。
你能够经过 derbyjs.com 网站进一步了解 Derby。
6. Flatiron.js (Node.js MVC 结构)
Flatiron 结构背面的中心思维是让你能运用它所供给的组件以及一些第三方库构建你自己的全栈结构。很帅不是吗?我个人十分的喜爱这种方法。可是,这带来的是更高的杂乱度,并有或许会被运用过错组件的开发者搞得一团糟。
你能称之为一个由多个彼此独立的组件松散地组成起来的全栈 MVC 结构。
Flatiron 结构支撑Director,一个从头到脚都运用JavaScript 建立起来的,并不需求任何依靠项的 URL 路由组件。
7. Hapi
Hapi 是为数不多的不依靠于 Express 的 node.js 结构,现在乃至现已彻底独立于 Express 了。在最近一段时刻中,许多开发者挑选了 Hapi 而非 Express,这使得它或多或少变为了 Express 的竞争对手。
迪士尼、yahoo、Pebble、beats 音乐以及 Walmart 这样的公司都在运用 HAPI 作为他们旗下一个或多个项目的网络运用结构,它的影响力便可见一斑了。
8. Mean.IO
Mean 是 Mongo DB,Express,Angular 和 Node.js 绑缚在一起的组合。底子上说只需有它,你就具有了数据库层,服务器端和网页前端的整套东西,足以开发全部类型的现代网络运用。
Mean 是一个完好独立的包,它涵盖了运用开发的全部方面。特别合适于那些需求快速开端开发的人。它内置多种技能并且在联合运用时变现十分好。能够用于创立恣意巨细和杂乱度的运用。
运用 Mean,开发者能够防止阅历混合和匹配不同的技能栈。经过 mean 栈,你能够削减装置和装备MongoDB,Express,Angular 和 Node.js需求的时刻。Mean.io 的另一个巨大优点便是全部的栈都运用 JavaScript,服务器端 Express 对MongoDB 的拜访(json)和通多 Angular 从 Node 到客户端。
还有一个名为 mean.js 的 mean 分支也适当盛行。
9. Mojito
Mojito 由 Yahoo 开发并敏捷取得成功。可是很快又带着关于结构的空前的成功坐到了冷板凳,就像Meteor 和 Mean stack 那样。
Mojito 相同是一个 MVC 运用结构,十分合适于创立运用 HTML5,JavaScript 和 CSS3 的高性能的网络和手机运用。Mojito 的底子方针是供给一个结构,该结构用于构建规范的依据跨渠道的运用。使之能够一起运转在客户端和服务器端,并完成高性能。
10. Socket Stream
SocketStream 是一个风趣的结构,专心于客户端和服务端数据的快速同步,它致力于前后端数据的实时更新。
它最大的特点是不严格要求你运用指定的客户端技能,也不限定数据库的 ORM。我趋向于将它和有相同功用的兄弟项目 Sail.js 做比较,它更合适做单页 web 运用,多用户游戏,谈天客户端,网络运用,交易渠道以及全部的需求将数据从服务端实时推送到客户端的运用。
服务端和客户端运用 JSON 来传输数据,比较抱负的是运用 websockets 在服务端事情产生时主动将数据推送到客户端,Socket stream 是由 Owen Barnes 创立,现在由 Paul Jensen 和团队保护,他们的作业让这个结构得到了应有的荣耀。
SocketStream framework 在最近几月获得了很好的开展,未来一片光亮。
其它相似优异结构还有:total.js, Geddy.JS, Locomotive, compound 和 Restify。
定论
结构供给了多样的特性,作业在不同的底层,企图处理构建实时的常见问题,并处理了可弹性的和杂乱的 Web 运用程序在速度上的问题。在这篇文章里评论的结构是当今市场上最好的 node.js 结构。
-
来自:开源我国
-
↙点击“
”,参加
『程序员大咖』