【51CTO.com快译】 不知您是否已注意到,那些仅靠文本编辑器来编写编程的日子早已一去不复返了。如今已是IDE(集成开发环境)的时代,各种用于构建应用的开发者工具往往被归并到独立的GUI中。而一个IDE通常会包含源代码编辑器、调试器、以及各种构建自动化的工具。它们能够在代码之间进行导航,促进代码的完成,以及对重构提供支持。

为了流畅、轻松地编写、调试和测试代码,开发人员通常会选择最适合手头项目的IDE。其中,最常被用到的当属Java IDE。总的说来,Java IDE具有如下优势:

  • 自动验证语法

  • 支持语法着色(syntax coloring)

  • 提供现成的代码模板

  • 支持代码重构

  • 提供强大的调试器和Java编辑器

  • 允许设置断点

下面,我们就和您讨论那些适用于不同应用开发需求的Java IDE。

1. BlueJ

于1999年首发的BlueJ,被认为是适合小型软件开发的优秀IDE。作为一个多平台的Java IDE,它实现了对象之间流畅的交互。开发人员可以在其中调用对象上的方法,检查对象的值,以及将对象作为参数进行传递。

使用BlueJ,开发人员可以通过不同的背景颜色,来可视化代码的结构,进而更轻松地理解诸如变量范围等高级概念。用户无需依赖缩进即可在程序代码块中,识别出哪个方法属于哪个类。

BlueJ不但能够在主屏幕上显示正在开发的应用程序的类结构,而且能够提供包括创建动态对象,可视化扫描代码,以及允许交互式地创建与测试对象等功能。

特征

  • 可在Windows、Mac OS X、以及Ubuntu等多个平台上运行,具有更小、更简单且可移植的界面

  • 提供范围着色

  • 支持无需U盘安装的运行机制

  • 提供对象工作台

  • 提供补充式BlueJ textbook

  • 提供带有教学资源的门户

  • 可实现对象间的互动

  • 提供密码键盘

  • 可在程序运行时运行Java对象

2. IntelliJ IDEA

于2001年1月首发的IntelliJ IDEA,属于针对Java、Scala和Kotlin等JVM语言开发的Java IDE三大类。目前,它有两个功能强大的不同版本:Apache 2许可社区版和专用商业版本。它的实用功能包括:链完成、语言注入、静态成员完成、静态代码分析、以及代码智能完成。此外,通过插件,它可以扩展并获得多语言的体验,并能使用高级错误检查功能,来更快、更轻松地进行错误检查。

IntelliJ IDEA不但能够最大程度地提高开发人员的工作效率,并且能让他们在深入研究Java代码时,使用跨平台重构和数据流分析等功能。

特征

  • 支持Linux、macOS和Windows等平台

  • 能够分析多种项目文件和语言的源代码

  • 允许跨语言重构

  • 能够即时搜索重复性的代码片段,并予以快速修复。

总的说来,IntelliJ IDEA提供了一个以编辑器为中心的环境,方便用户轻松地使用静态方法和语言注入,来检测重复项。

3. Codenvy

于2012年首发的Codenvy,是一款构建于Eclipse Che之上的,基于Java IDE的商业云平台。它能够被各种主流浏览器访问到。作为一个可供多用户远程开发的开源式云应用,该工具为各种框架、工具或语言,创建了插件形式的SDK(系统开发工具包)。目前,Codenvy提供开发者、企业和开发社区,三种版本可供选择。

Codenvy编辑器通过提供一种有效的方式,在其托管的云端IDE中,实现了对应用程序的编辑、构建和调试。同时,它不但能够在开发期间通过共享和协作,来简化程序员的工作量,而且可以被发布到Git之类的存储库中,或其他的部署平台上。

此外,它既可以提供对诸如C#、C ++、JavaScript和PHP等解释性和编译语言的支持,又能够实现代码完成度检查、重构、以及语法突显等功能。

特征

  • 提供多达3 GB的可用RAM,可以在一到两台主机的不同技术堆上运行与测试代码

  • 通过CLI的推、拉和克隆等方式,实现在线或离线工作

  • 团队能够以轻松的协作方式,来构建任何项目

  • 可同时启动多个流程,以实现运行、构建和部署

  • 可在数秒钟内,从任意台主机上启动某个项目

  • 能够使用那些可移植的Docker运行时,来进行代码的开发

