Riot.js是一款MVP(模型-视图-呈现)开源客户端框架,其最大的特点就是体积非常小,不足1KB,虽然体积小,但它可以帮助用户构建大规模的Web应用程序。
Riot.js是由Moot公司开发,目前最新版本为v0.9.2,遵循MIT开源许可。
Riot.js包含的组件有:一件模板引擎、路由、事件库和一个严格的MVP模型,可以把所有的组件组织在一起。和其他框架相比,它速度更快、体积更小、功能更加强大。
下面我们一起来看下Riot.js的几大特征。
最小
下面是目前几个比较流行的客户端JS框架,Riot.js是所有这些框架里体积最小的:
Riot.js之所以如此轻量,它主要注重于构建和维护应用的核心因素,目前,它主要依赖于jQuery,但在即将发布的v1.0中会有一个独立的版本,并且可以在Node.js上运行。
应用程序代码更少
下面是各个框架构建Todo MVC应用程序的代码量:
Raw amount of minified JS and HTML in Todo MVC
代码量的多少要取决于很多因素,比如编码风格等,所以这并不是一个非常重要的指标。
最快
Riot.js配备了一个非常快速的JavaScript模板引擎,它的速度几乎是Resig“微模板”或Underscore模板的5倍。
Running a variable substitution x amount of times.
MVP设计模式
Riot.js使用Model-View-Presenter (MVP)设计模式来组织代码,这样它能够更加模块化、更具可测试性且易于理解。
就像MVC(Model View Controller)或MVVM(Model View ViewModel)设计模式,目的都是把应用程序的逻辑从视图中分离出来,但MVP更简单,让我们与MVC比较下:
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
本文为CSDN编译整理,未经允许不得转载,如需转载请联系market#csdn.net(#换成@)