適用于應用開發的十大優秀Java IDE
譯文【51CTO.com快譯】 不知您是否已注意到,那些僅靠文本編輯器來編寫編程的日子早已一去不復返了。如今已是IDE(集成開發環境)的時代,各種用于構建應用的開發者工具往往被歸并到獨立的GUI中。而一個IDE通常會包含源代碼編輯器、調試器、以及各種構建自動化的工具。它們能夠在代碼之間進行導航,促進代碼的完成,以及對重構提供支持。
為了流暢、輕松地編寫、調試和測試代碼,開發人員通常會選擇最適合手頭項目的IDE。其中,最常被用到的當屬Java IDE。總的說來,Java IDE具有如下優勢:
- 自動驗證語法
- 支持語法著色(syntax coloring)
- 提供現成的代碼模板
- 支持代碼重構
- 提供強大的調試器和Java編輯器
- 允許設置斷點
下面,我們就和您討論那些適用于不同應用開發需求的Java IDE。
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
于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】