最近Eclipse社区进行了一项调查,关注社区如何使用Eclipse和其它开源软件,目前调查的结果已经发布,详细的结果涵盖了IDE,操作系统,版本控制工具等等,具体可以查看这个链接:
http://www.eclipse.org/org/press-release/20090527_survey09.php
作为Maven的忠实用户,我自然比较关注构建工具这一块,这是我看到的报告:
这个图表本身有就有一些问题,持续集成工具如CruiseControl和Hudson与构建工具Maven和Ant本身是没有冲突的,它们是互补的。抛开这个不谈,我们可以看到Ant以33.3%的得票率远超得票率为18.0%的Maven。这当然是可以理解的,Maven和Ant相比还比较年轻。此外,该图中有一个Other(specify)项,我点击show replies后看到,其中有一大部分make,shell之类的纯脚本。当然,我们也看到21.7%的None,也就是说还有很大部分人完全不用构建工具。
这是Eclipse社区的调查,这里我可以简单的总结下,约1/3的人在使用Ant构建项目,约1/5的人在使用Maven构建项目,还有一小部分不到1/10的人在使用make和shell,约5/1的人不用任何工具构建项目。当然这还不完整,由于统计本身的缺陷我无法得知其它人用什么工具。不过总这个简单的结果我们已经能够清楚的看到一些现状,Ant作为成熟流行的java构建构建工具仍是主流,Maven作为新一代构建工具也得到了广泛的认可,还有一些古董在用Make/shell。而不借助工具执行纯手工构建还大有人在。
这份调查是不分国界的,其中中国参与人数为3.1%。我相信在中国,统计出来的数据结果肯定比这个数据差很多,可能不用任何构建工具的人会超过一半。虽然我很想了解,但我根本无从得知有百分之多少的人在用Maven。5%?呵呵,希望我的一些工作能帮助增加一两个百分点。
此外再扯一下持续集成工具,这里主要有CruiseControl,Hudson,和Bamboo。前两者是开源的,而Bamboo对于商业使用是要收费的,占用率低一点也可以理解。Hudson最为流行,用户为CruiseControl的两倍,这也能理解,毕竟易用性方面Hudson强很多。在自动化构建的基础上进行持续集成,是重要的敏捷实践之一。
总之,好的工具能助你事半功倍,有那么多优秀的开源工具,我们应该衷心感谢这些工具背后的程序员们。
分享到:
相关推荐
API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与...
API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与...
API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与...
基于python Flask 框架开发的微信小程序后端项目,基于原生的 Flask 构建 RESTful API 更灵活的 API文档生成方式(可带 ...Navicat(数据库可视化管理工具) 开发环境搭建 MySQL安装、运行,数据库的导入 Python 3.6
与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git ...
BAMS提供了常用工具进行封装,包括日志工具、缓存工具、服务器端验证、数据字典、当前组织机构数据(用户、机构、区域)以及其它常用小工具等。另外还提供一个基于本基础框架的 代码生成器 ,为你生成基本模块代码,...
API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与...
该项目是一个疫情防控期间专为管理某村外出务工人员信息而设计的管理系统,它基于SpringBoot框架构建,旨在帮助村委会或相关管理部门高效地跟踪和管理外出务工人员的基本信息及疫情防控相关数据。 1. **技术架构**...
API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与...
它是由posix之类的系统(包括cygwin和mingw)(包括cygwin和mingw)中的一些常用命令完成的,这些命令可以处理一些高级功能,例如下载依赖项,运行测试,打包和发布构建。 这些功能包括: 多语言支持:C / C ++,...
API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与...
图书管理系统可行性分析 随着政府机关与广大企事业单位内部网络的广泛建立,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多...
33、发布管理角色需要参与驱动的计划包括:安全性计划/部署计划/采购和设施计划/试运行计划 34、好的项目远景能达到什么作用?引导团队朝共同的方向前进/简化决策的制定过程,确保决策的一致性/激励团队/强化解决...
项目是基于ASP.NET的Web应用程序开发,旨在构建一个高性能、可扩展和可靠的在线平台。我们将使用ASP.NET MVC框架和C#编程语言来实现这个项目。 ASP.NET MVC是一种成熟的开发框架,它采用模型-视图-控制器的设计模式...
SSM是一种常用的Java开发框架组合,它结合了Spring框架、Spring MVC框架和MyBatis框架的优点,能够快速构建可靠、高效的企业级应用。 1. Spring框架:Spring是一个轻量级的Java开发框架,提供了丰富的功能和模块,...
Dcat Admin是一个基于laravel-admin二次开发而成的后台系统构建工具,只需很少的代码即可快速构建出一个功能完善且颜值极高的后台系统。内置丰富的后台常用组件,开箱即用,让开发者告别冗杂的HTML代码,对后端...
Java 运行时环境(JRE)允许您执行 Java 应用程序,组件和小程序,而 Java 开发套件(JDK)提供了一套全面的工具,供程序员构建,运行,调试甚至记录 Java 代码。 您还可以访问 JRE 的 Java 虚拟机(JVM)组件以及...
同时,还介绍了如何使用Docker进行应用程序的构建、打包和发布,以及如何使用Docker进行持续集成和持续交付等方面的内容。 最后,该文档还介绍了Docker的安全性和最佳实践,包括如何保护容器的安全、如何处理容器...
JAVA JDK 11软件新增Epsilon 垃圾收集器和lambda 参数的局部变量语法,可以有效的提高开发者的生产效率和Java应用程序的管理。 新的Java编译器API允许从Java应用程序内部对Java源程序进行编译。在编译期间,应用...