Java 开发新选择?Apache NetBeans IDE 9.0 正式发布

640?wx_fmt=gif

自 2016 年 10 月 Oracle 向 Apache 软件基金会(Apache Software Foundation,ASF)提供了主流的软件开发环境以来,ASF 就开始致力于 NetBeans IDE 的开发。如今,Apache NetBeans IDE 9.0 正式发布了,且在此之前 Apache NetBeans 在社区上针对此版本进行了满意度调查,它会是最好用的 Java IDE 吗?

640?wx_fmt=jpeg

Apache NetBeans IDE 9.0 版本主要实现了两大目标:

  • 对 Oracle 捐赠的代码就 IP(知识产权)问题进行清理;

  • 支持 Java 9 和 Java 10。


640?wx_fmt=png

对 Oracle 捐赠的代码就 IP(知识产权)问题进行清理


Apache NetBeans 是一个开源的软件开发集成环境,可用于 Java、JavaScript、C/C++、PHP 等语言的开发。NetBeans 本身也是一个开发平台,可以通过扩展插件来扩展功能。

NetBeans 最初由 Sun 开发,Oracle 于 2016 年 9 月将其交给 Apache 基金会进行孵化,并承诺通过三次单独的代码捐赠,以完成 NetBeans 从 Oracle 向 Apache 的迁移。至于其原因,根据开源项目 Oracle 产品经理及开发者倡导者 Geertjan Wielenga 表示,NetBeans 非常庞大,一旦捐赠了一切,它可能会成为 ASF 主持下的最大项目。其次这是一个已有 20 多年历史的项目,它为各种技术提供支持。因为在将这些文件捐赠给 Apache 之前需要对很多的文件进行审核,所以才决定将 NetBeans 分段捐赠。

“并且由于 NetBeans 是模块化的,”他解释说,“进行增量捐赠并不困难。第一次捐赠专注于底层核心,即 NetBeans 平台(例如,模块系统,窗口系统,菜单栏等) 。并且,为了使第一次捐赠的结果可用于一般用户而不仅仅是 NetBeans 平台开发人员,还包括各种 Java SE 功能,例如 Java 项目模板、Java 编辑器和新的 Java 功能,例如支持对于 Jigsaw,JLink 和 JShell。”

最终,Oracle 在去年捐赠了大约 400万行代码。今年 6 月,再次向 Apache NetBeans 进行代码捐赠。捐赠的 zip 文件中包含约 150 万行代码,主要用于构成 NetBeans 处理 Enterprise Java、JavaScript、PHP、Groovy 的各个模块,以及适用于移动和 Web 开发的各种功能。

而 Oracle 所捐赠的 NetBeans 项目的部分代码是受到专利保护的。其中大部分专利是 Oracle 自己的,小部分专利是 Oracle 与其他公司共享的(也就是说这些代码的专利并不在 Oracle 手上,它只有使用权,没有专利权)。所以需要用其它开源代码替换专利代码以解决法律问题。


640?wx_fmt=png

支持 Java 9 和 Java 10


支持局部变量类型推断

为新的 JDK 10“var”类型提供新提示、错误处理程序和重构:

  • 将显式类型转换为'var'时,支持新的提示。

640?wx_fmt=png

  • 将 var 类型转换回显式类型,有新提示。

640?wx_fmt=png

  • 拆分 var 声明时,有错误提示。

640?wx_fmt=png

  • var 数组声明时,有错误提示。

640?wx_fmt=png

支持 Jigsaw 模块化系统

NetBeans 9 支持 JPMS(Jigsaw)。

除了 Classpath 之外,还添加了 Modulepath 列入 NetBeans 模板中。

标准 NetBeans Java SE 项目类型(基于 Ant)可以是单个 JDK 9 模块,只需将 module-info.java 文件添加到默认包中即可。

640?wx_fmt=png

当然,也为 module-info.java 提供自动补全功能。

640?wx_fmt=png

全新的 Java 模块化应用程序项目类型

我们添加了一个新的 Java Modular 项目类型。 这允许在一个 NetBeans 项目(基于 Ant)中开发多个 JDK9 模块。

此项目类型比多个 Java SE 项目(每个项目包含一个模块)具备的优势是,通过在 module-info.java 中声明 exports 和 requires 来简单地管理依赖项,且立即编译项目中的所有模块。

640?wx_fmt=png

支持 Java Shell。

Java Shell 是在 JEP 222 中定义并于 JDK 9 引入的一个新工具,用于向 Java 引入 REPL(读取 - 评估 - 打印 - 循环)功能。

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png


640?wx_fmt=png

最强 Java IDE?


那么新版 Apache NetBeans IDE 9.0,是否受开发者的喜爱?对此,Apache 在社区上发起了一项满意度调查。日前,该调查结果公布,具体如下:

整体质量

整体品质方面,32.5%的用户认为 Apache NetBeans IDE 9.0 优于 8.2,有 10.3% 的用户认为 8.2 更好,57.3% 的用户认为二者相差不大。

640?wx_fmt=png

性能

性能方面,依然是大多数用户认为差距并不明显,有 27.4% 的用户认为 Apache NetBeans IDE 9.0 优于 8.2 。

640?wx_fmt=png

Java Editor

高达 75.2 %的受访用户认为 Apache NetBeans IDE 9.0 的 Java 编辑功能符合他们的预期,另有 18.8% 的人认为还存在一些问题有待完善。其中,吐槽点主要集中在代码完成和编译上。

640?wx_fmt=png

Java 调试器

对于 Java 调试器,65.8% 的用户认为 Apache NetBeans IDE 9.0 提供了足够的调试支持。有意思的,有 14.5% 的受访用户表示他们根本不使用 Apache NetBeans 中的 Java 调试功能,或许他们正在同时使用另一款 IDE ?

640?wx_fmt=png

Java 重构

最后,约有 2/3 的受访者认为 Apache NetBeans IDE 9.0 对 Java 重构的支持是合适的。但是,也有超过 20% 的用户认为存在一些需要解决的问题。比如有评论指出“删除和重命名文件不一致会引发异常,更改接口类型有时也会导致异常,接口类型会发生变化,但所有实现都需要手动更改“等等。此外,有 8.5% 的人表示他们不使用 NetBeans 的 Java 重构功能。

640?wx_fmt=png

下载地址:

  • Apache NetBeans 9.0,2018 年 7 月发布:https://netbeans.apache.org/download/nb90/nb90.html

  • Apache NetBeans 9.0 RC1,2018 年 5 月发布:https://netbeans.apache.org/download/nb90/nb90-rc1.html

  • Apache NetBeans 9.0 Beta,2018 年 2 月发布:https://netbeans.apache.org/download/nb90/nb90-beta.html

对于 Apache NetBeans IDE 9.0 ,你怎么看?

参考:

  • https://netbeans.apache.org/download/nb90/index.html

  • https://www.oschina.net/news/98453/netbeans-9-acceptance-survey

  • https://cwiki.apache.org/confluence/display/NETBEANS/Results+from+Apache+NetBeans+IDE+9.0+Community+Acceptance+survey

640?wx_fmt=png


征稿啦

CSDN 公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。

如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱(guorui@csdn.net)。


————— 推荐阅读 —————

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=jpeg

640?wx_fmt=gif

640?wx_fmt=gif

展开阅读全文

没有更多推荐了,返回首页