设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 开源资讯 查看内容

JavaScript框架的开发现状和生态环境

2013-10-31 09:15| 发布者: joejoe0332| 查看: 10754| 评论: 0|原作者: 崔康|来自: infoQ

摘要:   资深的前端专家Dave Gruber最近对十个热门的Javascript框架的发展现状做了深入的分析,包括Angular、Backbone、Ember等,分析的方面包括贡献者数量、生态环境、社区规模等等。   Dave在统计报告一开始,先阐述 ...

  资深的前端专家Dave Gruber最近对十个热门的Javascript框架的发展现状做了深入的分析,包括Angular、Backbone、Ember等,分析的方面包括贡献者数量、生态环境、社区规模等等。


  Dave在统计报告一开始,先阐述了做调查分析的背景:在过去的几年中,我们已经看到了UX库和框架的大量增长,而且其中的大部分都是开源的。有很 多文章比较了这些框架的用途、方法以及完整性等方面的不同,但却常常忽视了围绕着这些开源项目的社区和生态系统的规模、强度和走势等度量标准。而这些统计 信息应该在您的选择中起到关键性的作用。


今年的早些时候,我有机会对自2012年开始增长最快的开源项目做一个分析,并且我被名单列表中的JacaScript项目的数量震惊了。这使得我 对特定的、专注于帮助开发者建立丰富、可扩展的用户界面的JavaScript 库/框架的项目做了更加深入的了解。我的分析用到了开源社区Ohloh.net中的元数据和GitHub中的集成数据,包括评星的数目(用来帮助用户追踪 他们觉得有趣的资料库)以及个别项目吸引到的追随者的数量。


  这次分析涵盖了UI库、框架和包括服务器端运行时的全套框架,挖掘到了前十名开源项目的社区。Dave分析的项目都是时下最热门的UI项目,包括 AngularJS, Ember.js, SproutCore, Backbone.JS, Knockout.js, Spine, CanJS, Meteor-JS, Derby, 和Yahoo Mojito。


我的目标是描绘出这些项目的周边社区的状态,并着重找出规模和增长速度,并且努力将这些数据与个别项目的普及度和成功与否相关联。同时在假设生态系统会进一步反映一个项目的普及程度和成功与否的同时,关注各个项目周围的的生态系统。


  探索一个项目每月贡献的数量和增长量能够观察出项目的走势并且可以凸显项目捕捉业界广泛兴趣的重要临界点。Dave统计了项目的每月贡献的参与,也 表明了在某个给定月份中贡献代码的开发者数量。从结果上看,SproutCore是每月贡献参与量的早期领先者。然而当2011年12月 SproutCore fork并创建了Ember项目后,许多团队中的开发者跟着一起变动,并跳槽到了Ember项目中。现在,Ember和Angular JS一起,已经在2013年的月代码贡献量上表现出了显著的增长,并从社区整体的增长角度来看成为了新兴的领先者。同时我们注意到,今年春天,在 AngularJS和Ember加速增长的同时,Backbone和Meteor的活跃贡献量在显著下降。


  除此之外,Dave认为,观察项目整个发展历程中的全时(all time)贡献者数量可以帮助我们理解一些不同的观点。一方面,它往往反映出一个项目的管理风格。很多项目由一小组人进行严格的管理,而其它一些项目则完 全开放从而接受广泛和多元化的贡献。全时贡献者的数量也可以帮助我们理解项目在任何一个时间段中的相对发展趋势。大规模、制度完善的项目常常拥有较多数量 的贡献者,来帮助修补漏洞、撰写说明文档以及其它相关任务。贡献者的总数往往和代码库的总体规模有关。当结合其它社区指标时,比如代码行数、总提交量和月 提交量时,这一数据最有价值。


从结果上看,Angular JS和Ember展现出最大的社区,从而反映出它们近一段时间以来的每月贡献增长量。


  除了当前的贡献者数量,项目社区的力量也体现在项目生态系统的建立与扩展之上。这就意味着我们不能完全单独依靠项目社区的核心指标来知道一个项目发 展走势的全部内容。更加广阔的观察生态系统才能进一步描述出某个项目整体的成功。开源项目的鲁棒性可以通过与之相关的周边项目数量来衡量。在这方 面,Backbone.js和AngularJS很明显是赢家。


值得注意的是,Backbone拥有可观的生态系统,显示了它在业界整体的发展趋势和使用量。为了进一步的验证Backbone的生态系统,我在 Github上对搜索进行过滤,只保留了评星大于等于三星以及和Backbone相关的内容,并且得到了1627个项目的搜索结果。将此结果与 AngularJS的三星之上的794个项目相比,可以知道Backbone的生态系统规模仍然是AngulatJS的两倍。


  由于全套(full stacj)解决方案的审查角度和其他项目有区别,Dave对这类项目的增长进行了单独的观察。全套解决方案中既包括客户端框架也包括服务器端框架,可以假设,解决方案涉及到的代码量越多,随着时间推移参与其中的技术人员数量也就更多。


Meteor和Mojito似乎吸引了更强的社区,至少从贡献者的数量上衡量起来是这样的。


  Dave发现,将时间投入到用JavaScript创建结构化方法的开发人员数量正在快速增长,反映出了UI框架在应用程序开发中的重要地位,并且 不同规模的企业对于不同用例方案支持方法的需求也在持续增长。从今年一月份开始,代码贡献量出现了显著的增长,这很可能是受到了AngularJS和 Ember团队的推动而导致的结果。



酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部