当前位置:K88软件开发文章中心编程资讯编程资讯10 → 文章内容

每个开发阶段对应的最流行的Java工具

减小字体 增大字体 作者:华军  来源:华军资讯  发布时间:2019-2-13 19:12:49

【51CTO.com快译】就因为某个工具是最流行的,并不意味着它就是“最好的”。在编程领域,什么是最好的取决于具体环境。然而,在一批类似的工具当中选择时,人气或受欢迎程度无疑是个重要的衡量标准。倒不是人气本身增添了工具的价值,而是说某个工具的更庞大社区带来了更丰富的资源和支持。流行的工具更容易上手,因为有很多人可以帮助你使用它。而流行的开源工具往往代码错误较少,因为有更多双眼睛盯着代码,更多的人在数量更多的场景下测试代码。本文涵盖了你在开发Java应用程序时需要的大部分重要工具,包括每个类别,提供了最流行的工具,还提供了“次流行的工具”,并附有一些背景介绍和来自Java社区调查的引言,证实了这些排名。Java初学者应看一下所有这些顶尖工具,进一步熟悉整个生态系统。语言版本最流行的:Java 8次流行的:Java 7虽然现在新的Java应用程序和主要的应用程序是用Java 8编写的,但大量现有的Java应用程序依然使用Java 7或6。我不会比较Java EE和Spring孰优孰劣,因为这方面的统计数字始终存在争议,而两者的用户数量似乎旗鼓相当。使用其中一种语言的约三分之一的开发人员同时还使用另一种语言。编辑器或IDE最流行的:Eclipse和IntelliJ IDEA(存在争议)次流行的:NetbeansEclipse和Netbeans都是免费、开源的。Eclipse以庞大的社区和丰富的插件(易于编写)而家喻户晓,这让Eclipse平台具有无比强大的扩展性,但是载入速度缓慢、有时比较笨拙。Netbeans的不同之处在于结合了一些特性,比如默认情况下就与Maven和Git整合起来。IntelliJ拥有商业产品的那种性能和成熟。它有免费版和收费版。Web框架最流行的:AngularJS和SpringMVC次流行的:Java Server Faces(JSF)虽然三分之二的调查显示Spring MVC比Java Server Faces(JSF)更有优势,但DZone的大规模调查显示,Spring MVC和JSF其实难分伯仲。这种比较可能不再重要,因为JavaScript框架正在大举进入到许多流行的web堆栈。有一项调查询问AngularJS的使用相比纯粹的Java Web框架怎样,结果发现AngularJS在前端方面比最流行的Java框架更有优势。应用服务器最流行的:Tomcat次流行的:Wildfly多年来,Tomcat一向是使用最广泛的Java应用服务器。它是轻量级应用服务器,并不试图实现所有的Java EE规格。在一些调查中,另一种轻量级应用服务器Jetty领先顶尖的、支持Java EE的应用服务器Wildfly。对简单的Java应用程序而言,Tomcat显然是领头羊;轻量级应用服务器无疑是微服务架构方面的最佳选择。测试框架单元测试最流行的:JUnit事实上的Java单元测试框架。模拟测试最流行的:Mockito它显然是Java 模拟测试框架中的佼佼者。自动化浏览器Web测试最流行的:SeleniumSelenium可自动化测试浏览器。开发人员经常结合测试框架来使用这个工具,进行大规模的Web应用程序测试。行为驱动开发(BDD)测试最流行的:Cucumber-JVM和SpockCucumber起初是个Ruby项目,但是现在已支持各大编程语言。除了Java外,Spock还支持JVM语言Groovy。它还能处理Mockito能处理的大部分工作。版本控制系统最流行的:Git次流行的:Subversion记住:Git比仅仅使用GitHub及其版本控制约定来得活。Git似乎基本上赢得了版本控制大战的胜利,而大多数Subversion和CVS用户是只好使用一套遗留工具的开发人员。持续集成最流行的:Jenkins次流行的:暂无这是显然存在领头羊的另一个方面。在过去的五年间,Jenkins灵活的插件系统让它逐渐成为霸主。不使用任何持续集成服务器的人比使用Jenkins的任何一个竞争对手的人要多。实力最接近的下一个竞争对手是Bamboo。数据库最流行的:OracleDB次流行的:MySQL你在选择数据库时比本文介绍的其他许多工具更依赖具体环境。除了庞大的列式数据库外,你可能还需要轻型的键值存储数据库,这取决于你在构建的应用程序。对于大多数应用程序来说,关系数据库仍能满足要求,这就是为什么你看到两种关系数据库跻身Java工具榜单的前列。Oracle是本文中为数不多的商业软件之一,这意味着它有许多“企业级”功能。如果你偏爱开源,MySQL或甚至SQLite是合理的选择。持久API及/或对象关系映射(ORM)最流行的:Java持久API(JPA)/hibernate次流行的:Java数据库连接API(JDBC)Hibernate太流行了,几年前就在Java持久API规范当中实现了标准化。静态代码分析最流行的:FindBugs次流行的:SonarQube这两个工具的范围大不一样,所以很难比较。FindBug是一个较简单的静态代码分析工具,而SonarQube是个完整的平台,可用于代码质量分析、语法检查和代码度量。语法检查最流行的:Checkstyle次流行的:Eclipse主要的Java IDE都有这项功能,但是如果你需要专门用于语法检查的另一个程序,Checkstyle倒是个不错的选择。工件管理最流行的:Sonatype Nexus次流行的:JFrog Artifactory许多开发人员并不使用工件库对JAR、WAR、库和整个应用程序进行版本管理。但是他们在这么做时,Nexus更受用户的青睐。两者都是商业软件。Apache Archiva是个开源工具。依赖注入最流行的:Spring Framework DI次流行的:Google GuiceSpring框架在依赖注入方面做得不赖,但是谷歌的开发人员也开发了一款流行的工具:Guice。Dagger 的人气比不上两者,但它是新工具,用户越来越多,尤其是在安卓开发方面。热门游戏《Pokémon Go》用的就是它。性能分析Java分析最流行的:VisualVM次流行的:暂无为数不少的Java开发人员并不使用任何性能分析工具(可能将性能问题交给不同的团队去考虑)。YourKit是替代VisualVM的另一种流行的工具。载入测试最流行的:JMeter次流行的:LoadRunner除了这两款工具外,还有一大批的载入测试工具,所以务必要调研这个市场。JMeter是开源工具,LoadRunner是商业产品。商业产品的主要优点是它为在云端运行测试提供了众多服务。构建自动化和依赖管理最流行的:Maven次流行的:Gradle虽然Maven是明显的领头羊,但是Gradle依然使用广泛,是一种仅次于Maven的构建工具,它还是安卓平台的标准构建工具。日志库最流行的:Log4j日志库方面的次流行工具并不明确,因为这个工具类别方面开展的研究比较少。原文标题:The most popular Java tools for every phase of development,作者:Mitch Pronschinske【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

每个开发阶段对应的最流行的Java工具