4. Eclipse

由IBM于2001年11月首发的开源式Eclipse,被视为三大Java IDE之一。它提供了桌面版,以及被称为Eclipse Che(即:让程序员通过Web浏览器来开发应用)的云端版本。

目前,两种版本均配备了丰富的插件和各种附加功能。也就是说,Eclipse通过插件来支持使用多种语言(包括C、C ++、Clojure、Groovy、Haskell、JavaScript、Julia、Perl、PHP、Ruby、Rust和Scala)的应用开发。当然,您也可以使用PDE(插件开发环境),来为Eclipse开发特定的功能。虽然是为Java应用而开发的,但是它也可以与其他编程语言(不过是在插件的帮助下)一起使用,其中包括:LaTeX之类的排版语言,以及数据库管理系统等网络应用。

Eclipse带有自定义的编译器,可用于开发富客户端(rich client)应用程序,集成开发环境和其他工具,以及促进Java代码的增量编译。为了加快应用程序的开发进程,Eclipse也提供了功能强大的图表、建模、报告、以及测试工具。

特征:

  • 提供现成的代码模板,并能够自动验证语法

  • 支持代码的重构建模,其控制语言可以在Windows、Linux、MacOS、Solaris、以及在启用了远程管理的OS X上被使用

  • 其运行时核心库集合具有拖放功能的用户友好界面

  • 用户可使用插件来扩展Eclipse功能

  • 提供嵌入式主机环境的接口

5. MyEclipse

MyEclipse和Eclipse完全不同。Eclipse是体系结构模式的插件,而MyEclipse是软件开发应用的全功能平台。虽然是一个简单的Java IDE,但是MyEclipse既能够为Java应用开发和Web开发提供各种工具,又能够在用户编写程序时,提供对错误的实时验证。作为企业级插件,它还能够提供一些可选的技术捆绑包。

目前,MyEclipse有两个主要版本--专业版和标准版。除了提供对Angular、HTML、JavaScript和TypeScript的支持之外,MyEclipse还支持应用服务器和数据库的连接器。此外,它还提供了Maven项目管理、Spring Tooling和WebSphere连接器等功能。

特征

  • 支持语法着色

  • 提供强大的调试器,支持在Java EE开发内置库和向导中设置断点

  • 支持用户从浏览器中快速打开文件,编写并运行代码

  • 具有内置的Tomcat服务器

  • 能轻松地测试应用服务器

  • 提供基于表单的编辑器

  • 提供各种Web服务与开发

  • 支持数据库的持久性

  • 提供数据库连接器、简化的SQL、以及数据库可视化

  • 可逆向工程

  • 带有Bean Tooling和Scaffolding等Spring工具

  • 提供具有RAD迁移功能的WebSphere连接器

  • 能产生企业级报告

  • 支持Angular和TypeScript 2.x编码、Angular HTML模板智能、以及Angular-CLI集成

  • 简化了JavaScript和TypeScript的Web脚本编制

  • 提供语法高亮、智能内容辅助、快速准确的验证、以及集成调试

  • 带有调用和类型层次结构、源重构和格式化

  • 提供跳转声明、更好的代码可视化

  • 针对HTML的验证和自动完成

  • 使用Live Preview进行Code Live

  • 支持Linux、macOS和Windows平台

6. Xcode

Xcode是由Apple于2003年专门为MacOS开发的。它能够给Mac、iPhone、iPad、Apple Watch和Apple TV等应用的构建,免费提供高效的环境。Xcode的亮点包括:内置的调试器、GUI构建器、以及配置文件的自动完成功能。

由于Xcode具有内置的版本控制支持,因此您在将存储库推送到git时,无需额外添加此类功能。除了支持Java外,Xcode还支持AppleScript、C、C ++、Objective-C、Objective-C ++、Python、Ruby、以及Swift。

特征

  • 可实现快速配置、访问与测试

  • 提供主题管理

  • 支持MacOS平台

  • 可以快速打开任何文件

  • 拆分窗口视图编辑器可方便用户以图形的方式比较两个源代码文件

  • 编码助手使用Xcode调试器来调试程序

  • 代码过滤器用户界面可显示caller、header等实用信息

