温温酱
NodeJS定义一个Javascript运行环境(runtime),基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。作用Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。特点事件驱动;非阻塞I/O;轻量、可伸缩,适于实时数据交互应用;单进程,单线程;NodeJS的优缺点优点高并发(最重要的优点);适合I/O密集型应用;缺点不适合CPU密集型应用;CPU密集型应用给Node带来的挑战主要是:由于JavaScript单线程的原因,如果有长时间运行的计算(比如大循环),将会导致CPU时间片不能释放,使得后续I/O无法发起;Backbone.js定义为复杂Javascript应用程序提供模型(models)、集合(collections)、视图(views)的结构。作用适合的应用场景是单页面应用,并且页面上有大量数据模型,模型之间需要进行复杂的信息沟通。Backbone 在这种场景下,能很好的实现模块间松耦合和事件驱动。 主要组成model:创建数据,进行数据验证,销毁或者保存到服务器上;collection:可以增加元素,删除元素,获取长度,排序,比较等一系列工具方法,说白了就是一个保存 models的集合类;view:绑定html模板,绑定界面元素的事件,初始的渲染,模型值改变后的重新渲染和界面元素的销毁等;Backbone.js优缺点优点将数据和界面很好的分离开来;将事件的绑定很好的剥离出来,便于管理和迭代;使得Javascript程序的模块化更加清晰、明了;缺点Model 层比较简单,如果要支持 One-To-One 或者 One-To-Many 等复杂数据关系时有些力不从心;Model 只能属于一个 Collection 这个设计,页面复杂的时候会很受局限;View 层没有很强的 Page 管理机制;