1 回答
TA贡献1752条经验 获得超4个赞
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 管理机制;
- 1 回答
- 0 关注
- 547 浏览
添加回答
举报