在日常开发过程中,最让程序员们纠结的就是如何去选择开发的类库。究竟是尝试最受欢迎的类库还是说使用老套的方式自己挨个尝试呢?成功的框架最重要的莫过于社区用户的支持和共享。 想知道一个项目究竟有多少人开发了很容易,但是非常难于知道到底多少人实际在使用这些类库。 Github拥有超过100万的项目。包括非常小的工具类库及其拥有数百人合作的超大项目。同时也提供了实时的数据供大家浏览,同时可以帮助我们了解企业使用的一些情况。 这里我们分析了3个顶级的编程语言:Java,Ruby和Javacript。每一种语言我们分析了10000个项目,以便取得开发人员心目中最受欢迎的类库。 我们分析获取了最受欢迎的100个顶级的项目,并且分类方便大家阅读了解更多细节(例如,UI,DB等等),大家可以非常清楚的看出来有任何不同。 这里我们列出了一些使用比较明显的类库,如下: Ruby
虽然最近两年Nosql数据库开始被大众接受,但是关系型数据库仍旧处于主导地位, Sqlite,postgreSQL,Mysql依旧在25%项目中被使用,Redis和Mongo只在3%的项目中使用 mongdb在Ruby所有的项目中拥有185个,相对于在java中的只有一半 - 在web开发中我们看到虽然新的框架收到大家的关注(例如Sinatra拥有570个项目),Ruby仍旧是围绕这Rails,拥有超过7000个项目。对于web服务器来说,Thin(拥有487个)的使用相比较于Unicorn来说增加了2倍。
- Coffeescript,一个新的基于JS的编程语言在Ruby中将近有1000多个web开发项目在使用
- Twitter在Ruby中也产生了很大冲击,有3个处于100个顶级类库中,并且在382个项目中被使用。 当然不如Google的影响力。
Javascript - JS相对于更单薄,在顶级的类库组件中,Java占有30%项目,Ruby大概20%,而JS不到10%。虽然JS现在开始在更多类型的应用中发挥功用,但是很多功能还没有被完全的吸收和接受。我们看到顶级50%以上的框架都使用Ruby和Java,反映出了这种语言的使用还处于比较早的阶段
- Grunt使用非常多。 Grunt自动化框架在JS开发中扮演了一个非常重要的角色(特别是node.js)将近有23%的顶级类库都是用它。看起来Grunt弥补了编译,测试和开发,部署过程中的鸿沟。这个问题在Java中使用了外部工具例如Maven或者Jenkins来解决了。
- 网络还是一个大问题。 很多的JS类库(100顶级类库中的7%)都专注于网络及其客户端/服务器端的通信。 在Java和Ruby中,是JS的3倍。这个问题最可能是因为web开发人员需要在浏览器端来处理断篇的生态系统,相对于服务器端来说还处于早期。
- 对于服务器端开发 , express框架在631的项目中被使用,稳稳占据头把交椅。
- 向结构化的转变。 Javascript包含了最多的语言扩展,将近840个。 可以看到Javascript的灵活性非常强。开发人员还是希望能够将它打造的更加的结构化。Underscore.js提供给函数型语言类似结构化语言编程的方式,成为第五个最受欢迎的JS类库。
Java
- Guava的季节 - Google代码已经成为主流 。 Spring和Apache的类库非常流行,几乎就是Java语言的一个部分, 超过25%的100个顶级类库中,Spring和Apache对半开。Google开发的类库也成为一个非常重要的部分,例如GWT和Guava,在java中,7%的顶级类库使用相关技术。
- 大数据 - Hadoop引导时尚! 数据处理占有Java很大一个部分,顶级100个类库中的16个都瞄准了数据库管理,而Rudy和JS分别有1个和5个。
- 非常有趣的是Hadoop履行了它的许诺,拥有168个项目。 另外Mysql占有了225个。 PostgresSQL拥有121个项目
- ElasticSearch,帮助搜索大数据集的技术,也有相关100个项目
- TDD(测试驱动的开发)在Java和Ruby中占有很大数量(JS中很少) - 所有三种语言中TDD都占有很重要的角色。在Java和Ruby中, 40-50%的项目都使用自动测试框架。 占有量多的是Java中的Junit,Ruby中的RSpec。在JS中使用测试框架比较少,只有25%
- Mocking,一个帮助在测试和开发中模拟实际对象的方法,在Java的项目中占有10%,Ruby中占有7%。Javascript基本没有。
完整的报告,请查看这里:完整的报告 相关标签:Java,Ruby,Javascript via takipiblog
|