当前位置: 首页 > 科技观察

不容错过的十大热门JavaScript框架项目

时间:2023-03-15 15:24:52 科技观察

技术社区的实力对用户选择JavaScript框架起着至关重要的作用。在今天的文章中,我们将了解AngularJS、Backbone.JS和Ember.JS等项目背后的驱动力。想弄清楚哪种JavaScriptUI框架能够真正满足您的项目和组织的实际需求?面对前十名的热门提案,我们还有很多因素需要认真考虑。在过去的几年里,我们见证了UX库和框架的快速发展——其中大部分是开源技术成果。市场上有很多方法可以比较各种框架的完备性,但人们往往忽略了几个至关重要的决定性因素——这些开源项目背后的技术社区和生态系统。技术社区和生态系统的规模、实力和发展趋势将最终决定开源项目未来的命运。总而言之,这些统计结果应该是指导决策的关键依据。今年早些时候,我有幸参加了一项名为“自2012年以来发展最快的开源项目”的调查。最终的排名结果让我震惊,榜单几乎全是各种JavaScript项目。这激发了我的好奇心,因此我决定深入研究特定的JavaScript库/框架项目,看看为什么专注于帮助开发人员创建丰富且高度可扩展的用户界面的项目有如此大的增长空间。我在分析中使用的开源社区元数据来自Ohloh.net和GitHub,其中包括项目评级(用于帮助用户及时了解感兴趣的存储库的更新)和单个项目吸引的项目数量.支持者的数量。哪些项目上榜了?在本次调查分析中,我主要关注十大开源项目背后的技术社区。顺便说一下,这10个顶级开源项目涵盖了UI库、框架和全栈框架,包括服务器端运行时。本次分析的对象均为当前流行的UI项目,如AngularJS、Ember.JS、SproutCore、Backbone.JS、Knockout.js、Spine、CanJS、Meteor-JS、Derby、YahooMojito等。我的目标是描绘与每个项目相关的技术社区的发展情况,尤其是在规模和增长速度方面,并将其与单个项目的受欢迎程度和成功情况进行比较。当然,我也在密切关注每个项目对应的生态系统,希望找到生态系统状态与项目热度和成功之间的联系。每月贡献者数量探究每个项目每月贡献者的具体数量和增长率,有助于了解项目的发展趋势,足以了解业务对项目的关注程度和重点发展临界点。下图总结了前十名项目的每月贡献者参与情况,数字代表每个月提交代码的贡献者数量。每月项目贡献者:Ember项目的代码贡献者数量呈暴涨趋势。细心的朋友可能已经注意到,贡献者爆发式增长的历史转折点发生在2011年12月,当时该项目刚刚脱离SproutCore独立。谷歌AngularJS的贡献者数量也呈现出喜人的趋势。如您所见,SproutCore在其开发的早期曾在月度贡献者名单中名列前茅。但随着2011年12月SproutCore的拆分和Ember的诞生,技术团队中的大部分开发者都选择了Ember作为他们新的起点。现在Ember和AngularJS已经成为2013年贡献者数量最多的项目,从全球技术社区的发展趋势来看,两者也都表现不俗。需要注意的是,今年春天Backbone和Meteor的每月贡献者数量明显下降,而AngularJS和Ember则在上升。历史贡献者数量我们来看一下整个项目开发过程中贡献者的总体数量,这可以帮助我们从另一个角度找到一个合理的结论。值得强调的是,历史贡献者数量通常反映了项目的特定管理风格。许多项目由小团队严格管理,而其他项目则采取完全开放的政策,拥抱技术行业带来的多样化元素。贡献者总数超过项目历史:AngularJS和Ember拥有全球最大的技术社区,这充分体现了两者近期出色的月度贡献状态。历史贡献者数量也有助于我们了解项目在任何给定时间的相对趋势。大型、完善的项目往往有相当大的贡献者基础,他们帮助修复错误、生成文档和执行许多其他任务。贡献者总数往往与项目代码库的大小密切相关。与代码行数、总提交量和每月提交量等其他技术社区指标相比,历史贡献者的数量更能说明问题。项目生态除了目前的贡献者数量,项目技术社区的实力也体现在生态上。生态系统的建立和扩展与项目本身有着千丝万缕的联系。这意味着单靠核心技术社区,我们仍然无法一窥项目的真面目。只有关注更广泛的生态系统,才能对单个项目的整体效果做出准确的判断。相关项目数量:一个开源项目的稳定性可以通过与其相关的周边项目数量来衡量。在这方面,Backbone.js和AngularJS是明显的赢家。值得注意的是,Backbone拥有庞大的生态系统,从侧面展示了它在科技行业的知名度和发展趋势。为了进一步验证Backbone生态的发展情况,我过滤掉了GitHub上所有三颗星以下的内容,只保留三颗星和与Backbone密切相关的新目项目——仍然找到了1627个结果。相比之下,AngularJS只有一个三星和相关项目,这意味着Backbone的生态系统仍然是AngularJS的两倍多。全栈解决方案由于全栈解决方案与其他项目的看法不同,因此我想将这些项目分开并进行比较。全栈解决方案包括客户端和服务器端框架;可以假设,随着时间的推移,此类解决方案具有更多的关联代码和更多的技术人员。下图显示了这些项目在相对较早的开发阶段的参与情况。全栈解决方案的数量:Meteor和Mojito似乎对技术社区更有吸引力,至少从贡献者的数量来看是这样。JavaScript的兴起投入时间和精力创建结构化JavaScript解决方案的开发人员的数量继续呈爆炸式增长。下图是2011年初以来贡献代码的开发者数量,统计结果体现了UI框架在当今应用开发工作中的重要地位,也表明不同规模的企业对差异化用例解决方案的需求越来越强烈.自今年1月以来,贡献代码的开发人员数量显着增加,这可能是由AngularJS和Ember团队推动的。前10名JavaScript项目的代码贡献者总数:如果您有任何疑问,这张图表证明JavaScript正在席卷全球。此外,与2011年相比,今年每个项目的平均贡献者人数普遍翻了一番。代码行与提交您可能想了解更多关于各种开源项目的代码库的大小,以及代码库与代码贡献者数量之间的相关性。通过比较,我们发现技术社区的规模和总体提交数量与代码库的规模几乎没有关系。例如,AngularJS项目平均每个贡献者带来413行代码,而Ember项目每个贡献者平均只带来146行代码。代码行数与贡献者:每个贡献者贡献的代码行数越多,项目的技术难度就越小——有人将此视为项目健康状况的指标。但是,你也可以找到技术社区??规模(即历史贡献者总数)与历史提交数之间的相关性,并以此为基础分析每个贡献者平均带来的提交数该项目。统计结果可能会告诉我们哪些项目更有可能做出贡献,以及这将如何影响项目的长期发展。预见技术社区未来的规模和速度对于项目的前景非常重要。虽然这些指标无法告诉我们整个轨迹,但我们仍然可以使用它们来了解技术专家在特定社区中的参与程度,这可以帮助我们了解项目的可行性和可持续性。他们还可以帮助你找到项目生命周期中的各种成长拐点,从而找到参与项目并对其产生影响的最佳时机。UI框架是我最熟悉也最喜欢的话题,那是因为我在Adob??e工作了五年,负责管理Flex框架的产品营销——现在已经过渡到Apache项目。根据上面提到的各种数据分析,我的结论是,Ember和AngularJS是最近新兴框架中最值得关注的竞争对手。但另一方面,Backbone庞大而活跃的技术社区显示了该项目作为UI解决方案的高人气,我相信它会有一个可持续和光明的未来。原文链接:http://www.infoworld.com/d/application-development/the-10-hottest-javascript-framework-projects-228335