Skip to content

Instantly share code, notes, and snippets.

@lxj
Forked from yyx990803/frameworks.md
Last active June 14, 2020 08:08
Show Gist options
  • Select an option

  • Save lxj/4222955 to your computer and use it in GitHub Desktop.

Select an option

Save lxj/4222955 to your computer and use it in GitHub Desktop.
国内互联网公司的前端框架简介

百度: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(未开源)

在STK这个namespace下定义了reigister方法用来添加新的模块,但每个模块基本上就是一个闭包函数,没有依赖关系支持。和腾讯的JX相似,但更简单。

人人:XN(未开源)

从源码可知用了Sizzle作为CSS选择器引擎,Mustache作为模版渲染引擎。有一个似乎是自家开发的CMD包依赖管理系统。整体的代码风格略显杂乱。


个人观点,欢迎补充指正。

@fundon
Copy link
Copy Markdown

fundon commented Jun 25, 2013

阿里 豆瓣 社区相对好些 更新迭代快

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment