Java是目前使用最广泛的编程语言之一,在Java生态链中,有很多Java IDE。程序员如何在Java IDE之间进行选择?不同的IDE,都有其优点和缺点。选择时,你肯定想要借鉴下开发人员们的不同意见。
在评估Java IDE时要考虑的一些关键因素:
不妨一起看看下面提到这些IDE,以及对它们的评价。
Eclipse是用于Java开发的最流行的IDE之一。目前版本为4.7.3(Oxygen),可用于各种平台,包括Linux,Mac和Windows。 Eclipse的一个主要特性是它内置的增量编译器。它会在你键入时识别错误,这可能非常有用。Eclipse提供适用于Java EE,Java,C ++和PHP开发人员的各种IDE包,使你可以使用IDE的多种语言。
当你谈论服务器支持时,Eclipse可以轻松支持大多数Java服务器,包括JBoss,WildFly和Tomcat。此外,它具有强大的插件支持,使其能够支持超过一百种编程语言和超过两倍的框架。 Eclipse支持本地和远程的调试,且相当简单。
在文档方面,Eclipse提供了大量文档和出色的产品支持。而且它是免费和开源的。
使用Eclipse的优点和缺点
Eclipse具有一些很棒的功能,如代码完成,语法检查以及对重构应用程序的强大支持。然而,在缺点方面,Eclipse有时可能是一个插件噩梦。各种插件需要运行相同插件的不同版本,原因各不相同。核心Eclipse版本的相同插件不适用于所有内容。这可能会非常烦人。
专家的选择:Java培训师Tejaswini Jog
Tejaswini说:“我使用了很多IDE,比如NetBeans,IntelliJ和Eclipse,但我更喜欢的是Eclipse。主要原因是我的大多数客户都喜欢Eclipse,所以我必须坚持下去。另一个原因是Eclipse可以轻松地进行多任务处理,过滤和调试。它有一套庞大的插件,这使它成为一个多功能的IDE。这些插件易于下载,可以在现有工作空间中添加新功能和技术支持。”
“即使是初学者,也不需要花太多时间来熟悉Eclipse。它支持为大多数Java相关技术(如Hibernate,Spring,Struts等)创建项目。这些项目为开发提供基本的基础结构,并且非常重要。最后,与Java一起,它还提供了JUnit,Angular,CSS,HTML等插件。”
NetBeans是Java开发中使用的最古老的IDE之一。它也是全球数千名开发人员使用的官方Java IDE,但那是在其他IDE开始支持Java 8之前。目前在8.2版本上,NetBeans是一个跨平台的IDE,可以很好地与Windows等平台一起使用,Mac,Linux等。它对JavaScript,PHP,Groovy,C ++等各种语言有很好的支持。
可能使NetBeans成为Eclipse的首选功能之一是它为MySQL,Oracle和PostgreSQL提供了驱动程序的数据库支持。其数据库资源管理器使你可以轻松创建,修改和删除表和数据库。NetBeans的插件数量也少于Eclipse,但它们的安装和使用非常简单。
NetBeans为Spring,JSF,Hibernate,Swing,JavaFX等框架提供了很好的支持,尽管没有Eclipse那么多。在“编辑支持”方面,它提供了出色的错误检测和智能代码完成。它的调试器和分析器也值得一提,并增加了使用IDE的乐趣。最后,NetBeans具有良好的文档和社区支持,可供开发人员免费使用。
使用NetBeans的优点和缺点
从积极的方面来说,使用插件时,NetBeans要好得多。另一方面,有些人可能会同意NetBeans上的调试器有时会很痛苦,很慢。
专家的选择:Java Champion,Jakarta EE顾问和讲师David Heffelfinger
David,“我是一个NetBeans粉丝,因为它带有很多功能”开箱即用“,无需追插件来做你需要的东西。特别是,我非常喜欢NetBeans的Java EE功能。它提供与几个Java EE应用程序服务器(如GlassFish,JBoss,WildFly等)的紧密集成,以及与Apache Tomcat地集成。与这些应用程序服务器集成,允许我们作为Java EE开发人员直接从NetBeans IDE启动/停止/部署和取消部署代码。在某些情况下,我们甚至可以执行“热部署”。这意味着在编写和编译代码时,它会在后台部署到我们选择的应用程序服务器。当我们准备好测试时,我们不需要部署我们的代码,它已经部署并准备就绪。”
另一个杀手级NetBeans功能是紧密的Maven集成。 NetBeans可以本机加载任何Maven项目。无需将项目导入NetBeans;只需转到文件|打开项目,然后导航到包含pom.xml文件的目录。
IntelliJ是最受欢迎的Java IDE之一。IntelliJ IDEA目前在2018.1.1版本中经过精心设计,旨在最大限度地提高开发人员的工作效率,同时使其成为一种愉快的体验。这个IDE是跨平台的,因此它包含两个版本:社区和最终版。Community Edition适用于JVM和Android上的开发,而最终版则适用于Web和企业应用程序开发。社区版支持Scala,Kotlin,Java以及Git,SVN和CVS等。另一方面,最终版也支持JavaScript和TypeScript,Java EE和Spring,Vaadin,Grails,Play,SQL数据库和其他框架。
IntelliJ IDEA为调试应用程序提供了极好的支持,并且有许多可能对你有用的插件。有很棒的文档可以帮助你开始使用该工具。社区版免费,而最终版则收费500美元/年。
使用IntelliJ IDEA的优点和缺点
使用IntelliJ IDEA的一个主要优点是它带来了一些非常酷的高级功能,如Gradle构建系统。不利的是,最终版相当昂贵。此外,社区支持并不是那么好,因为它只是开放核心而不是完全开源。这意味着你将没有像其他IDE一样多的插件。
专家的选择:EPAM高级软件架构师Peter Verhas
Peter说,“我使用的是IntelliJ IDE社区版。我可以使用任何IDE,但目前IntelliJ是最容易使用的,也是最麻烦的,因此我可以专注于编程,而不是IDE或其他开发工具的配置。同一家公司还提供Python,Go和其他语言支持,以便我可以为不同的语言使用类似的IDE。”
“以前,我使用过的是Eclipse,在此之前我曾使用过15年前的NetBeans;IDE的选择主要是品味问题,通常在专业环境中,每个开发人员都可以自由使用他们想要的IDE。只有在考虑代码格式化时才重要,将不同的IDE配置为格式化代码的方式,可能比说服某些开发人员使用与其他开发人员相同的IDE的代价更昂贵。”
现在让我们看看其他流行的IDE ......
Eclipse Che是一个基于浏览器的现代Java IDE,可以被视为浏览器IDE趋势的开端。IDE目前在6.2版本中,建立在社交编码和轻量级容器等新兴趋势的基础之上。Che是用Java编写并在Tomcat服务器上运行的,是一个高度可扩展的IDE。
添加新语言或框架就像创建新插件一样简单。运行时打包为Dockerized容器,运行特定环境,如Node.js,Java,Python或Ruby。Che目前支持Java,C / C ++,Node和PHP的调试器。IDE允许你轻松地重构代码,还具有一些很棒的功能,如代码自动完成。
网页上有一些很棒的文档,最近,它已经获得了OpenShift的支持。
使用Eclipse Che的优点和缺点
在缺点方面,唯一能想到的是项目很年轻。大多数功能需要并且将在不久的将来进行更改。但是,它仍然是你应该尝试的IDE。
Oracle JDeveloper是一个Java IDE,它通过在应用程序生命周期的每一步支持开发人员来简化应用程序的开发。Oracle声称JDeveloper提供了完整的端到端开发解决方案。
目前在版本12.2.1.3中,JDeveloper支持Spring进行应用程序开发以及Oracle的PL / SQL数据库。还支持JavaEE和其他框架,如Swing for GUI。它提供的一些功能包括单元测试,版本控制,审计和度量,调试和分析等。
文档并不令人印象深刻,社区对IDE的支持也不是很好。好处是IDE可以免费使用。
使用JDeveloper的优点和缺点
JDeveloper提供了丰富的编码功能,包括可视和非可视实用程序,可提供不同的代码视图。缺点是文档和社区支持。
Android Studio是Android开发的官方IDE。这个IDE有什么好处,它基于IntelliJ IDEA!目前在版本3中,该工具构建快速且功能丰富。
在语言方面,还支持Java,Kotlin和C ++以及NDK。它提供了一些很棒的功能,例如适用于所有Android设备的统一开发环境,广泛的测试工具(如JUnit和框架),内置的GCP支持等等。它适用于Windows,Mac以及Linux平台。
IDE提供了出色的自定义选项,还允许你通过检查APK文件的内容来减小Android应用程序的大小。它可以免费下载和使用,但需要一次性开发人员许可费,才能将你的应用推送到Google Play商店。
使用Android Studio的优缺点
由于它专为Android而构建,因此可以期待对Gradle的大力支持。从缺点方面来看,有些人可能会同意自动导入Java类是一件痛苦的事。由于它是用Java编写的,因此有时会感觉很慢。
最后,所有上述IDE都有各自的优缺点。作为开发人员,这一切都取决于你正在做什么,以及你正在寻找什么。有时可能不得不选择一个IDE,因为你所工作的公司要求它,有时你可能会选择一个,因为它适用于你想要做的事情。像Eclipse Che这样的轻量级工具可能是应用程序开发的未来,将现代应用程序开发推向了最前沿。然而,许多人总是对喜欢的IDE情有独钟。总结个人对待IDE的使用及开发工具的心态和原则:开放与包容!切记忌于某个开发工具使用习惯而依赖之,需知工具都是达到某个阶段性目标的一种快速手段,而其使用过程并不影响技术本身。因为IDE提高的是效率并不能改变开发技术原理和开发工作质量本质。故为了防止自己平时不经意的养成对某个IDE的依赖心理,和形成只熟悉某个开发工具的使用的不良习惯,故制定如下个人IDE使用规范。Eclipse ==>GitHub,码云等开源平台项目学习时优先使用Eclipse(Eclipse本身就是开源的),秉承开源项目优先使用开源工具的精神。MyEclipse ==>ZHY系列项目,金融云项目等个人学习及总结项目优先使用MyEclipse。IntelliJ IDEA==>公司内部项目优先用IntelliJ IDEA,遵循公司统一使用开发工具的规范。