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

Apache NetBeans IDE 9.0 版本主要实现了两大目标:
对 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 手上,它只有使用权,没有专利权)。所以需要用其它开源代码替换专利代码以处理法律问题。
支持 Java 9 和 Java 10
支持局部变量类型推断
为新的 JDK 10“var”类型提供新提醒、错误解决程序和重构:




支持 Jigsaw 板块化系统
NetBeans 9 支持 JPMS(Jigsaw)。
除了 Classpath 之外,还增加了 Modulepath 列入 NetBeans 模板中。
标准 NetBeans Java SE 项目类型(基于 Ant)可以是单个 JDK 9 板块,只要将 module-info.java 文件增加到默认包中就可。

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

全新的 Java 板块化应用程序项目类型
我们增加了一个新的 Java Modular 项目类型。 这允许在一个 NetBeans 项目(基于 Ant)中开发多个 JDK9 板块。
此项目类型比多个 Java SE 项目(每个项目包含一个板块)具有的优势是,通过在 module-info.java 中公告 exports 和 requires 来简单地管理依赖项,且立即编译项目中的所有板块。

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


最强 Java IDE?
那么新版 Apache NetBeans IDE 9.0,能否受开发者的喜爱?对此,Apache 在社区上发起了一项满意度调查。日前,该调查结果公布,具体如下:
整体质量
整体品质方面,32.5%的客户认为 Apache NetBeans IDE 9.0 优于 8.2,有 10.3% 的客户认为 8.2 更好,57.3% 的客户认为二者相差不大。

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

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

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

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

写在最后:
码字不易看到最后了,那就点个关注呗,只收藏不点关注的都是在耍流氓!
关注并私信我“架构”,免费送一套Java架构资料,先到先得!