当前位置: 首页 > 科技观察

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

时间:2023-03-21 22:17:03 科技观察

【.com快译】一个工具最好,并不代表它就是“最好的”。在编程的世界里,什么是最好的取决于具体情况。然而,在一堆类似的工具中进行选择时,流行度或流行度绝对是一个重要的指标。并不是流行本身给工具增加了价值,而是工具更大的社区带来了更多的资源和支持。流行的工具更容易上手,因为有很多人可以帮助您使用它。流行的开源工具往往有更少的代码错误,因为更多的眼睛关注代码,更多的人在更多的场景中测试代码。所以,虽然总是有像Apache和Nginx这样的竞争对手(这是两种类型的Web服务器):Apache在更多的网站上使用,但Nginx更常被知名网站使用,这意味着Nginx被使用通过一些最好的网站。2018年被工程团队使用——在许多情况下,受欢迎程度可能是工具之间的关键区别因素之一。本文涵盖了开发Java应用程序时需要的大部分重要工具,涵盖了每个类别,提供了顶级工具和“不太流行的工具”,并提供了一些背景知识和来自Java社区的意见。调查简介证实了这些排名。Java初学者应该看看所有这些一流的工具,以更加熟悉整个生态系统。语言版本最流行:Java8最流行:Java7Java8可能是所有新版本中采用速度最快的。这可能是因为Java8带来了期待已久的现代语言特性,例如lambda表达式,从而缓解了Java常被诟病的冗长缺点。性能提升也是一个很大的方面。虽然现在新的Java应用程序和主要应用程序都是用Java8编写的,但大量现有的Java应用程序仍在使用Java7或6。我不打算比较JavaEE和Spring,因为统计数据总是有争议,而且用户数量似乎势均力敌。使用其中一种语言的开发人员中约有三分之一也使用另一种语言。最佳编辑器或IDE:Eclipse和IntelliJIDEA(有争议)第二受欢迎:NetbeansEclipse和Netbeans都是免费和开源的。Eclipse以其庞大的社区和丰富的插件(易于编写)着称,这使得Eclipse平台极其强大,但加载速度缓慢,有时甚至显得笨拙。Netbeans的不同之处在于它默认集成了与Maven和Git集成等功能。IntelliJ具有商业产品的那种性能和成熟度。它有免费版和付费版。最流行的Web框架:AngularJS和SpringMVC第二流行:JavaServerFaces(JSF)虽然三分之二的调查显示SpringMVC比JavaServerFaces(JSF)有优势,但DZone的一项大规模调查显示SpringMVC和JSF实际上彼此接近。这种比较可能不再重要,因为JavaScript框架正在大量进入许多流行的Web堆栈。一项调查询问AngularJS的使用与纯JavaWeb框架相比如何,结果发现AngularJS在前端优于最好的Java框架。最流行的应用服务器:Tomcat第二流行:Wildfly多年来,Tomcat一直是使用最广泛的Java应用服务器。它是一个轻量级应用程序服务器,并不试图实现所有JavaEE规范。在一些调查中,另一个轻量级应用服务器Jetty领先于领先的支持JavaEE的应用服务器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都是合理的选择。PersistenceAPI和/或对象关系映射(ORM)最流行:JavaPersistenceAPI(JPA)/hibernate不太流行:JavaDatabaseConnectivityAPI(JDBC)Hibernate非常流行,几年前它被包含在JavaPersistenceAPI规范中标准化已经实现。静态代码分析最流行:FindBugs第二流行:SonarQube这两个工具在范围上有很大的不同,所以很难比较。FindBug是一个更简单的静态代码分析工具,而SonarQube是一个用于代码质量分析、语法检查和代码度量的完整平台。语法检查最佳:Checkstyle其次流行:Eclipse主要的JavaIDE都有此功能,但如果您需要另一个专门用于语法检查的程序,Checkstyle是一个不错的选择。工件管理最佳:SonatypeNexus其次最受欢迎:JFrogArtifactory许多开发人员不使用工件存储库来管理JAR、WAR、库和整个应用程序的版本。但在他们这样做的同时,Nexus更受用户欢迎。两者都是商业软件。ApacheArchiva是一个开源工具。依赖注入最受欢迎:SpringFrameworkDI第二流行:GoogleGuiceSpring框架在依赖注入方面做得并不差,但Google的开发人员也有一个流行的工具:Guice。Dagger不像这两者那样流行,但它是一种拥有越来越多用户的新工具,尤其是对于Android开发而言。流行的游戏《Pokémon Go》使用它。性能分析Java分析最流行:VisualVM第二流行:无大量Java开发人员不使用任何性能分析工具(可能将性能问题留给不同的团队考虑)。YourKit是另一个流行的VisualVM替代品。负载测试最流行的:JMeter第二流行:LoadRunner除了这两个工具之外,还有大量的负载测试工具,所以一定要研究这个市场。JMeter是一个开源工具,LoadRunner是一个商业产品。商业产品的主要优势在于它提供了众多用于在云中运行测试的服务。构建自动化和依赖管理最受欢迎:Maven第二受欢迎:Gradle虽然Maven是明显的领导者,但Gradle仍然作为第二大构建工具被广泛使用,并且是Android平台的标准构建工具。最适合日志库:Log4j日志库下一个最流行的工具尚不清楚,因为对该工具类别的研究相对较少。原标题:每个开发阶段最流行的Java工具,作者:MitchPronschinske