说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Github项目中使用率最高的Java/Ruby/JS库

HTML文档下载 WORD文档下载 PDF文档下载
每个成功项目的背后都离不开一些库的支持,本文评选了Github上的三强语言Java、Ruby、JavaScript所开发的流行项目,并从这些流行项目里评选出最受欢迎的库。

提到开源,相信不少人会想到Github,目前它的托管数量已经超过了一百万。上面几乎涵盖了各种类型的项目库,当然,参与贡献的开发者数量也是极多。因此,它也提供了相当多样的数据资源,一些研发人员利用这些数据来研究开/闭源、企业软件等发展趋势。

开发者每天都会面对一些软件开发库或开源库,在使用一些旧库的同时,每天都会出现许多新库,开发者如何在它们之间做出选择,找出适合自己的软件开发库呢?社区的用户数和贡献者的活跃度对一个库的成功起着非常关键的作用,这也是开发者选择的关键。对于一个开源库来说,开发者很容易知道它的贡献者数量,但一般很难知道有多少开发者使用它。本文作者采用具体的数据来解答这个问题。

作者选择了排名前三的编程语言库来进行分析,这三门语言分别是Java、Ruby、JavaScript。分别分析了它们当中最流行的10000个项目(例如Github仓库),并且从中选出最受这些项目喜爱的库。此外,他们还分析了排名前100库所使用的组件、组合种类(例如测试、数据库、UI等等),并且看看这些语言直接的不同之处。

下面分别列出了10000个Java、Ruby、JavaScript项目中使用率最高的10个库,并把一些值得特别关注的库和趋势进行总结和分析。

Java

注:点击链接可获得关于Java库的全部分析结果。


Java项目中排名前十的库

Guava是Google的开源库,目前,Google代码已成为主流,虽然Spring和Apache库非常普遍,在前100个项目当中,它们占到了高于25%的平均比例。但有些惊讶的是谷歌的一些库,例如GWT和Guava,Guava成功的排在了第7位,在Java的10000个项目中,有4.8%的项目使用了它。

另外值得大家关注的一个库是 ElasticSearch,它是一款非常强大的搜索和数据分析引擎,目前在Java调查的项目里,有110个项目使用了该库。

数据处理占据了Java很大一部分,其中主要集中在数据管理。而在大数据方面,Hadoop处于领先地位。在被调查的10000个项目中,有168个项目采用Hadoop,最知名并且也是最常用的SQL数据库之一MySql被225项目采用,另一个知名的关系数据库PostgreSQL则是121个。

测试驱动开发在Java和Ruby中占据很大一部分,在这三门语言中,测试都扮演着非常重要的角色,在Java和Ruby中,40%-50%的项目都使用了自动测试框架进行项目复查工作。

Mocking是一种在测试和开发中模拟真实世界对象的一种方法,目前该方法也得到了很多项目组的追捧,其中Java中有10%、Ruby里有7%的项目在使用该方法。

Ruby


Ruby项目里排名前十的库

在所调查的10000个Ruby项目中,虽然NoSQL数据库在这些天风靡一时,但关系数据库SQL在Ruby世界里仍在占主导地位——Sqlite、postgreSQL、在研究的项目中,有25%的项目使用MySql,而Redis和MongoDB仅占3%,其中有185个项目采用MongoDB作为数据库,这个数据是Java项目里的两倍。 

在Web开发方面,尽管越来越多的新框架在近几年得到追捧(例如有570个项目采用Sinatra),但Rails仍然是Ruby的中心,有超过7000个项目使用它。Web服务器方面,Thin(有487个项目)使用率则是Unicorn的2倍。CoffeeScript似乎很受Ruby开发者的欢迎,拥有超过1000个项目使用。 

Twitter在Ruby中也有不小的影响力,在百强项目里,有3个库和382个项目使用它们。这是相当庞大的,但仍然没有谷歌在Java里的影响力大。

JavaScript


JavaScript项目中排名前十的库

JavaScript可以应用和支持更多类型的应用程序,但一些新特性和功能并未在语言和标准库上得到应用。因此,在研究中我们也看到,在TOP100项目里,有超过50%的框架被JavaScript库所使用。

Grunt自动化框架在JS开发中扮演着非常重要的角色(尤其是node.js),在百强库当中,有23%的库使用它。

