【51CTO.com快译】 不知您是否已注意到,那些仅靠文本编辑器来编写编程的日子早已一去不复返了。如今已是IDE(集成开发环境)的时代,各种用于构建应用的开发者工具往往被归并到独立的GUI中。而一个IDE通常会包含源代码编辑器、调试器、以及各种构建自动化的工具。它们能够在代码之间进行导航,促进代码的完成,以及对重构提供支持。
为了流畅、轻松地编写、调试和测试代码,开发人员通常会选择最适合手头项目的IDE。其中,最常被用到的当属Java IDE。总的说来,Java IDE具有如下优势:
- 自动验证语法
- 支持语法着色(syntax coloring)
- 提供现成的代码模板
- 支持代码重构
- 提供强大的调试器和Java编辑器
- 允许设置断点
下面,我们就和您讨论那些适用于不同应用开发需求的Java IDE。
![d510d8982ebe1cdf955c001ab0c41584.png](https://i-blog.csdnimg.cn/blog_migrate/0eced9e66a34ad6d45848161998e3c27.jpeg)
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
![61e793c5eff351cd43509f93aa69ce5a.png](https://i-blog.csdnimg.cn/blog_migrate/33bbc90a796aca4d7306b65230cf581b.jpeg)
于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】