java ide 选择_选择您的Java IDE

java ide 选择

更新时间:2018年12月

每个Java开发人员都需要一个编程编辑器或IDE,它可以帮助编写Java以及使用类库和框架的较简单的部分。 确定最适合您的编辑器或IDE取决于几件事,包括正在开发的项目的性质,您在组织中的角色,开发团队使用的过程以及您作为程序员的水平和技能。 其他考虑因素是团队是否对工具进行了标准化以及您的个人喜好。

服务器端Java开发中最常选择的三个IDE是IntelliJ IDEA,Eclipse和NetBeans。 但是,这些并不是唯一的选择,并且此评论还将包括一些轻量级的IDE。

对于本综述,我在Mac上全新安装了IntelliJ IDEA Ultimate 2018.3,针对Java EE开发人员的Eclipse IDE 2018‑09和Apache NetBeans(正在孵化)IDE 9。 我还签出了几个开源Java项目,以便可以在同一项目上测试所有IDE。

关于此更新

该IDE审查于2016年9月首次发布,并于2018年12月进行了更新。在随后的几年中,Java语言,API,JVM生态系统和某些框架有了显着的发展。 Java EE 8引入或更新了许多Java技术规范,包括JSON-B(JavaScript对象表示法绑定),Java EE安全性, Servlet 4.0和用于构建服务器端用户界面的JSF(JavaServer Faces)2.3 。 Java EE 8也是Oracle最终的Java企业版本:Eclipse Foundation负责管理该技术, 并将其更名为Jakarta EE 。 同时,JUnit已升级到版本5,打破了集成。 IDEA和Eclipse都具有对JUnit 5的本机支持,但在撰写本文时,NetBeans还没有。

无论是一般用途还是特定项目,所有这些更改都应该是对IDE进行评估的一部分。

NetBeans 10添加了对JUnit 5和JDK 11的支持

NetBeans 10在2019年1月发布, 增加了对JDK 11和JUnit 5的支持

基础知识:Java IDE的需求

至少,您希望您的IDE支持Java 8和/或11(LTS版本),Scala,Groovy,Kotlin以及您经常使用的任何其他JVM语言。 您还希望它支持主要的应用程序服务器和最流行的Web框架,包括Spring MVC ,JSF,Struts,GWT,Play,Grails和Vaadin。 您的IDE应该与开发团队使用的任何构建和版本控制系统兼容。 示例包括具有Ivy,Maven和Gradle的Apache Ant,以及Git,SVN,CVS,Mercurial和Bazaar。 为了获得额外的荣誉,您的IDE应该能够处理堆栈的客户端和数据库层,并支持嵌入式JavaScript,TypeScript,HTML,SQL,JavaServer Pages,Hibernate和Java Persistence API。

最后,您希望Java IDE可以让您轻松,优雅地编辑,构建,调试和测试系统。 理想情况下,您不仅要具有智能的代码完成功能,而且还要具有重构和代码指标。 如果您在一家进行测试驱动的开发的商店中,则需要对测试框架和存根的支持。 如果您的团队使用票务系统和CI / CD,则最好是您的IDE可以连接到它们。 如果需要部署到容器和云并在容器和云上进行调试,则IDE应该可以帮助您做到这一点。

牢记这一基础,让我们考虑一下竞争者。

IntelliJ IDEA

IntelliJ IDEA是就功能和价格而言都是一流的Java IDE,它有两个版本:免费的Community Edition和付费的Ultimate Edition,后者具有附加功能。

社区版旨在用于JVM和Android开发。 它支持Java,Kotlin,Groovy和Scala; Android; Maven,Gradle和SBT; 和Git,SVN,Mercurial,CVS和TFS。

Ultimate版本旨在用于Web和企业开发,除其他版本控制系统外,还支持Perforce。 支持JavaScript和TypeScript; 支持Java EE,Spring,GWT,Vaadin,Play,Grails和其他框架; 并包括数据库工具和SQL支持。

