百度:Tangram
基本上就是个百度版jQuery,2.0版本使用链式API,更像了。
配套的还有UI库Magic和模版引擎BaiduTemplate(和ejs很像)
腾讯:JX
理念在介绍里面写的很详细,代码清晰,注释丰富,可读性很好,但只有文档没有实例。
比较传统的大块头框架,本质上来说还是一堆工具方法和对象的堆积,提供了很基本的模块化的开发方式,但没有模块间的依赖关系支持。
阿里:Arale
基于sea.js,提供基于CMD的较成熟的模块依赖管理和文件加载,同时提供包管理/打包工具spm。
提供基础模块如class, event, widget等等,也有常用工具模块和ui组件。解耦做的较好。比较注重开放和易用性,鼓励使用和开发第三方模块。
阿里以前有一个类YUI的KISSY,Arale则是采用了全新的架构思想。文档正在迅速完善中。
核心人物:@玉伯也叫射雕。
豆瓣:OzJS
和Arale有些类似,同样提供一个模块依赖管理的微内核,基于此来构建一套模块化的框架。兼容CMD, AMD和基本的闭包函数模块。
提供预处理/打包工具ozma,以及一系列常用模块,比如语言增强,事件系统,url解析,dom处理,动画等等。
前身是豆瓣开发阿尔法城的时候使用的框架,现在还在加强通用性的过程中,一些模块还在开发,文档也还不是很完整,但在解耦和开放性上做的不错。
核心人物:@dexteryy。
网易:NEJ
很大很全,功能很多,也提供打包工具,而且针对不同的浏览器内核进行了适配。 但不得不吐槽的是NEJ是国内这些开源框架里最不友好的一个,因为它太过强调“约定优于配置”,对使用者施加了太多的约束。一旦使用NEJ,你就必须跟着它所规定的一切来。作为一个公司内部的项目,对代码风格规范有严格的要求,无可指摘,但作为一个开源项目,这就成为了一个巨大的劣势,因为学习曲线陡峭,采用成本高昂,一旦使用就被套牢在这个系统里,我很难想象会有其他公司采用NEJ来做项目。用的人少了,社区贡献也就少了,而这开源的意义也就仅限于让人参考而已。从某种程度上来说,NEJ看似开源,却是一个封闭的系统,和Arale形成鲜明反差。
在STK这个namespace下定义了reigister方法用来添加新的模块,但每个模块基本上就是一个闭包函数,没有依赖关系支持。和腾讯的JX相似,但更简单。
从源码可知用了Sizzle作为CSS选择器引擎,Mustache作为模版渲染引擎。有一个似乎是自家开发的CMD包依赖管理系统。整体的代码风格略显杂乱。
个人观点,欢迎补充指正。
“约定优于配置”是很好的做法,“优于”,并不是不允许配置,在sea.js等很多框架中都有所体现。特此说明,防止误解。