7. NetBeans

于1997年首次发布的NetBeans属于Java IDE的三大类之一。它也是使用最广泛的IDE之一,可以通过提供一系列强大的工具和功能来构建桌面、移动和Web应用程序。NetBeans不但开源、免费,而且支持PHP、C/C ++、HTML5和JavaScript等28种编程语言,因此它是Java IDE和Java 8的官方IDE。

NetBeans平台提供了多种具有IDE功能的模块化组件。这些模块包括:NetBeans Profiler、GUI设计工具、以及NetBeans JavaScript编辑器。此外,NetBeans中内置的工具也可被用于重构代码、以及编写无语法错误的代码。

特征

  • 对跨平台和多种语言提供支持

  • 提供视觉调试器、NetBeans探查器、以及静态分析工具

  • 可用于管理项目

  • 提供代码编辑器、转换器、以及批处理代码分析器

8. jGRASP

jGRASP是一款优秀的轻量级Java IDE。它可以在任何带有JVM的平台上运行,并通过提供可视化的自动化生成,以提高软件的易理解性。

jGRASP自带有集成的调试器,以及一个为Java开发人员提供各种工具的工作台。该工作台可以被配置为与大多数免费、或商用的编译器一起使用,以支持各种编程语言。尽管jGRASP使用Java编写,但它可以为C、C ++、Python、Ada和Objective-C创建控件的结构图。

特征

  • 提供图形调试器

  • 可以根据CSD(控制结构图)来轻松地折叠源代码

  • 提供基于语法的着色

  • 具有适用于编译、运行和调试各种程序的图标和菜单

9. JCreator

由Xinox软件开发的JCreator是一种轻量级的Java IDE。由于完全采用C ++开发,因此它无需JRE即可执行Java代码。JCreator比其他基于Java的IDE更快。JCreator的界面与Microsoft Visual Studio非常相似,并提供3种版本:Lite(LE)、Pro(Pro)和Lite-Pro(LE-PRO)。JCreator的付费版本带有Ant支持、代码向导、以及调试器。JCreator虽无高级功能,也无法通过第三方插件进行扩展,但是它体积更小、速度更快、并且是初学者的理想选择。

特征

  • 提供块选择、彩色括号匹配、自动换行、拼写检查、选项卡式文档、Docked工具栏和工作区

  • 支持全屏模式、挂载项目、以及基于虚拟文件夹的项目

  • 提供智能化的对接助手、代码模板、文件模板、工作空间结构、文件属性查看器、以及集成的CVS

  • 提供类和接口向导、实施界面向导、插入Bean方法、以及文件分割器

  • 支持项目、文件夹和文件的构建

  • 可执行并建立项目

  • 提供JDK工具、JDK配置文件、JDK调试器、各种库、代码标识符、代码补足完成、代码Refractory、以及符号检查

  • 支持类路径的管理

  • 支持优化导入并提供导入建议

  • 提供用户类别着色、上下文相关帮助、源代码导航、运行时配置、Java控制台

10. JDeveloper

Oracle JDeveloper是一款涵盖整个开发生命周期的开源式免费IDE。它为Oracle提供了完整的端到端开发体验。JDeveloper可以轻松地与Oracle应用开发框架(Oracle ADF)相集成,并通过提供可视化和声明性的开发方法,来简化应用程序开发。除了Java,它也可以被用于开发GTML、JavaScript、PHP、SQL和XML等应用程序。

特征

  • 提供友好的界面,以便用户轻松地将Java程序与数据库连接

  • 管理软件的整个生命周期,可简化基于Java的应用程序

  • 提供可视化和声明性编辑器

  • 提供Java SE和Java EE环境、完整的数据库开发环境、Visual HTML 5编辑器

  • 具有拖放功能

  • 支持网络和移动应用的开发

  • 提供与Oracle融合中间件

小结

上述介绍的各种IDE囊括了功能齐全的商业软件,以及免费且开源的软件。您具体应该选用哪种Java IDE,完全取决于手头的项目需求和开发人员的专业水平。毫无疑问,开发人员了解的IDE种类越多,他们的动手能力、以及针对特定项目的部署能力也就越强。

原文标题:Best IDEs in Java for App Development 2020,作者: john h

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】