这个想法是,商业版(最终版)将在专业人士的桌面上赢得一席之地,通过提高程序员的工作效率来证明付费订阅是合理的。 如果您以Java开发人员的身份每年赚取$ 50K- $ 100K,那么每年$ 500的商业IDEA订阅费用就不会为您带来快速的投资回报。 在随后的几年中,企业的价格下降了,对于初创企业和个人而言,价格要低得多,并且对学生,教师,“ Java冠军”和开源开发人员免费。

IntelliJ大力宣传IDEA,以深入了解您的代码,开发人员人体工程学,内置的开发人员工具以及多语言编程经验。 让我们深入了解这些功能的含义,以及它们如何为您提供帮助。

intellij idea重构截图2018 11 25 15.06 马丁·海勒

图1. IntelliJ IDEA在编辑器中提供了多种上下文相关的动作,包括多种选择的重构选项以及与GitHub的集成。

深入了解您的代码

语法着色和简单的代码完成是Java编辑器提供的。 IDEA不仅提供“智能完成”功能,还意味着它可以弹出适用于当前上下文的最相关符号的列表。 这些按您的个人使用频率进行排名。 “链完成”会更深入,并显示可通过当前上下文中的方法或获取器访问的适用符号的列表。 IDEA还完成静态成员或常量,自动添加任何需要的import语句。 在所有代码完成中,IDEA都会尝试猜测运行时符号类型,从中优化选择,然后根据需要添加类强制类型转换。

Java代码通常包含其他语言作为字符串。 IDEA可以将SQL,XPath,HTML,CSS和/或JavaScript代码的片段注入Java String文字中。 因此,它可以跨多种语言重构代码。 例如,如果您在JPA语句中重命名类,则IDEA将更新相应的实体类和JPA表达式。

重构一段代码时,您通常要做的一件事就是重构该代码的所有重复项。 IDEA Ultimate可以检测重复项和类似片段,并对其进行重构。

IntelliJ IDEA在代码加载和键入时会对其进行分析。 它提供检查以指出可能的问题,并在需要时提供检测到问题的快速修复列表。

开发人员人体工程学

IntelliJ设计IDEA时要考虑开发人员的创造性流程 - 也就是 “在区域中”。 只需单击鼠标,即可从视图中消失图1左侧所示的Project工具窗口,因此您可以专注于代码编辑器。 您在编辑时想要做的所有事情都有一个键盘快捷键,包括在弹出窗口中显示符号定义。 虽然学习快捷方式确实需要时间和实践,但最终它们却成为了第二本性。 即使不知道快捷方式,开发人员也可以轻松,快速地学习使用IDEA。

IDEA调试器的设计特别好。 变量值显示在相应源代码旁边的编辑器窗口中。 当变量的状态更改时,其突出显示颜色也会更改。

内置开发人员工具

IntelliJ IDEA为大多数主要版本控制系统(包括Git,SVN,Mercurial,CVS,Perforce和TFS)提供统一的界面。 您可以直接在IDE中进行所有变更管理。 当我测试IDEA时,我希望源代码块中的最后更改将作为注释显示在编辑器窗口中(就像在Visual Studio中一样)。 事实证明, 有一个插件

IDEA还集成了构建工具,测试运行程序和覆盖率工具以及内置的终端窗口。 IntelliJ没有自己的探查器,但是它通过插件支持多个第三方探查器。 其中包括由以前的IntelliJ首席开发人员创建的YourKit和VisualVM(它是NetBeans探查器的重新打包版本)。

当您没有源代码的类中发生神秘的事情时,调试Java会很痛苦。 对于这些情况,IDEA带有反编译器。

Java服务器编程通常涉及使用数据库,因此IDEA Ultimate包括SQL和NoSQL数据库工具。 如果您需要更多,则可以将专用SQL IDE(DataGrip)作为所有产品订阅的一部分,仅比IDEA Ultimate订阅贵一点。

IntelliJ IDEA支持所有主要的JVM应用程序服务器,并且可以部署到服务器中并在服务器中进行调试,从而解决了企业Java开发人员的主要难题。 IDEA还通过添加Docker工具窗口的插件支持Docker。 (谈到插件,IntelliJ有很多 。)

多种语言编程