在JavaScript库里面,有一大部分的库是用来进行网络和客户端/服务端通信的,数量是Java和Ruby里的3倍。这很有可能是因为Web开发人员不得不在浏览器端处理一些支离破碎的生态系统和相对较早的服务器堆栈。而对于服务器端Web开发,Node.js的express框架占据领先地位,有631个项目采用它进行研发。 

努力朝着结构化方向发展,JavaScript在语言扩展上有很多优势,在调研的1万个项目中,有844个项目具有这一功能。此外,JavaScript还是一门非常灵活的语言,开发者也正在使用更加结构化的方法来塑造它。Underscore.js库提供了函数编程语言功能,类似于一些结构化的语言,例如Scala,它在此次排行中处于第五位。(责编:王果)

最后 附上相关数据文档。

来自: THE TAKIPI BLOG

英雄会晚宴,Top开发者共聚“华山之巅” 【MDCC 2015】产品与设计专场(上):百度研究院、印象笔记等专家齐聚,以实例探讨如何打造好产品 【MDCC 2015】产品与设计专场(下):网易云音乐、在行、三节课、去哪儿网、野兽骑行大咖的产品之路 友盟:把数据用活 让开发者享受大数据红利 友盟:用活大数据 让精细化运营为移动开发者服务 携手世纪互联 IBM Bluemix云平台落地中国 【MDCC 2015】IoT峰会—硬件开发与技术专场(下):专家齐聚,共同打造联网新时代 【MDCC 2015】虚拟现实专场(下):虚拟现实的“困”与“竞” 【CTO讲堂】面对世界竞争对手,如何拿到Google PDF开源项目PDFium? 提升网站性能开发的10个技巧 SDCC 2015:顶尖技术精英云集 大会日程及首批讲师议题公布 《近匠》专访猿团创始人CEO谢恩明:梦想、未来、改变 《近匠》专访小熊尼奥:从软硬结合到IP合作,AR产品的机遇 W3C启动Web支付标准工作,推进在线结算流程 W3C中国区会员沙龙在京召开 W3C CEO Jeff分享W3C未来发展重点 【SDCC讲师专访】车轮互联总架构师韩天峰:PHP是最好的编程语言 SDCC 2015讲师专访精彩集锦(一):你想知道的,都在这! (入门篇)带你走进Erlang 【大神来了】Elixir语言设计者Jos&#233; Valim:释放Erlang VM的能量 【SDCC 2015讲师专访】刘小溪:Vert.x3的异步框架实战 【CTO讲堂】支付接入开发的陷阱有多深? 程序员界“香饽饽”、大神级别人物集体亮相——SDCC 2015编程语言专场议题曝光 【CTO沙龙】CDN在共享经济下的创新应用 深入浅出Fetch API 带你入解应用场景及适用问题 SDCC 2015讲师专访精彩集锦(二):途牛网、饿了么、快的等大牛都来了 百度、饿了么、美团专家齐聚SDCC2015,剖析前端开发核心技术 【SDCC讲师专访】百度乔刚:前端可视化难点分析及探索实践 【CTO讲堂】Growth Hacking背后,数据分析平台的架构调整 BAT、巨杉、南大、柏睿等齐聚SDCC—新一代数据库专场议题曝光! 《近匠》BeeCloud创始人黄君贤:三行代码集成支付的技术实现 【SDCC讲师专访】AdMaster技术副总裁卢亿雷:分布式数据库挑战与分析 如何利用delphi调用外部的exe文件??急急急!小弟请教! 我也有一个SQL语句要写,请大家帮忙! 一个字符串,用什么函数能到其前20个字节的字符?? ■■高分请教一个java关于StringTokenizer用法的程序,请看例子:■■ 关于vb脚本自动运行,帮小菜鸟一把 从数据库里面读出来的密码字段总是和输入的正确密码不相等(简单问题,立刻结贴) 代理上網的問題 窗体上有四幅图象,单击其中一幅图象时,如何实现在该图象周围画一黄颜色的边框? VS.Net 2003 中的Visio 2003有人用过吗? 我们工作室要做网站,请专家指导!!!送上20分 用LS能实现公式@DialogBox的作用吗? tomcat用127.0.0.1可以,用localhost不行,为什么? 一道C程序题 sqlserver2000连接用adoconnect比bde好吗? 子网掩码的划分难点!请高手指点! 关于想骂谁就骂谁版主一职暂由项有建代理的通知 30000多首音乐网站全站整套方案(音乐+ASP源码)300元超低价抛售 看了精华区的文章,不太懂。请教表格排序问题? VSFlexGrid7的问题,高手请进。高分求解! 祝贺水园小斑竹选举法在立法会获得通过 救救小弟我吧! 请问哪位有在PB中实现类似WORD“气泡提示”的功能?多谢 C# Builder Enterprise BT下载 哪位高手可以教我一点扫雷的技巧 一道汇编题 到了他家,他老婆开的门,他一把抱住他老婆还笑嘻嘻的对我们说:“这小姐挺漂亮的,有点像我老婆!嘿嘿 立法会第一立法案:水源小斑竹选举法 关于TProgressBar控件的几个问题 有个问题请教,是关于“名字空间”的!~~ 点击了一个Button(删除)安钮就可删除选中了的复选框的相关记录?看看代码是什么原因?? 谁能提供《The C++ Programming Language》书后的练习题的答案? 多外部IP的情况下,如何让Socket以其中一个指定的IP地址去连接外部的机器? PowerPoint XP设置模板的问题 linux 下有那些开发工具? 打开InputPanel出错 下载 oci不能正常显示汉字 帮我看个jsp程序,这是我的处子show,很多错误,希望大家来找碴。 请问如何实现在两个Form内各自的textbox之间进行数据流通?(50分) 急急急!在SQLserver中怎样调用索引? TreeView控件的字体如何改变? 关于字符串的处理问题 關于用存儲過程實現表關鍵字段自增的問題 <<雍亲王发迹史>>(有正文) 请问XML问题,很急,再线等!!谢谢!! 有人用msn messager 吗? 有关PXE技术,大虾请进 为什么我创建dialog时总是失败?? 数据窗口求和问题 三个小问题 【求助】【ZJU1504】那位能花点时间看看我的代码 超能勇士中关于白虎和飞箭的问题!他俩不是没死吗?怎么就没了,在刚刚量子冲击后就是狼蛛 霸王龙 老鼠 黄豹 变为金属变体后 他俩 不是去找 平衡仓了吗?后来的剧情就没了,后来虎鹰出现又 白虎怎么辨别 英雄杀青龙之章白虎之章什么区别 一段英文,英译中Other attempts may have succeeded,as nuclear workers grew increasingly desperate.At Krasnoyarsk-26,a factory producing weapons-grade plutonium,employees mounted a protest last month,demanding salaries that had not been paid sinc 在虎里的,雪虎和白虎有什么区别呢? 英语翻译Begin brainstorming business names,looking in dictionaries,books and magazines to generate ideas.Get friends and relatives to help if you like; the more minds,the merrier.Think of as many workable names as you can during this creative pha 虎和白虎有什么区别白虎是白的 英语翻译As shown in the master budget in illusion 6-2,the sales budget is the first budget prepared.Each of the other budgets depends on the sales budget.The sales budget is derived from the sales forecast.It represents management’s best estima 由本文滁人游之兴高采烈及太守宴之特点,试分析太守其人. 紧急啊真红细胞增多的症状是什么样的? 请求英译中~1.She goes jogging every morning.2.Thank you for lending me your dictionary.You’re welcome.But could you give it back to me tomorrow?3.He is a good friend of ours.4.I’m going to buy Mary a birthday gift.Do you have anything specia 杨洁篪:中国是二十国集团的积极参与者“中国皮都”平阳十年整治制革产业 政微信被指“封杀”来往 回应称打击病毒巴基斯坦塔利班首领被美击毙 巴和平进监察部召开座谈会 聘请马怀德等40人民政部部长:鼓励老年人再社会化 释放中国国资改革进入关键期 “领队”角色快递员送货路上猝死 “过劳现象”蔓延联合国官员:目前还在讨论叙利亚化武销获俄罗斯一大型私营网站聘用 斯诺登开英国检方称《世界新闻报》曾窃听哈里王南阳千亩梅花基地带火乡村游 你来了吗固始县供电公司:爱似春风暖人心国网河南潢川县供电公司:“雷锋”在校上海EMBA:复旦EMBA教授郑明:TC323年会火热进行时 派蒙集团笑大V店颠覆女人节:搭乘“时光机”,重商务局公布首批南京市外贸综合服务试点蓝色港湾造节:用“灯光”燃亮的商业价探路者童装2016秋冬发布订货会圆满日产新轩逸正式上市 售价11.9-1止盈不止损,亏钱不赚钱?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