为了账号安全,请及时绑定邮箱和手机立即绑定

Node.js和Backbone.js在应用场景上有什么区别

Node.js和Backbone.js在应用场景上有什么区别

波斯汪 2018-12-31 09:00:31
Node.js和Backbone.js在应用场景上有什么区别
查看完整描述

1 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

  • NodeJS

  1. 定义

    一个Javascript运行环境(runtime),基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。

  2. 作用

    Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

  3. 特点

    事件驱动;

    非阻塞I/O;

    轻量、可伸缩,适于实时数据交互应用;

    单进程,单线程;

  • NodeJS的优缺点

  1. 优点

    高并发(最重要的优点);

    适合I/O密集型应用;

  2. 缺点

    不适合CPU密集型应用;

    CPU密集型应用给Node带来的挑战主要是:由于JavaScript单线程的原因,如果有长时间运行的计算(比如大循环),将会导致CPU时间片不能释放,使得后续I/O无法发起;

  • Backbone.js

  1. 定义

    为复杂Javascript应用程序提供模型(models)、集合(collections)、视图(views)的结构。

  2. 作用

    适合的应用场景是单页面应用,并且页面上有大量数据模型,模型之间需要进行复杂的信息沟通。Backbone 在这种场景下,能很好的实现模块间松耦合和事件驱动。 

  3. 主要组成

    model:创建数据,进行数据验证,销毁或者保存到服务器上;

    collection:可以增加元素,删除元素,获取长度,排序,比较等一系列工具方法,说白了就是一个保存 models的集合类;

    view:绑定html模板,绑定界面元素的事件,初始的渲染,模型值改变后的重新渲染和界面元素的销毁等;

  • Backbone.js优缺点

  1. 优点

    将数据和界面很好的分离开来;

    将事件的绑定很好的剥离出来,便于管理和迭代;

    使得Javascript程序的模块化更加清晰、明了;

  2. 缺点

    Model 层比较简单,如果要支持 One-To-One 或者 One-To-Many 等复杂数据关系时有些力不从心;

    Model 只能属于一个 Collection 这个设计,页面复杂的时候会很受局限;

    View 层没有很强的 Page 管理机制;



查看完整回答
反对 回复 2019-01-07
  • 1 回答
  • 0 关注
  • 547 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信