技术社区的力量在用户选择JavaScript框架时发挥着至关重要的作用。在今天的文章中,我们将一同了解支撑AngularJS、Backbone.JS以及Ember.JS等项目的背后推手。 想要弄清楚到底哪种JavaScript UI框架能够切实满足项目及组织的实际需求?面对十大人气方案,我们还有很多需要认真考虑的因素。 在过去几年里,我们亲眼目睹了UX库及框架的迅猛发展——其中大部分属于开源技术成果。目前市场上存在大量用于比较各类框架完整性的方法,但人们往往忽视了几大至关重要的决定性因素——这些开源项目背后的技术社区与生态系统。技术社区与生态系统的规模、实力与发展走势将最终决定开源项目的未来命运。总而言之,这些统计结果应该成为指导决策的关键性依据。 今年早些时候,我曾经有幸参与了一次调查,其主题为“2012年以来发展势头最迅猛的开源项目”。最终的排行结果令我震惊,榜单上几乎挤满了各类JavaScript项目。这激发了我的好奇心,因此我决定深入了解特定JavaScript库/框架项目,看看这些专注于帮助开发人员创建出丰富且高扩展性用户界面的项目到底为何拥有如此广阔的发展空间。我在分析中使用的开源社区元数据来自Ohloh.net以及GitHub,其中包括各项目的星级评分(用于帮助用户及时掌握感兴趣的资源库的最新动态)以及个别项目所吸引到的拥护者人数。 哪些项目榜上有名 在本次调查分析中,我关注的主要是十大开源项目背后的技术社区。顺带一提,这十大开源项目涵盖了UI库、框架以及包括服务器端运行时间在内的全堆栈框架。此次分析的对象全部为当下的热门UI项目,例如AngularJS、Ember.JS、SproutCore、Backbone.JS、Knockout.js、Spine、CanJS、Meteor-JS、Derby以及Yahoo Mojito。 我的目标是描绘出一幅关于各项目相关技术社区的发展图谱,尤其是在规模与发展速度方面,并将此与个别项目的普及范围及成功程度加以比照。当然,我还在密切关注各个项目所对应的生态系统,希望找到生态系统状况与项目普及范围及成功程度之间的联系。 每月贡献者数量 探寻各个项目每月贡献者的具体数量及增长幅度有助于了解该项目的发展态势,并足以了解业务对该项目的关注程度外加关键性发展临界点。下面的图表中囊括了十大项目的每月贡献者参与情况,数字代表的是各个月份提交代码的贡献者数量。 每月项目贡献者:Ember项目的代码贡献者数量如火箭般节节攀升。细心的朋友可能已经注意到,贡献者爆炸式增长的历史转折点出现在2011年12月,当时该项目刚刚脱离SproutCore并独立出来。谷歌的AngularJS的贡献者数量同样走势喜人。 如大家所见,SproutCore曾经在发展初期领跑每月贡献者数量榜。然而随着2011年12月SproutCore的分裂与Ember的诞生,技术团队中的大部分开发人员都选择了Ember作为自己的新起点。如今Ember与AngularJS一道成为2013年中贡献者数量最多的项目,且二者在全局技术社区的发展态势方面同样表现优异。需要注意的是,今年春季Backbone与Meteor的每月贡献者数量出现显著下滑,而此时正是AngularJS与Ember极速上升的时段。 |