说服老板
使用节点的原因列表:
- 速度。V8很快。它比python更快,比php更快。
- 事件IO。IO正确完成。不用搞乱线程,一切都很好并且很容易。
- 低级Web服务器。对动态语言中的抽象的良好控制。
- Javascript。一种很棒的语言,具有许多开发人员在编写异步代码方面的经验。开发速度很快,维护也很方便,因为一切都可以用一种语言完成(客户端,服务器端,数据库访问)。
可与node.js一起使用的库和工具:
- express.js:MVC Web框架。非常轻巧。给您路由和视图。在connect.js之上构建。开箱即用,支持多个CSS和模板引擎,可灵活控制视图和路由。与node.js本身一样,它非常简单,可以为您的Web服务器提供精细的控制。我个人在权利的控制与抽象之间找到平衡。
- socket.io:实际的websocket抽象。内置了许多优雅的降级支持,因此没有websocket的浏览器使用彗星技术或Flash Bridge。使您可以轻松,轻松,实时地在客户端和服务器之间进行对话。
- now.js:建立在socket.io之上,并为您提供跨客户端和服务器的同步名称空间。允许您从客户端轻松调用服务器方法,反之亦然。
所有这些库都基于以下事实:node.js允许您以低级方式处理所有内容,并且与客户端的通信流畅流畅,因为您在任一端都使用相同的语言。
对我来说,卖点是,我在客户端和服务器上都拥有相同的MVC库ribs.js。我所有的模型代码都被重复使用。客户端和服务器上的模型通过now.js轻松同步。
我的数据库访问由全部用Javascript编写的cradle(或mongoose)驱动。实际上,我的MVC直接关联到数据库,并无缝保存我的模型。这些模型定义了有用的方法,例如
save和
fetch做持久性数据库存储。我不手动触摸数据库,因为我的MVC允许我插入数据库驱动程序来为我执行此操作。
我的模板的呈现是通过EJS完成的,我的视图在客户端和服务器之间共享。只是有大量的代码重用,并且我的整个Web开发都是使用Javascript完成的,这意味着我不必切换我的编码范例或样式。
确定服务器上的内容和客户端上的内容之间的灰色区域也无须费力,因为该灰色区域已被完全平滑并且客户端和服务器无缝集成。
如果您要编写一个复杂的动态ajax
Web应用程序,那么node.js是一个理想的选择。如果您要拥有一个静态网站,那么node.js是一个理想的选择(您可以在20分钟内完成设置)。
如果您要编写服务器繁重的网站,而客户端功能和回发很少,那么最好使用php或ASP.NET。但是,如果这样做,您应该研究更多动态客户端功能并使用ajax。



