Riot.js:不足1KB的MVP客户端框架

2016-03-11 14:07 栏目:转载 浏览:1281 评论:0
  Riot.js是一款MVP(模型-视图-呈现)开源客户端框架,其最大的特点就是体积非常小,不足1KB,虽然体积小,但它可以帮助用户构建大规模的Web应用程序。
  Riot.js是由Moot公司开发,目前最新版本为v0.9.2,遵循MIT开源许可。

图片:20131109082011752651.JPG


  Riot.js包含的组件有:一件模板引擎、路由、事件库和一个严格的MVP模型,可以把所有的组件组织在一起。和其他框架相比,它速度更快、体积更小、功能更加强大。
  下面我们一起来看下Riot.js的几大特征。
  最小
  下面是目前几个比较流行的客户端JS框架,Riot.js是所有这些框架里体积最小的:

图片:20131109082011752651.JPG


  Riot.js之所以如此轻量,它主要注重于构建和维护应用的核心因素,目前,它主要依赖于jQuery,但在即将发布的v1.0中会有一个独立的版本,并且可以在Node.js上运行。
  应用程序代码更少
  下面是各个框架构建Todo MVC应用程序的代码量:

图片:20131109082011752651.JPG


  Raw amount of minified JS and HTML in Todo MVC
  代码量的多少要取决于很多因素,比如编码风格等,所以这并不是一个非常重要的指标。
  最快
  Riot.js配备了一个非常快速的JavaScript模板引擎,它的速度几乎是Resig“微模板”或Underscore模板的5倍。

图片:20131109082011752651.JPG


  Running a variable substitution x amount of times.
  MVP设计模式
  Riot.js使用Model-View-Presenter (MVP)设计模式来组织代码,这样它能够更加模块化、更具可测试性且易于理解。

图片:20131109082011752651.JPG


  就像MVC(Model View Controller)或MVVM(Model View ViewModel)设计模式,目的都是把应用程序的逻辑从视图中分离出来,但MVP更简单,让我们与MVC比较下:

图片:20131109082011752651.JPG


  MVC设计模式更加复杂,许多箭头围称一个圈。控制器角色不明确,该模式可以有很多种解释方式。事实上,这是导致该模式下有太多客户端框架的根本原因。
  相反,MVP则没有太多的解释空间,每个角色定位都很清楚,它可以应用在各种大小的项目上,并且也是单元测试的最佳模式。
  相关资料
  Riot.js官网:https://moot.it/riotjs
  托管地址:https://github.com/moot/riotjs
  详细介绍:https://moot.it/blog/technology/riotjs-the-1kb-mvp-framework.html
  国内镜像地址:https://code.csdn.net/OS_Mirror/riotjs
JavaScript

返回顶部