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

转载 2013年12月04日 23:05:55
摘要:每个成功项目的背后都离不开一些库的支持,本文评选了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

相关文章推荐

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

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

用Python找出文件中使用率最高的汉字

这是我初学Python时写的,为了简便,我并没在排序完后再去掉非中文字符,稍微会影响性能(大约增加了25%的时间)。 你还可以看看找出使用率最高的英文单词的方法。 # -*- coding...

软件工程第一次作业:java实现分析一个文本文件中各个词出现的频率,并输出频率最高的10个词

软件工程第一次作业

java 统计文本中出现概率最高的10个字符串!!

以前经常在CSDN博客上看别人的文章,有时是遇到难题为了寻找思路,有时则是为了偷懒,直接复制别人的源代码,所以对于写这些博客的技术大神,我都是佩服且感激的。感激于他们把我的问题分析的如此透彻明白,佩服...

top命令找到占用CPU最高的java线程

参考 http://lxiaodao.iteye.com/blog/1413774 和长源 28147是java的进程号,通过jps命令查出来的 top -Hp 28174 -d 1 -n ...
  • arkblue
  • arkblue
  • 2013年03月26日 00:09
  • 9971

用java程序分析一个文本文件中各个词出现的频率,并把频率最高的十个单词打印出来(一般的冠词,虚词除外)

你的

spark core之java和scala版本——电影受众分析系统--得分最高的10部电影;看过电影最多的前10个人

import org.apache.spark._ import scala.collection.immutable.HashSet /** * 得分最高的10部电影;看过电影最多的前10个人...
  • zwyjg
  • zwyjg
  • 2016年12月13日 22:32
  • 461

java 统计文本中出现概率最高的10个字符串!!!

以前经常在CSDN博客上看别人的文章,有时是遇到难题为了寻找思路,有时则是为了偷懒,直接复制别人的源代码,所以对于写这些博客的技术大神,我都是佩服且感激的。感激于他们把我的问题分析的如此透彻明白,佩服...

过Java thread dump分析找到耗费CPU最高的源代码

最近产品在运行过程中出现了性 能问题,在很低的流量的情况下CPU就达到40%,流量稍高时CPU就达到98%。 产品是Java写的,运行于JBOSS平台。操作系统为redhat linux。当你通过t...
  • hdhtqq
  • hdhtqq
  • 2011年05月10日 22:47
  • 2860

获得最高的权限,超越administrtor

  • 2013年11月17日 13:01
  • 101B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Github项目中使用率最高的Java/Ruby/JS库
举报原因:
原因补充:

(最多只允许输入30个字)