Why Node
为什么用 Node 呢,而不是最喜欢的 Ruby。很简单,Rails 很好很强大,但没有公司愿意在自己公司里使用 Ruby,太小众,但 Node 就不一样,没有一家公司没有前端,前端都能写 JS,而且大前端的概念现在普遍被接受,Node 也就顺理成章进入了主流的公司。
除了上面的原因外,还有 Node 自己的特性,异步,单线程,代表着天然适合 Web 的 IO 编程模型和高性能低功耗。
自己在一些项目中也逐渐用 Node 代替了 RoR,一台普通的虚拟主机上,可以跑好多个 App。
相对于 Ruby on Rails,Node 在 Web 环境方面还是有着很多的缺陷,毕竟写 JS 的前端在架构方面还是有些不足。像 ORM,安全,构建等方面,都有着很多的缺陷。但这个时代已经变了,不再是 Web 2.0 时代,一个 Framework 要完成所有的功能,在这个 API 的时代,Node 显得恰恰好。
我的文库
以下都是个人在 node 方面积累下的文章:
入门集
语法篇
- Modern JavaScript - Symbol
- Modern JavaScript - Collection
- Modern JavaScript - Async Functions
- Modern JavaScript - Arrow Functions
- Modern JavaScript - Destructuring
- Modern JavaScript - Iterator (for…of)
- Modern JavaScript - Class
- Modern JavaScript - ES2015 Modules
- Modern JavaScript - Startup with Babel
高级篇
关于 Koa
现在的主项目中主要使用 Koa,关于 Koa:
如果你也想用 Koa 2 来做一个项目,那使用这个脚手架,将会是一件很轻松的事情:
Deploy
使用 node 的项目,如何自动化的发布呢?
Other
Node 介绍
node 版本小插曲,社区不满 node 的专权和傲慢,于是分裂出了 io.js,1.0, 2.0, 3.0,发展很迅速,但这样不利于长久发展,于是成立了 node 基金会,两家投票后进行了合并,新的 node 基于 io.js 发展而来,版本号从 4.0 开始。rc3 和 rc4 只隔 2 个小时哦~
Node 的更多介绍:
Suitable Applications
Singe-page apps
Real time
Crawlers
Evented I/O for V8 JavaScript.
What is V8? V8 is Google’s open source high-performance JavaScript engine, written in C++ and used in Google Chrome, the open source browser from Google. It implements ECMAScript as specified in ECMA-262, and runs on Windows XP or later, Mac OS X 10.5+, and Linux systems that use IA-32, ARM or MIPS processors. V8 can run standalone, or can be embedded into any C++ application.
- Event
- Async
- Non-Blocking
Node.js 进程中的几件事
ES 2015
- Stage 1:
- Stage 2:
- Stage 3: Candidate
- Stage 4: Finished
- ES2015 module detection in Node.js (June 2016)
Node 的官方讨论,是否支持 ES6 模块。目前有三种方案,引入一个新的后缀名 .mjs ,可能性最大。
https://github.com/martinheidegger/es6modules-nodejs
ES 2016
- 另一件就是 V8 支持 async 了。
V8 Feature Request: Support async/await functions
https://bugs.chromium.org/p/v8/issues/detail?id=4483
这两件事做完,就不需要使用 babel 来进行编译了。
Node 的一些好的库。
Build API with Mongo
www.youtube.com/watch?v=3AKaGShTHpo
http://mcavage.github.com/node-restify/
http://www.raymondcamden.com/index.cfm/2012/8/31/A-PhoneGap-Build-API-wrapper-in-Node
http://jollyscience.com/blog/2012/04/building-your-first-restful-api-with-node-js/
前端开发理论热点面对面:从怎么看,到怎么做?
http://www.slideshare.net/kejun/ss-9015786
Node.js:用 JavaScript 写服务器端程序-介绍并写个 MVC 框架
http://www.cnblogs.com/QLeelulu/archive/2011/01/28/nodejs_into_and_n2mvc.html
node.js 国内外资料集锦(2011.02.09 更新)
http://cnodejs.org/blog/?p=104
https://github.com/lyalls/koa-jwt-redis-session/blob/master/src/index.js