英文原文鏈接:https://www.webcreek.com/en/blog/technology/top-IDEs-2021/
本文最初發(fā)布于 https://www.webcreek.com/en/blog/technology/top-IDEs-2021/,由 InfoQ 翻譯并分享。
當一支團隊一起開發(fā)軟件時,編碼過程會變得更加復雜。團隊成員需要溝通、共享代碼,并聚在一起工作。開發(fā)可不只是將 UI 切換到暗亮模式在一塊機械鍵盤上敲敲代碼,它可能還得運行、調(diào)試、測試和性能調(diào)優(yōu),等等等等。
雖然,無數(shù)工具可以應對這類挑戰(zhàn),但當它們出現(xiàn)在不同的平臺上時,可能會讓人不知道如何選擇。然而,優(yōu)秀的開發(fā)人員都能管理好工具箱中的工具,也就是“IDE”。
有沒有“最佳集成開發(fā)環(huán)境(IDE)”呢?其實,并沒有。
最適合你的 IDE 就是最好的那一款。IDE 的選擇完全取決于你正在開發(fā)的程序類型、所選擇的編程語言以及你正在使用的硬件類型。
雖然功能最強大的 IDE 聽起來不錯,但對于你的機器來說,它可能太過重量級了。雖然多語言 IDE 看起來似乎具備了你所需的一切,但如果你只使用一種或兩種語言,它可能就有點牛刀小用了。
反之,特定語言的 IDE 通常能很好地完成一件事情。這對于專業(yè)的開發(fā)人員來說可能是完美的,但是對于精通多種語言的程序員來說可能就不是。
許多人可能會選擇免費的集成開發(fā)環(huán)境,盡管這對于商業(yè)或企業(yè)團隊可能不是理想選擇。免費軟件可能會帶來一些問題,比如缺乏支持、更新不規(guī)律或插件不兼容。
然而,支持免費或開源軟件也有它的好處。首先,這意味著用戶可以支持小型企業(yè)的 IDE,而不是大型企業(yè)。其次,免費 IDE 通常擁有強大的、用戶驅(qū)動的插件市場。在某些情況下,用戶甚至可以聯(lián)系社區(qū)委托定制插件。此外,免費 IDE 通常比商業(yè)產(chǎn)品更容易定制。一些 IDE 使用戶有機會從它的源代碼開始構建應用程序。
雖然沒有一種比其他的都要好的 IDE,但是肯定也會有一些開發(fā)人員和工程師一直支持的 IDE。下面這份指南列出了一些在市場上流行的我們最喜歡的 IDE。
Visual Studio 2019 的強大功能和多功能性使其成為頂級的競爭者。它擁有像 Visual Studio Live Share(https://visualstudio.microsoft.com/services/live-share/?ref=hackernoon.com)、AI 輔助智能感知、Intellicode 和 IntelliTrace、代碼映射調(diào)試器集成,以及 Azure Devops 服務器集成等諸多特性(https://visualstudio.microsoft.com/vs/compare/?ref=hackernoon.com)。除了許多開箱即用的特性外,它還擁有一個由微軟和Visual Studio 用戶共同搭建的擴展插件市場(https://marketplace.visualstudio.com/?ref=hackernoon.com)。
Visual Studio 完美地涵蓋了一款可靠的 IDE 應該具有的所有基本特性,而且它使獨立開發(fā)或團隊開發(fā)變得非常輕松。此外,它提供了免費的社區(qū)許可(https://visualstudio.microsoft.com/vs/community/?ref=hackernoon.com),而且是開源的。
許多頂級 IDE 只提供英語用戶界面。對于國際團隊來說,這可能是個問題。幸運的是,VS 2019 已經(jīng)推出了 14 種官方 UI 語言(https://docs.microsoft.com/en-us/visualstudio/releases/2019/system-requirements?ref=hackernoon.com)。
Visual Studio 社區(qū)在其網(wǎng)站和 youtube 頻道上都有深入的支持 (https://docs.microsoft.com/en-us/visualstudio/windows/?view=vs-2019&ref=hackernoon.com) 和教程 (https://visualstudio.microsoft.com/vs/getting-started/?ref=hackernoon.com)。在那里,微軟團隊成員積極與客戶合作,提供可靠的反饋和支持。
Visual Studio 2019 可能有些貴,特別是如果你想要 IDE 的所有可用特性 (可以點擊(https://visualstudio.microsoft.com/vs/compare/?ref=hackernoon.com)查閱完整的特性列表)。微軟提供 (https://visualstudio.microsoft.com/vs/pricing-details/?ref=hackernoon.com) 年度標準許可,以及月度許可和云訂閱。標準訂閱比按月訂閱貴得多。如何選擇這三種許可選項,取決于你的團隊規(guī)模。對于標準訂閱,用戶可以選擇專業(yè)許可和企業(yè)許可。
雖然 Visual Studio 2019 為在 Windows 和 MacOS 上工作的開發(fā)人員提供了許多特性,但你不得不拋棄那些 Linux 開發(fā)人員。這個列表上的其他 IDE 都可以在 Linux 上運行,而 VS 2019 則和它們不同。
VS 2019 也是一款重量級的應用,所以它可能會很慢。對于那些沒有性能強勁的機器和 SSD 的用戶,使用 Visual Studio 可能會遇到一些性能問題。
除了性能問題,VS 2019 上大量的特性也會讓開發(fā)人員手足無措、難以入門。它可能對初學者不太友好,需要花費相當?shù)臅r間來學習它的許多特性。
初學者和那些機器不太好的人可能會在使用重量級的、特性過多的 Visual Studio 2019 時遇到問題。
由于其價格、重量級和可用性,這個流行的 IDE 似乎主要針對于那些擁有專業(yè)開發(fā)人員和工程師的組織。它的社區(qū)版似乎更適用于個人程序員,他們的機器能夠滿足程序的要求,并有信心駕馭它的無數(shù)特性。
盡管 VS 2019 可能很笨重,而且可能承載了太多的特性,但它的編程能力和行業(yè)流行程度都使它成為一款值得了解的 IDE。因此,任何擁有合適的機器并愿意克服一點學習曲線的人都能夠發(fā)現(xiàn) Visual Studio 是一款優(yōu)秀的 IDE。
盡管有這些缺點,Microsoft Visual Studio 2019 仍然是市場上最受歡迎的 IDE 之一,并因其通用性、靈活性、強大的消費者支持和團隊集成特性而廣受歡迎。
JetBrains 在開發(fā)可靠、專業(yè)的 IDE 方面享有盛名,并且擁有廣泛的用戶基礎,包括個人和專業(yè)人士。事實上,PhpStorm 并不是 JetBrains 唯一上榜的產(chǎn)品。
JetBrains 的 PhpStorm 是 Web 開發(fā)的終極 IDE。依 JetBrains 所說: " PhpStorm = WebStorm + PHP + DB/SQL "
它的 2020.3 版(https://www.jetbrains.com/phpstorm/whatsnew/?ref=hackernoon.com)提供了對 PHP 8、PHPStan、Psalm、Tailwind CSS 和 Xdebug 3 的支持。它還提供了一些高級的團隊特性,比如新的 JetBrains 服務“與我一起編碼”(https://www.jetbrains.com/phpstorm/whatsnew/?ref=hackernoon.com#code-with-me)(Code With Me,類似于 Visual Studio Live Share)。
其他特性(https://www.jetbrains.com/phpstorm/features/?ref=hackernoon.com)包括內(nèi)置智能代碼輔助、智能導航 (改進的“隨處搜”,允許簡單的數(shù)學計算)、特定語言的重構、可視化調(diào)試器、單元測試工具以及 2500 多個插件(https://plugins.jetbrains.com/phpstorm?ref=hackernoon.com)。
雖然沒有針對所有人免費的 PhpStorm 版本,但 JetBrains 提供了各種各樣的折扣方式。這個列表中其他的 JetBrains IDE、IntelliJ IDEA 和 Pycharm 也可以享受這些折扣(https://www.jetbrains.com/phpstorm/buy/?ref=hackernoon.com#discounts?billing=yearly)。
不像其他 IDE, PhpStorm 沒有免費許可。有一些 JetBrains 產(chǎn)品有社區(qū)許可,但是 PhpStorm 沒有。
對于某些人來說,它的個人和組織許可可能也很昂貴,特別是對于個人來說,因為在出于個人目的使用 IDE 時,他們也不得不支付訂閱費用。
雖然他們的訂閱比市場上的其他產(chǎn)品更便宜,但是為個人程序員付費的 IDE 并不總是最好的選擇,特別是有類似的免費 IDE 可供使用時。
與它的一些競爭對手不同的是,PhpStorm 和所有其他 JetBrains IDE 的 UI 只支持英語。
最后,PhpStorm 有很高的系統(tǒng)要求(https://www.jetbrains.com/help/phpstorm/installation-guide.html?ref=hackernoon.com)。JetBrains 推薦 8GB RAM 和 SSD,這意味著該 IDE 比其他 IDE 需要更多的內(nèi)存。
總的來說,PhpStorm 為經(jīng)常從事 Web 開發(fā)的程序員提供了一款強大且發(fā)展良好的 IDE。此外,它的特有功能幫助它成為一款 PHP 專用 IDE。
需要高性能 IDE 進行 Web 開發(fā)的組織可能會發(fā)現(xiàn) PhpStorm 是理想的選擇。但是,因為沒有免費版本的 PhpStorm,它可能不是個人或新程序員的最佳解決方案。此外,由于它是一款較重的程序,沒有合適機器的用戶可能使用 PhpStorm 時會遇到性能問題。
總體而言,PhpStorm 被標榜為市場上最好的 Web 開發(fā) IDE 之一。專業(yè)人士和學生都在使用它,很少有人能超越它對適應語言和發(fā)展變化的承諾。
Eclipse 主要是為 Java 開發(fā)人員打造的,長期以來一直被認為是頂級的免費 IDE。它也可以用一些包(https://www.eclipse.org/downloads/packages/?ref=hackernoon.com)來定制,這些包適用于 Javascript、Rust、Php、C 和 C++ 等的測試和開發(fā)工具。
它提供了一個龐大的插件(https://marketplace.eclipse.org/?ref=hackernoon.com)生態(tài)系統(tǒng),這使得它極其萬能,適合范圍非常廣泛的開發(fā)項目。它還擁有一個活躍的、深度參與的開發(fā)者社區(qū)(https://www.eclipse.org/eclipseide/?ref=hackernoon.com)。
與其他 IDE 相比,Eclipse 比較輕量級,并且沒有官方的最低系統(tǒng)要求。
最后,Eclipse Foundation 在持續(xù)更新(https://wiki.eclipse.org/Simultaneous_Release?ref=hackernoon.com)Eclipse IDE,免費軟件并不都是這樣的。2020-09 版包括了嵌入式 Node.js,改進的 UI 和暗亮模式,自帶一個 JRE,并支持 Java 15。它的 2020-12 版剛剛發(fā)布(https://www.eclipse.org/eclipse/news/4.18/?ref=hackernoon.com),所有包都支持Linux aarch64。
根據(jù)每個人的需要,免費軟件有其優(yōu)點也有其缺點。因為 Eclipse 沒有其他 IDE 所能獲得的資金支持,所以插件沒有經(jīng)過嚴格的審查,因此可能會產(chǎn)生兼容性問題。
一些用戶稱 Eclipse 的 UI 看起來比較陳舊,有時很難使用。因為 UI 是用戶體驗中不可或缺的一部分,并且會影響程序員的工作效率,所以擁有一個良好的界面是很有必要的。
不要被其免費的價格標簽給欺騙了:Eclipse 被廣泛認為是市場上最好的集成開發(fā)環(huán)境之一。
它提供了許多用戶在其他地方必須得購買的免費功能。此外,它比許多其他頂級 IDE 的系統(tǒng)需求更低,這使它成為新程序員或機器功能不太強大的程序員的理想選擇。它的多功能性還使新程序員能夠啟動各種不同的項目。
Eclipse 也非常通用,沒有“框定”用戶。換句話說,需要多功能編程工具的大型商業(yè)或企業(yè)項目會發(fā)現(xiàn) Eclipse 是一款優(yōu)秀的 IDE。
Eclipse 長期以來一直是 IDE 市場上的頂級競爭者,這肯定是有一定原因的。它是多功能的,輕量級的,免費的。它和 IntelliJ IDEA 是目前最流行的兩個 Java IDE。無論你是專家還是初學者,Eclipse 都將是一款優(yōu)秀的 IDE。
Apache NetBeans(https://netbeans.apache.org/?ref=hackernoon.com)是一款免費的 IDE、工具平臺和應用程序框架。它擁有一系列的代碼編輯和重構工具,以及一個強大的插件市場(http://plugins.netbeans.org/PluginPortal/?ref=hackernoon.com)。此外,NetBeans 還包括 Java、JavaScript、PHP、HTML5、CSS 等 (https://netbeans.apache.org/?ref=hackernoon.com) 編輯器。
并不是所有的免費軟件都定期更新,但 NetBeans 是。最近,其發(fā)布的最新主版本(https://netbeans.apache.org/download/nb122/index.html?ref=hackernoon.com)支持 Java 15,并解決了 macOS Big Sur 的問題。
NetBeans 也有一個全心投入的社區(qū)。他們團隊鼓勵用戶貢獻代碼(https://netbeans.apache.org/participate/submit-pr.html?ref=hackernoon.com#contributing-code),參與NetCAT 程序的測試,以及幫助編寫文檔。與其他 IDE 不同的是,NetBeans 社區(qū)在其開發(fā)過程中發(fā)出了積極的聲音。
雖然 NetBeans 有一個強大的插件市場,但是這種優(yōu)勢也有它的缺點。像許多其他免費 IDE 的插件市場一樣,它的插件并沒有所有都經(jīng)過徹底的審查,可能會造成兼容性問題或變得不可靠。
對于某些用戶來說,NetBeans 可能存在性能問題。雖然 NetBeans 沒有官方發(fā)布的最低系統(tǒng)要求,但有些人抱怨它運行得太慢,難以應對大型項目。
最后,NetBeans 在一些 UI 特性上落后了。有一些較新的集成開發(fā)環(huán)境的 UI 是可定制的,而它就沒有這一特性。(不過,簡單并不總是壞事)。
對于初學者、個人或?qū)I(yè)程序員來說,NetBeans 是一款很棒的 IDE。因為它是免費的,所以對于那些預算有限的人,或者那些不是從事專業(yè)項目的人來說,它是很棒的。
雖然 NetBeans 在 IT 公司和企業(yè)中已經(jīng)很成熟,但它一些在大型項目中的問題可能會產(chǎn)生一定影響。此外,某些插件太慢或不可靠,這一點可能對于嚴重依賴它們的程序員來說不太理想。
NetBeans 被廣泛認為是一款簡單、可靠和經(jīng)過時間考驗的 Java IDE。廣泛的插件為它提供了各種各樣的功能,它是一款社區(qū)驅(qū)動的 IDE,這使它成為大多數(shù)程序員的通用產(chǎn)品。
IntelliJ IDEA 是 Java 開發(fā)中使用最廣泛的 IDE 之一。它由 JetBrains 提供支持,提供智能補全、跨語言重構、語言注入、Javascript 支持以及數(shù)據(jù)庫和 SQL 支持。它的 2020.2 版本(https://blog.jetbrains.com/idea/2020/07/intellij-idea-2020-2-is-released/?ref=hackernoon.com)包括對 Java 15 的支持,它的 2020.3 版本(https://www.jetbrains.com/idea/whatsnew/?ref=hackernoon.com#whats-new-20203)包括對 Java 15 的擴展支持。
IntelliJ IDEA 免費提供了一個社區(qū)(https://www.jetbrains.com/idea/features/editions_comparison_matrix.html?ref=hackernoon.com)許可。這個開源版本包括對 Java、Android 開發(fā)、Github 和調(diào)試工具的支持。
IntelliJ IDEA 還擁有一個復雜的代碼補全系統(tǒng),包括基本補全、次級基本補全(https://www.jetbrains.com/help/idea/migrating-from-eclipse-to-intellij-idea.html?ref=hackernoon.com#CodingAssistance)、智能補全、次級智能補全、語句補全。
Intellij IDEA 還被認為擁有用戶友好和直觀的 UI。某些設計特性允許更高效的編程,比如“本地歷史”而不是手動保存,無縫任務切換的自由視角體驗,以及易于定制的工具窗口。
與旗艦版許可相比,社區(qū)許可缺少許多關鍵特性 (這些 Eclipse 都是免費提供的):Javascript、Ruby、SQL、PHP 和 Go 的支持;CSS、Sass、SCSS、Less、Stylus 的編輯器支持;以及 Ruby on Rails、Node.js 和 Django 之類的框架支持。它還缺少集成的分析和數(shù)據(jù)庫工具。
如果擁有 IntelliJ IDEA 旗艦版對你來說很重要,那么它可能會非常昂貴,特別是對于個人程序員來說。
在 IntelliJ IDEA 中同時處理多個項目并不簡單。為此,用戶必須將每個項目配置為一個模塊,而不是直接運行多個項目。
IntelliJ IDEA 不僅比它的競爭對手有更高的系統(tǒng)最低和推薦要求,而且它被普遍認為速度太慢和過于重量級。啟動慢、索引慢、編譯慢。
IntelliJ IDEA 各種各樣的特性使其對初學者、個人和專業(yè)開發(fā)人員都很有利。它為那些還沒有準備好花錢訂閱的用戶提供了免費版本,為那些不習慣在 IDE 中工作的用戶提供了簡單的 UI。
在許多 IT 職場都可以找到 IntelliJ IDEA 的旗艦版授權的身影。通過捆綁價格,公司只需支付 2 個的價格(https://www.jetbrains.com/all/?ref=hackernoon.com)就可以使用 10 個不同的 JetBrains IDE。
然而,單獨使用 IntelliJ IDEA 可能會讓從事各種不同項目的開發(fā)人員產(chǎn)生一種“被限制”的感覺。因此,它可能不具備一些專業(yè)開發(fā)人員所需要的多功能性。
盡管有一些缺點,IntelliJ IDEA 仍然是市場上最好的 Java IDE 之一,許多開發(fā)人員都非常信賴它。
PyCharm(https://www.jetbrains.com/pycharm/features/?ref=hackernoon.com)是一款由 JetBrains 提供支持的 Python 專用 IDE。它提供了對 Python、針對 Web 的 Python 開發(fā)和針對科學的 Python 開發(fā)的支持。
它有多種許可選項,包括免費的社區(qū)版(https://www.jetbrains.com/pycharm/features/editions_comparison_matrix.html?ref=hackernoon.com)。這包括代碼編輯、重構(https://www.jetbrains.com/pycharm/features/coding_assistance.html?ref=hackernoon.com#refactorings)、測試和調(diào)試工具;支持 HTML、XML、YAML、JSON 以及 RelaxNG 的編輯器;支持來自 Github、CVS 等的版本控制;以及許多可定制的 UI 功能。
它的旗艦版本提供了非常廣泛的特性:支持 Cython;有一個 Python 分析器;重復代碼檢測;.po 文件支持;REST 客戶端;支持 CSS、SASS、SCSS、LESS、HAML、Stylus、JavaScript、CoffeeScript、TypeScript 和 Node.js 的編輯器;WebStorm(https://www.jetbrains.com/webstorm/features/?ref=hackernoon.com)的所有功能;七種不同的 Python Web 框架;遠程開發(fā)和容器功能;科學的工具(https://www.jetbrains.com/pycharm/features/scientific_tools.html?ref=hackernoon.com);以及 SQL 數(shù)據(jù)庫支持。
它還有 2400 多個插件(https://plugins.jetbrains.com/pycharm?ref=hackernoon.com),如果這個長長的特性列表還不夠的話,JetBrains 市場上還有更多。
Pycharm 長長的功能列表是有代價的。許多人抱怨說 Pycharm 占用大量內(nèi)存,就算用戶不需要它的所有工具時依然如此。另外,它沒有一個包安裝程序來幫助減輕應用程序的重量。
除此之外,“Pycharm”的價格也相對較高。對于一些用戶和大型企業(yè)來說,可能會有折扣;然而,重要的是別忘了 Pycharm 只是一款專用的 IDE。
對于那些無法支付訂閱費用的人,有一個免費的社區(qū)許可證。然而,這個許可證幾乎是旗艦版的一個空殼:沒有數(shù)據(jù)庫支持,也沒有 Python 分析器,沒有 Python Web 框架,它只有非?;镜?Web 開發(fā)工具。
雖然社區(qū)和旗艦版功能之間的差距可能很大,但是 PyCharm 社區(qū)版也不只是一款最基本的 IDE。此外,它的可靠性、自定義特性和專門的智能工具使它成為一款優(yōu)秀的 Python IDE。
對于擁有硬件和旗艦版授權財力的專業(yè)人士來說,PyCharm 是 Python 開發(fā)的理想 IDE。對于那些有資格享受 JetBrains 眾多折扣之一的人來說,這個版本可能也是一個很好的選擇。
雖然對于組織來說,PyCharm 可能是一款很好的 IDE,但是對于個人開發(fā)人員來說,PyCharm 就不那么友好了。那些需要低成本或免費的 Python IDE 來支持特定數(shù)據(jù)庫或科學工具的人將不得不繼續(xù)尋找其他選擇。對于初學者來說,大量的功能可能會讓人不知所措。除此之外,如果你沒有足夠強大的機器,在運行這個 IDE 時可能會遇到性能問題。
無論用戶做出什么決定,PyCharm 實質(zhì)上都是一款可靠的 Python IDE。如果你愿意花些時間來學習它的特性,如果你擁有的硬件能夠平滑運行它,它將是一個很好的選擇。
Code::Blocks(http://www.codeblocks.org/?ref=hackernoon.com)是一款免費的、開源的 IDE,主要是為 C、c++ 和 Fontran 開發(fā)的。它的主要目標是盡可能的自定義和擴展。與許多其他 IDE 不同,Code::Blocks 是用 c++ 編寫(http://www.codeblocks.org/features?ref=hackernoon.com)的,因此避免了許多用 Java 編寫的 IDE 可能會出現(xiàn)的問題和不便。
block 為用戶提供了很大的自由度,甚至可以在安裝程序之前做出選擇。雖然一些 IDE 建議安裝二進制版本,但 Code::Blocks 提供了下載源代碼(http://www.codeblocks.org/downloads?ref=hackernoon.com)并自定義構建的選項。除了可以從 SVN 訪問源代碼,它們還提供夜間和社區(qū)構建,允許用戶在 code::Blocks 團隊調(diào)試時訪問構建。
值得一提的是,Code::Blocks 官方未給出最低系統(tǒng)要求,它甚至可以在 Windows XP(http://www.codeblocks.org/downloads/binaries?ref=hackernoon.com)上運行。
開箱即用,它支持多種編譯器、調(diào)試工具 (如完全斷點支持或用戶定義的監(jiān)視) 和代碼編輯工具 (如可定制語法高亮顯示、代碼補全和智能縮進)。
Code::block 還擁有一個社區(qū)驅(qū)動的插件市場,幾乎可以提供任何必要的特性。
對于某此人來說,Code::Blocks 的舊式營銷和開發(fā)方法可能還挺好的,但另一些人可能會覺得不舒服。
因為 Code::Blocks 是一款免費軟件,它只在團隊有能力更新時才更新。所以,充其量只是一些零星的更新??此麄兊?FAQ 頁面就能大致了解到他們的局限性:
問:下一個穩(wěn)定版本的 Code::Blocks 什么時候發(fā)布?
答:當它準備好時。
問:那么 ,什么時候能準備好呢?
答:當它發(fā)布的時候。
(Code::Blocks, 2012)
Code::Blocks 對 macOS 兼容性也比較有限。使用 10.6 或更高版本的用戶可以使用 Code::Blocks,但只能使用 13.12 版本。雖然你可以忘記在你嶄新的 Big Sur 上使用 20.03 版本的遭遇,但 Code::Blocks 正在尋找一個額外的 Mac 開發(fā)人員來幫助解決這些問題。
對于使用 Windows 或 Linux 的 C、c++ 和 Fontran 開發(fā)人員,以及愿意使用 13.12 版本的 macOS 開發(fā)人員,Code::Blocks 罕有敵手。它的免費、輕量級和簡單,使它成為初學者和專業(yè)人士的一種選擇。很少有 IDE 能像 Code::Blocks 一樣同時成功地做到簡單性和自定義性。它還通過插件支持其他語言和特性。
對于那些擔心 UI 和零星更新的人來說,像 Code::Blocks 這樣的免費軟件可能不是一個好的選擇。這對于商業(yè)和企業(yè)開發(fā)人員來說尤其如此,因為他們的項目可能需要最先進的 IDE。
而那些使用 macOS 操作系統(tǒng)的用戶,如果 13.12 版本無法滿足功能需要,那么就不得不去尋找更好的選擇。
盡管有缺陷,Code::Blocks 的身邊在近 20 年里一直保持著忠實的追隨者,這是有原因的:其本質(zhì),就是一款為個人開發(fā)人員開發(fā)的 IDE。
Xcode 是發(fā)布 Mac、iPhone、iPad、Apple TV 和 Apple Watch 應用程序的必備工具包。Xcode 支持 Swift 5.3,代碼編輯工具,多種編譯器,包括圖形化的調(diào)試工具,測試工具(如用于構建單元測試的 XC Test API 能力),并支持插件和基于 mac 模擬器的 SDK。
Xcode 的最新版本 Xcode 12 現(xiàn)在提供適用于 iOS 14、iPadOS 14、tvOS 14、watchOS 7 和 macOS Big Sur 的 SDK。它還包括為 Big Sur 構建的 Swift UI,在基于 Intel 和 Apple Silicone mac 上構建通用應用程序的功能,并添加了用戶控制和框架。
Xcode 不僅是一款配備齊全的 IDE,也是蘋果開發(fā)的首選 IDE。
蘋果擅長簡單化。然而,這種簡單性也意味著用戶實際上放棄了定制產(chǎn)品的所有能力。和其他蘋果產(chǎn)品一樣,Xcode 也是封閉的;它幾乎沒有可定制性和可擴展性,尤其是與其他 IDE 相比。
Xcode 在軟件開發(fā)方面也采取了封閉的方式。用戶必須在蘋果的機器上針對蘋果開發(fā)。這也意味著 Xcode 實際上是唯一一個擁有提交應用商店應用所需組件的工具包。換句話說,為了發(fā)布 Apple 應用,用戶必須擁有 Apple machine 和 Xcode(以及 Apple Developer license)。
那些沒有蘋果機器的人也許可以用虛擬機來解決這個問題,但 Xcode 是一款重量級的程序,這么做可能會影響性能。(還有其他的選擇,比如制作一個 hackintosh 或租用一臺 macOS,所有這些做法都不太安全,不推薦使用。)
Xcode 的價格也很貴,尤其是對于想在蘋果商店發(fā)行游戲的個人和小型企業(yè)。實際發(fā)布應用程序必須購買蘋果開發(fā)人員企業(yè)許可證(https://developer.apple.com/programs/enterprise/?ref=hackernoon.com)(每年一次),而且價格不菲。免費版本 (帶有 Apple ID) 功能有限,也不具備發(fā)布應用所需的工具。但是,如果你能滿足一些要求,可以減免一些費用 。
最后,Xcode 非常重量級,特別是它的新版本。Xcode 要求 10.15.4 或更高,或 Apple Silicon 11.0(https://developer.apple.com/support/xcode?ref=hackernoon.com), Xcode 12 主要是針對 Big Sur 構建的。此外,它會占用大量的內(nèi)存;有史以來,一直都有人抱怨它在許多機器上又重又慢。
對于那些想學習編寫蘋果應用程序的人來說,Xcode 非常有用,因為他們也擁有必要的操作系統(tǒng)和機器。
對于那些想要使用免費版本的人來說,Xcode 也是一款很好的學習工具,尤其是因為它是大多數(shù)蘋果開發(fā)人員都在使用的環(huán)境。
想要在 App Store 中發(fā)布應用的開發(fā)人員必須擁有 Xcode,因為如果沒有 Xcode 所包含的工具包,開發(fā)人員很難發(fā)布任何應用。
與 Xcode 競爭是很難的,因為它是開發(fā)蘋果應用程序的少數(shù)幾個選擇之一;而它的可靠性、多功能性和許多蘋果開發(fā)的特性,使它成為專業(yè)人士和初學者的上佳之選。
Aptana Studio 3 是一款基于 eclipse 的用于 Web 開發(fā)的 IDE。它簡單、免費,并且有一個深度參與的開發(fā)社區(qū)。
它提供了 Web 開發(fā)所需(http://www.aptana.com/index.html?ref=hackernoon.com)的大多數(shù)工具,比如HTML(最多 5 個)、CSS 和 JavaScript 的代碼輔助;一個可以自動發(fā)布 Ruby on Rails 應用程序的部署向?qū)?;集成調(diào)試器;Git 集成;一個內(nèi)置的終端;以及定制選項。
Aptana Studio 3 提供了許多其他 Web 開發(fā) IDE 可能需要訂閱的特性 (如 PhpStorm 和 WebStorm):支持 JavaScript 編輯器和庫,CSS 編輯器等等。
對于那些剛開始編程的人,以及那些看重集中資源支持的人,Aptana Studio 3 可能不是最適合的。Aptana 的網(wǎng)站上沒有教程,沒有詳細的功能列表,討論問題也要通過直接鏈接到 stackoverflow 上的標簽(https://stackoverflow.com/questions/tagged/aptana?ref=hackernoon.com)。
此外,為了下載 IDE,用戶需要鏈接到一個 Github 文件夾(https://github.com/aptana/studio3?ref=hackernoon.com),這會令一些初學者望而卻步。它的營銷方式與大型 IDE 制造商 (如 JetBrains 或 Microsoft) 截然不同,他們實際上在自己的網(wǎng)站上就有自己產(chǎn)品的所有相關信息。
盡管 Aptana Studio 3 可能不像它的表親 Eclipse 那樣擁有狂熱的追隨者,但它仍然是 Web 開發(fā)人員的可靠 IDE。它簡單、直接,更重要的是,所有人都可以免費使用。
對于那些剛開始從事 Web 開發(fā)的人來說,Aptana Studio 3 將是一款很好的 IDE——特別是因為它的一些最大的競爭對手 phplstorm 和 WebStorm 沒有社區(qū)許可 (盡管 PyCharm 有,但該許可沒有包含 Aptana Studio 3 的一些特性)。對于那些已經(jīng)在使用 Eclipse 的用戶,可以很容易將 Aptana Studio 作為插件進行集成。
對于專業(yè)開發(fā)人員和開發(fā)團隊來說,Aptana Studio 3 的簡單性可能是個問題。缺乏對產(chǎn)品信息和問題支持的支持,可能是某些商業(yè)和開發(fā)團隊的一大障礙。
但是,與其他 Web 開發(fā) IDE 不同的是,Aptana Studio 3 似乎是為個人開發(fā)人員構建的——有時很難找到這樣的東西。
Komodo 是一款來自 Active State 平臺的多語言 IDE。如果個人使用,社區(qū)許可證是完全免費的。
Komodo IDE 包括(https://www.activestate.com/products/komodo-ide/features/?ref=hackernoon.com)智能代碼編輯功能,如重構、搜索和導航,以及 XML 自動補全。它支持幾乎所有語言的語法高亮顯示,并支持 Python、PHP、Perl、Tcl、Go、Ruby、Node.js、JavaScript、HTML 和 CSS 的智能編碼特性。它有許多通用的和特定于語言的調(diào)試特性,包括對 Python、PHP、Perl、Ruby、Node. js、Tcl、XSLT 和 Chrome 的支持。這些特性包括圖形化調(diào)試、多進程調(diào)試和多線程調(diào)試。還有針對 Python 和 PHP 的性能分析特性、數(shù)據(jù)庫功能以及針對 Python、PHP、Perl、Ruby、Node.js 和 Go 的單元測試。
對于較低的系統(tǒng)要求,Komodo 擁有許多功能。對于那些尋找輕量級 IDE(也可以輕松支持多種語言) 的人來說,它是一個理想的選擇。
Komodo IDE 本身是免費的,但需要一個 Active State 的帳戶。要獲得 Active State 支持并保持項目的私密性,用戶必須升級到開發(fā)人員許可證。他們的 FAQ 提供了更多的信息,特別是關于他們的“免費增值模式”。
與其他免費 IDE 不同,Komodo 不提供 UI 翻譯。雖然它的編碼工具是多語言的,但它的 UI 只提供英語。
對于那些為特定語言尋找更專門化或智能特性的人來說,這個 IDE 可能不太適合。它的許多開箱即用的特性主要集中在 Web 開發(fā)上,可能不像其他更專門化的 IDE 那樣適合。
與許多犧牲重量以實現(xiàn)多功能性的 IDE 不同,Komodo 同時做到了全面、多語言和輕量級。
它對系統(tǒng)的要求相對較低,可以在 Windows、Linux 和 macOS 上運行 (盡管 12 版本目前在 Big Sur 上還不穩(wěn)定),這使得它成為大型團隊和個人程序員的絕佳之選。
然而,Komodo 專門化程度不同其他的 IDE,這意味著它在某些語言中可能沒有一些程序員可能需要的高級特性。但是它仍然為 Python、Php、Perl、Ruby 等語言提供了相當高級的特性。
總的來說,Komodo 是一款優(yōu)秀的 IDE,特別是對于經(jīng)常使用多種語言工作的程序員來說。很少有 IDE 能像 Komodo 那樣既支持那么多的語言,又自豪地說對系統(tǒng)的要求低至 1GB 內(nèi)存和 250MB 硬盤空間(https://docs.activestate.com/komodo/12/get/windows/?ref=hackernoon.com)。
IDE 只有幾個基本特性的時代早就已經(jīng)成了老黃歷。當今的 IDE,也就是本文列出的那些,可以滿足幾乎所有的編程需求。
但是讓我們面對一個現(xiàn)實問題吧:哪一款是最好的呢?
一句話以概之:這個列表中的任何 IDE 都是優(yōu)秀的。
如果多說一點:最好的 IDE 是基于程序員的需求和偏好的。雖然 Eclipse 和 IntelliJ IDEA 可以做很多相同的事情,但一些用戶可能更喜歡 JetBrains 的 UI 和商業(yè)模型。其他人可能會被自由、簡單和免費或開源的軟件模型所吸引。
最好的集成開發(fā)環(huán)境也并不一定能夠完成所有的工作。它是能滿足程序員的需求,能在程序員的機器上運行良好,能讓程序員天天看著它的那一款。
所以,來吧,了解和試試這些 IDE 吧,然后決定哪個工具箱最適合你的軟件開發(fā)需求!
- END -
聯(lián)系客服