1. 程式人生 > >Java 開發新選擇?Apache NetBeans IDE 9.0 正式發布

Java 開發新選擇?Apache NetBeans IDE 9.0 正式發布

roc mage 開發平臺 exports 保護 代碼 shell 有時 tex

自 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(知識產權)問題進行清理;
支持 Java 9 和 Java 10。
對 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 開發新選擇?Apache NetBeans IDE 9.0 正式發布