Git@OSC 项目推荐 —— bingoJS 前端框架,文档巨详细

红薯
 红薯
发布于 2015年06月05日
收藏 136

大家经常吐槽国内很多开源项目文档非常简陋,不少项目的确如此,包括我自己的项目,有时候就是给自己很多借口,懒得去完善文档。

但是今天在 Git@OSC 上看到 bingoJS 这个项目,着实让我非常感动,项目地址:http://git.oschina.net/bingoJS/bingoJS,其文档 http://bingojs.mydoc.io/  之详细程度让人震撼!(注:mydoc 是 Team@OSC 提供的在线文档托管服务)

bingoJS是一个前端MV*开发框架,可能还不算一套完整的框架要做的事。但还会不但完善,引入前端框架所需基础要素,目前已经支持模块化开发、按需动态加载、完善的双向绑定、依赖注入等;让你在开发只关注业务代码的实现。

框架提供前端MV和前端MVC两种开发方式,可以实现轻APP和重APP前端搭建。在轻业务的场景里我们可以使用前端MV实现html和JS分离开 发,这样让APP管理会变更清晰更简单;而在重业务的场景里我们需要更进一步细分和规划代码,这时就要使用前端MVC方式开发了,还可能要用到 service对数据与业务进一步分离。总之前端MV*只是一个代码组织和规划方式,能让以后代码管理(迭代,重构)方便

MV开发模式大概分工:

  • M层:数据业务层,主要负责与后端数据互交, 提供常用方法,处理常用数据(过滤,组装)业务逻辑,这里只需要用到action;

  • V层:主要处理html以双向绑定语法,跟action数据连接

MVC开发模式大概分工:

  • M层:数据业务层,主要负责与后端数据互交, 提供常用方法,处理常用数据(过滤,组装)业务逻辑;

  • C层:控制器, 主要管理action跟V层一一对应, 根据V层显示处理相应的数据

  • V层:主要处理html以双向绑定语法,跟C层的action数据连接

MVC关系

3、双向绑定(数据绑定)

如果MVC是一种开发模式,可以对开发规范和思维的统一,对前端工程交付变得更容易。那双向绑定就是一种手段,可以让html与JS分离开来,而不 用直接操作dom层,让JS专心处理业务代码(组装显示业务数据)。总之双向绑定只是一种手段,直接操作DOM也是一种手段,在合适场景使用合适手段。

4、按需加载

  • 在这里,框架是认为前端资源与后端代码是可以完全分离,即restful+前端

  • 首先统一前端开发动态加载的资源是什么,本框架指js文件和view模板资源(css有些人认为是,但它动态加载严重影响体验)

  • 框架所有动态加载资源都是通过route(路由)进行前端资源url design

  • 载模块提供一种最单纯加载机制,就是只负责加载(route转发后的地址加载资源), 因此是兼容所有现有的JS库,如果要合并打包也就最低限度设置即可。

5、兼容性

在JS方面可以说完全兼容到IE6;在dom管理方除了核心编译部分用了原生外,其它都几乎依赖jQuery写的,所以取决于jQuery版本的兼容;

请前往 http://git.oschina.net/bingoJS/bingoJS 获取项目源码,前往 http://bingojs.mydoc.io/ 浏览项目文档。

为作者 @front-Y 点个赞!

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Git@OSC 项目推荐 —— bingoJS 前端框架,文档巨详细
加载中

最新评论(35

kiduc
kiduc

引用来自“FutureElement”的评论

和AngularJS的思路很像

引用来自“front-Y”的评论

的确,我在注入思路上是参考了AngularJS, 其实绑定和模块很多类似框架都已经有了。起码我自己用了三年的前代框架,都已经用有这些功能,还包括动态引用,这个版本,只对之前三年进一步总结和细分而已。
这个是不是指令不兼容ie8以下?
kiduc
kiduc
1代码是完全为业务考虑的。
2要是能在出个ui库兼容ie6就无敌了。
3还有记得用下bower。
FutureElement
FutureElement

引用来自“FutureElement”的评论

和AngularJS的思路很像

引用来自“front-Y”的评论

的确,我在注入思路上是参考了AngularJS, 其实绑定和模块很多类似框架都已经有了。起码我自己用了三年的前代框架,都已经用有这些功能,还包括动态引用,这个版本,只对之前三年进一步总结和细分而已。
牛,技术自主才是好的,可控性强
f
front-Y

引用来自“FutureElement”的评论

和AngularJS的思路很像
的确,我在注入思路上是参考了AngularJS, 其实绑定和模块很多类似框架都已经有了。起码我自己用了三年的前代框架,都已经用有这些功能,还包括动态引用,这个版本,只对之前三年进一步总结和细分而已。
FutureElement
FutureElement
和AngularJS的思路很像
D
Days2015

引用来自“冰的斌”的评论

shanzhai of angularjs
你这样说就不对了,如果这样angularjs也shanzhai了很多其他开源框架了,其实开源就是不断的累积和进化了,angularjs还是太注重绑定那块和一些概念上了,有点让人犯晕,在动态载JS还得靠AMD或CMD,貌似这个在这方面考虑得不错,看了一下它的demo,动态加载结合route,让开发思想清楚多了,这点还是不错的
暗夜在火星
暗夜在火星
优质的开源框架值得支持
无锡首席大都督程序员

引用来自“杨金焕”的评论

前端开发,是简单了 还是复杂了?
感觉是越来越复杂了,这么多mvxxx,最好出一个一统天下的,我有选择恐惧症,目前裸体
游而不击
游而不击
shanzhai of angularjs
清风_
清风_
特别推荐
返回顶部
顶部