微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bingojs2 MV分离引擎

程序名称:bingojs2

授权协议: Apache

操作系统: 跨平台

开发语言: JavaScript

bingojs2 介绍

  • bingoJS 2版本只专心做MV分离引擎,提供MV分离所需的模板、JS、加载和服务提供机制;

  • 可以认为所有东西由指令组装而成,由于指令化比组件化控制的粒度要小,所以可以很简单模拟出面向组件化或面向功能业务来开发。

  • 简单:可当一个artTemplate之类模板来使用

  • 强大:使用view和controller+route系统,可以支持强大的前端系统

1、新的模板语法
  • 更为强大和易用,如果有用过腾讯artTemplate之类模板,基本会用了;可以简单理解为类似的模板语法基础上增加了绑定特性:

2、完全虚拟化
  • 完全虚拟化与dom操作隔离
3、layout(布局)
  • layout就是将编译结果回写到dom树的时机, 它会在适合的时机回写(异步),可以让浏览器渲染顺畅很多,并占用cpu明显少很多( demo )
4、全新的观察方式
  • 使用setter和getter方式,重新实现观察方式,并可以在复杂的表达式里做到只绑定相关的变量,几乎可以不使用update之类的方法与view手动同步数据

5、Promise(承诺)
  • 遵从Promise A+规范

  • 全程使用Promise控制异步编译

  • 在定义指令或合适的地方返回Promise控制编译效率

6、自由组装的指令(command)
  • 以自由组装为理念, 更为强大易用,使用指令可以组装任何想要的场景:

7、view 与 controller
  • 为了简化学习成本, 可以简单理解为所有业务(如一个列表管理页面)或定义一个指令,都对应一个模板(view)和一份JS(controller,处理view显示逻辑)
8、更明确的App
  • 一个app可以认为一个项目或一个产品工程,作用在于更明确的管理项目和方便日后项目的合并与拆分;

9、自动识别动态加载service

10、更强大和精准的route
  • route管理以下配置:

  • 资源资源存放位置

  • 模块名称,如定义app.controller(‘user/list’…,这里的模块名称“user/list”

  • 加载方式,如, 可以配置成ajax,url,websocket等方式加载资源

  • 总的来说,route是管理工程的资源结构、规划模块和加载方式

11、其它
  • 兼容IE9及以上的浏览器

  • 核基于原生方法,不依赖任何框架

bingojs2 官网

http://git.oschina.net/bingoJS/bingoJS2

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