IDEA扩展了对Spring,Java EE,Grails,Play,Android,GWT,Vaadin,Thymeleaf,Android,React,AngularJS和其他框架的编码帮助。 并非所有这些都是Java框架。 除了Java外,IDEA还可以立即使用许多其他语言,包括Groovy,Kotlin,Scala,JavaScript,TypeScript和SQL。 如果您需要更多,目前有数百种IntelliJ语言插件,包括R,Elm,Go,Rust和D的插件。

Eclipse IDE

长期以来最受欢迎的Java IDE Eclipse是免费和开放源代码,并且主要用Java编写,尽管其插件体系结构允许Eclipse以其他语言进行扩展。 Eclipse起源于2001年,它是一个IBM项目,用可移植的基于Java的IDE替代了基于Smalltalk的IBM Visual Age系列IDE。 该项目的目标是使Microsoft Visual Studio黯然失色,因此得名。

Java的可移植性帮助Eclipse跨平台:Eclipse在Linux,Mac OS X,Solaris和Windows上运行。 Java Standard Widget Toolkit(SWT)至少部分负责Eclipse的外观,无论其好坏。 同样,Eclipse也要归功于JVM的性能(或有人说缺少)。 Eclipse以运行缓慢而著称,这可以追溯到较早的硬件和较早的JVM。 但是,即使在今天,它仍然会感觉很慢,尤其是当它在后台安装了许多插件进行自我更新时。

Eclipse的部分开销来自其内置的增量编译器,该编译器在加载文件和更新代码时均运行。 总而言之,这是一件非常好的事情,并且在您键入时提供错误指示。

与构建系统无关,Eclipse Java项目还维护其内容模型,其中包括有关类型层次结构,引用和Java元素声明的信息。 总的来说,这也是一件好事,并启用了多个编辑和导航助手以及大纲视图。

Eclipse的当前版本是2018‑09。 我为Java EE Developers安装了Eclipse IDE ,但是还有许多其他安装软件包,包括用于安装最小的Eclipse SDK以及仅根据需要添加插件的选项。 最后一个选择不是出于虚弱的考虑:在并不真正表示它们不兼容的插件之间引入冲突并不困难。

eclipse ide屏幕快照2018 11 25 12.05 马丁·海勒

图2.从左上角顺时针方向,我们在Eclipse工作台中看到四个窗格:Project Explorer,Java编辑器,Java类概述以及问题和任务列表。

扩展工具支持

插件生态系统是Eclipse的优势之一,也是偶尔感到沮丧的原因。 Eclipse市场目前包含1600多个解决方案,并且社区贡献的插件可能会或可能不会像所宣传的那样起作用。 Eclipse插件仍然支持100多种编程语言和近200种应用程序开发框架。

大多数Java服务器也受支持:如果您从Eclipse定义新的服务器连接,则会出现一个供应商文件夹列表,在该文件夹下您会找到大约30个应用程序服务器,其中包括9个版本的Apache Tomcat。 商业供应商倾向于将它们的产品放在一起:例如,在Red Hat JBoss中间件下只有一个项目,其中包括WildFly和EAP Server Tools以及JBoss AS。

编辑,浏览,重构和调试

开发人员对Eclipse的初次体验可能会令人感到困惑,甚至令人困惑。 这是因为您的首要任务是适应Eclipse的工作区,透视图和视图的概念体系结构,其功能由您安装的插件确定。 例如,对于Java服务器开发,您可能会使用Java,Java EE和Java浏览透视图。 包浏览器视图; 调试角度; 团队同步的观点; 网络工具; 数据库开发的观点; 和数据库调试透视图。 实际上,一旦打开所需的视图,所有这些都将变得有意义。

在Eclipse中执行给定任务的方法通常不止一种。 例如,您可以使用项目浏览器和/或Java浏览透视图浏览代码。 您选择的是品味和经验。

Java搜索支持使您可以查找Java包,类型,方法和字段的声明,引用和出现。 您还可以使用快速访问进行搜索,并使用快速视图弹出类大纲之类的内容。

翻译自: https://www.infoworld.com/article/3114167/choosing-your-java-ide.html

java ide 选择

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值