无论你是初学者还是专业的软件工程师,你都知道编写和开发代码的过程要经历许多的步骤,需要各种工具:用于编码、编辑、调试、重构、编译、解释的工具——不胜枚举。当今有着诸多优秀的 IDE,那它们都分别有着怎样的优势和缺点呢?它们分别适用于什么样的需求呢?本文列出了笔者最喜欢的 10 款 IDE,大家可以根据它们的优缺点和你的需求做出自己的选择。
本文最初发布于https://www.webcreek.com/en/blog/technology/top-IDEs-2021/,由 InfoQ 翻译并分享。
当一支团队一起开发软件时,编码过程会变得更加复杂。团队成员需要沟通、共享代码,并聚在一起工作。开发可不只是将 UI 切换到暗亮模式在一块机械键盘上敲敲代码,它可能还得运行、调试、测试和性能调优,等等等等。
虽然,无数工具可以应对这类挑战,但当它们出现在不同的平台上时,可能会让人不知道如何选择。然而,优秀的开发人员都能管理好工具箱中的工具,也就是“IDE”。
哪款是最佳 IDE?
有没有“最佳集成开发环境(IDE)”呢?
其实,并没有。
最适合你的 IDE 就是最好的那一款。IDE 的选择完全取决于你正在开发的程序类型、所选择的编程语言以及你正在使用的硬件类型。
虽然功能最强大的 IDE 听起来不错,但对于你的机器来说,它可能太过重量级了。虽然多语言 IDE 看起来似乎具备了你所需的一切,但如果你只使用一种或两种语言,它可能就有点牛刀小用了。
反之,特定语言的 IDE 通常能很好地完成一件事情。这对于专业的开发人员来说可能是完美的,但是对于精通多种语言的程序员来说可能就不是。
许多人可能会选择免费的集成开发环境,尽管这对于商业或企业团队可能不是理想选择。免费软件可能会带来一些问题,比如缺乏支持、更新不规律或插件不兼容。
然而,支持免费或开源软件也有它的好处。首先,这意味着用户可以支持小型企业的 IDE,而不是大型企业。其次,免费 IDE 通常拥有强大的、用户驱动的插件市场。在某些情况下,用户甚至可以联系社区委托定制插件。此外,免费 IDE 通常比商业产品更容易定制。一些 IDE 使用户有机会从它的源代码开始构建应用程序。
虽然没有一种比其他的都要好的 IDE,但是肯定也会有一些开发人员和工程师一直支持的 IDE。下面这份指南列出了一些在市场上流行的我们最喜欢的 IDE。
1. Visual Studio
优点:具有大量的特性,多功能性,支持
Visual Studio 2019 的强大功能和多功能性使其成为顶级的竞争者。它拥有像 Visual Studio Live Share(https://visualstudio.microsoft.com/services/live-share/?ref=hackernoon.com)、AI 辅助智能感知、Intellicode 和 IntelliTrace、代码映射调试器集成,以及 Azure Devops 服务器集成等诸多特性(https://visualstudio.microsoft.com/vs/compare/?ref=hackernoon.com)。除了许多开箱即用的特性外,它还拥有一个由微软和 Visual Studio 用户共同搭建的扩展插件市场(https://marketplace.visualstudio.com/?ref=hackernoon.com)。
Visual Studio 完美地涵盖了一款可靠的 IDE 应该具有的所有基本特性,而且它使独立开发或团队开发变得非常轻松。此外,它提供了免费的社区许可(https://visualstudio.microsoft.com/vs/community/?ref=hackernoon.com),而且是开源的。
许多顶级 IDE 只提供英语用户界面。对于国际团队来说,这可能是个问题。幸运的是,VS 2019 已经推出了 14 种官方 UI 语言(https://docs.microsoft.com/en-us/visualstudio/releases/2019/system-requirements?ref=hackernoon.com)。
Visual Studio 社区在其网站和 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)年度标准许可,以及月度许可和云订阅。标准订阅比按月订阅贵得多。如何选择这三种许可选项,取决于你的团队规模。对于标准订阅,用户可以选择专业许可和企业许可。
虽然 Visual Studio 2019 为在 Windows 和 MacOS 上工作的开发人员提供了许多特性,但你不得不抛弃那些 Linux 开发人员。这个列表上的其他 IDE 都可以在 Linux 上运行,而 VS 2019 则和它们不同。
VS 2019 也是一款重量级的应用,所以它可能会很慢。对于那些没有性能强劲的机器和 SSD 的用户,使用 Visual Studio 可能会遇到一些性能问题。
除了性能问题,VS 2019 上大量的特性也会让开发人员手足无措、难以入门。它可能对初学者不太友好,需要花费相当的时间来学习它的许多特性。
总结:
初学者和那些机器不太好的人可能会在使用重量级的、特性过多的 Visual Studio 2019 时遇到问题。
由于其价格、重量级和可用性,这个流行的 IDE 似乎主要针对于那些拥有专业开发人员和工程师的组织。它的社区版似乎更适用于个人程序员,他们的机器能够满足程序的要求,并有信心驾驭它的无数特性。
尽管 VS 2019 可能很笨重,而且可能承载了太多的特性,但它的编程能力和行业流行程度都使它成为一款值得了解的 IDE。因此,任何拥有合适的机器并愿意克服一点学习曲线的人都能够发现 Visual Studio 是一款优秀的 IDE。
尽管有这些缺点,Microsoft Visual Studio 2019 仍然是市场上最受欢迎的 IDE 之一,并因其通用性、灵活性、强大的消费者支持和团队集成特性而广受欢迎。
2. PhpStorm
优点:可靠,强大,先进的功能
JetBrains 在开发可靠、专业的 IDE 方面享有盛名,并且拥有广泛的用户基础,包括个人和专业人士。事实上,PhpStorm 并不是 JetBrains 唯一上榜的产品。
JetBrains 的 PhpStorm 是 Web 开发的终极 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)包括内置智能代码辅助、智能导航(改进的“随处搜”,允许简单的数学计算)、特定语言的重构、可视化调试器、单元测试工具以及 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 产品有社区许可,但是 PhpStorm 没有。
对于某些人来说,它的个人和组织许可可能也很昂贵,特别是对于个人来说,因为在出于个人目的使用 IDE 时,他们也不得不支付订阅费用。
虽然他们的订阅比市场上的其他产品更便宜,但是为个人程序员付费的 IDE 并不总是最好的选择,特别是有类似的免费 IDE 可供使用时。
与它的一些竞争对手不同的是,PhpStorm 和所有其他 JetBrains IDE 的 UI 只支持英语。
最后,PhpStorm 有很高的系统要求(https://www.jetbrains.com/help/phpstorm/installation-guide.html?ref=hackernoon.com)。JetBrains 推荐 8GB RAM 和 SSD,这意味着该 IDE 比其他 IDE 需要更多的内存。
总结:
总的来说,PhpStorm 为经常从事 Web 开发的程序员提供了一款强大且发展良好的 IDE。此外,它的特有功能帮助它成为一款 PHP 专用 IDE。
需要高性能 IDE 进行 Web 开发的组织可能会发现 PhpStorm 是理想的选择。但是,因为没有免费版本的 PhpStorm,它可能不是个人或新程序员的最佳解决方案。此外,由于它是一款较重的程序,没有合适机器的用户可能使用 PhpStorm 时会遇到性能问题。
总体而言,PhpStorm 被标榜为市场上最好的 Web 开发 IDE 之一。专业人士和学生都在使用它,很少有人能超越它对适应语言和发展变化的承诺。
3. Eclipse
优点:免费,活跃的社区,系统要求低,通用性
Eclipse 主要是为 Java 开发人员打造的,长期以来一直被认为是顶级的免费 IDE。它也可以用一些包(https://www.eclipse.org/downloads/packages/?ref=hackernoon.com)来定制,这些包适用于 Javascript、Rust、Php、C 和 C++等的测试和开发工具。
它提供了一个庞大的插件(https://marketplace.eclipse.org/?ref=hackernoon.com)生态系统,这使得它极其万能,适合范围非常广泛的开发项目。它还拥有一个活跃的、深度参与的开发者社区(https://www.eclipse.org/eclipseide/?ref=hackernoon.com)。
与其他 IDE 相比,Eclipse 比较轻量级,并且没有官方的最低系统要求。
最后,Eclipse Foundation 在持续更新(https://wiki.eclipse.org/Simultaneous_Release?ref=hackernoon.com)Eclipse IDE,免费软件并不都是这样的。2020-09 版包括了嵌入式 Node.js,改进的 UI 和暗亮模式,自带一个 JRE,并支持 Java 15。它的 2020-12 版刚刚发布(https://www.eclipse.org/eclipse/news/4.18/?ref=hackernoon.com),所有包都支持 Linux aarch64。
缺点:不可靠的插件,乏味的用户界面,不太适合过大的项目
根据每个人的需要,免费软件有其优点也有其缺点。因为 Eclipse 没有其他 IDE 所能获得的资金支持,所以插件没有经过严格的审查,因此可能会产生兼容性问题。
一些用户称 Eclipse 的 UI 看起来比较陈旧,有时很难使用。因为 UI 是用户体验中不可或缺的一部分,并且会影响程序员的工作效率,所以拥有一个良好的界面是很有必要的。
总结:
不要被其免费的价格标签给欺骗了:Eclipse 被广泛认为是市场上最好的集成开发环境之一。
它提供了许多用户在其他地方必须得购买的免费功能。此外,它比许多其他顶级 IDE 的系统需求更低,这使它成为新程序员或机器功能不太强大的程序员的理想选择。它的多功能性还使新程序员能够启动各种不同的项目。
Eclipse 也非常通用,没有“框定”用户。换句话说,需要多功能编程工具的大型商业或企业项目会发现 Eclipse 是一款优秀的 IDE。
Eclipse 长期以来一直是 IDE 市场上的顶级竞争者,这肯定是有一定原因的。它是多功能的,轻量级的,免费的。它和 IntelliJ IDEA 是目前最流行的两个 Java IDE。无论你是专家还是初学者,Eclipse 都将是一款优秀的 IDE。
4. Netbeans
优点:免费,社区驱动,可靠
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 是。最近,其发布的最新主版本(https://netbeans.apache.org/download/nb122/index.html?ref=hackernoon.com)支持 Java 15,并解决了 macOS Big Sur 的问题。
NetBeans 也有一个全心投入的社区。他们团队鼓励用户贡献代码(https://netbeans.apache.org/participate/submit-pr.html?ref=hackernoon.com#contributing-code),参与 NetCAT 程序的测试,以及帮助编写文档。与其他 IDE 不同的是,NetBeans 社区在其开发过程中发出了积极的声音。
缺点:不可靠的插件,内存使用量高,过时的用户界面
虽然 NetBeans 有一个强大的插件市场,但是这种优势也有它的缺点。像许多其他免费 IDE 的插件市场一样,它的插件并没有所有都经过彻底的审查,可能会造成兼容性问题或变得不可靠。
对于某些用户来说,NetBeans 可能存在性能问题。虽然 NetBeans 没有官方发布的最低系统要求,但有些人抱怨它运行得太慢,难以应对大型项目。
最后,NetBeans 在一些 UI 特性上落后了。有一些较新的集成开发环境的 UI 是可定制的,而它就没有这一特性。(不过,简单并不总是坏事)。
总结:
对于初学者、个人或专业程序员来说,NetBeans 是一款很棒的 IDE。因为它是免费的,所以对于那些预算有限的人,或者那些不是从事专业项目的人来说,它是很棒的。
虽然 NetBeans 在 IT 公司和企业中已经很成熟,但它一些在大型项目中的问题可能会产生一定影响。此外,某些插件太慢或不可靠,这一点可能对于严重依赖它们的程序员来说不太理想。
NetBeans 被广泛认为是一款简单、可靠和经过时间考验的 Java IDE。广泛的插件为它提供了各种各样的功能,它是一款社区驱动的 IDE,这使它成为大多数程序员的通用产品。
5. IntelliJ IDEA
优点:免费版本,复杂的自动补全功能,精致的用户界面
IntelliJ IDEA 是 Java 开发中使用最广泛的 IDE 之一。它由 JetBrains 提供支持,提供智能补全、跨语言重构、语言注入、Javascript 支持以及数据库和 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 免费提供了一个社区(https://www.jetbrains.com/idea/features/editions_comparison_matrix.html?ref=hackernoon.com)许可。这个开源版本包括对 Java、Android 开发、Github 和调试工具的支持。
IntelliJ IDEA 还拥有一个复杂的代码补全系统,包括基本补全、次级基本补全(https://www.jetbrains.com/help/idea/migrating-from-eclipse-to-intellij-idea.html?ref=hackernoon.com#CodingAssistance)、智能补全、次级智能补全、语句补全。
Intellij IDEA 还被认为拥有用户友好和直观的 UI。某些设计特性允许更高效的编程,比如“本地历史”而不是手动保存,无缝任务切换的自由视角体验,以及易于定制的工具窗口。
缺点:社区许可的功能有限,缺乏多任务特性,速度慢
与旗舰版许可相比,社区许可缺少许多关键特性(这些 Eclipse 都是免费提供的):Javascript、Ruby、SQL、PHP 和 Go 的支持;CSS、Sass、SCSS、Less、Stylus 的编辑器支持;以及 Ruby on Rails、Node.js 和 Django 之类的框架支持。它还缺少集成的分析和数据库工具。
如果拥有 IntelliJ IDEA 旗舰版对你来说很重要,那么它可能会非常昂贵,特别是对于个人程序员来说。
在 IntelliJ IDEA 中同时处理多个项目并不简单。为此,用户必须将每个项目配置为一个模块,而不是直接运行多个项目。
IntelliJ IDEA 不仅比它的竞争对手有更高的系统最低和推荐要求,而且它被普遍认为速度太慢和过于重量级。启动慢、索引慢、编译慢。
总结:
IntelliJ IDEA 各种各样的特性使其对初学者、个人和专业开发人员都很有利。它为那些还没有准备好花钱订阅的用户提供了免费版本,为那些不习惯在 IDE 中工作的用户提供了简单的 UI。
在许多 IT 职场都可以找到 IntelliJ IDEA 的旗舰版授权的身影。通过捆绑价格,公司只需支付 2 个的价格(https://www.jetbrains.com/all/?ref=hackernoon.com)就可以使用 10 个不同的 JetBrains IDE。
然而,单独使用 IntelliJ IDEA 可能会让从事各种不同项目的开发人员产生一种“被限制”的感觉。因此,它可能不具备一些专业开发人员所需要的多功能性。
尽管有一些缺点,IntelliJ IDEA 仍然是市场上最好的 Java IDE 之一,许多开发人员都非常信赖它。
6. PyCharm
优点:有免费的社区版本,功能丰富
PyCharm(https://www.jetbrains.com/pycharm/features/?ref=hackernoon.com)是一款由 JetBrains 提供支持的 Python 专用 IDE。它提供了对 Python、针对 Web 的 Python 开发和针对科学的 Python 开发的支持。
它有多种许可选项,包括免费的社区版(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)、测试和调试工具;支持 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 框架;远程开发和容器功能;科学的工具(https://www.jetbrains.com/pycharm/features/scientific_tools.html?ref=hackernoon.com);以及 SQL 数据库支持。
它还有 2400 多个插件(https://plugins.jetbrains.com/pycharm?ref=hackernoon.com),如果这个长长的特性列表还不够的话,JetBrains 市场上还有更多。
缺点:价格高,缺乏社区功能,重量级
Pycharm 长长的功能列表是有代价的。许多人抱怨说 Pycharm 占用大量内存,就算用户不需要它的所有工具时依然如此。另外,它没有一个包安装程序来帮助减轻应用程序的重量。
除此之外,“Pycharm”的价格也相对较高。对于一些用户和大型企业来说,可能会有折扣;然而,重要的是别忘了 Pycharm 只是一款专用的 IDE。
对于那些无法支付订阅费用的人,有一个免费的社区许可证。然而,这个许可证几乎是旗舰版的一个空壳:没有数据库支持,也没有 Python 分析器,没有 Python Web 框架,它只有非常基本的 Web 开发工具。
总结:
虽然社区和旗舰版功能之间的差距可能很大,但是 PyCharm 社区版也不只是一款最基本的 IDE。此外,它的可靠性、自定义特性和专门的智能工具使它成为一款优秀的 Python IDE。
对于拥有硬件和旗舰版授权财力的专业人士来说,PyCharm 是 Python 开发的理想 IDE。对于那些有资格享受 JetBrains 众多折扣之一的人来说,这个版本可能也是一个很好的选择。
虽然对于组织来说,PyCharm 可能是一款很好的 IDE,但是对于个人开发人员来说,PyCharm 就不那么友好了。那些需要低成本或免费的 Python IDE 来支持特定数据库或科学工具的人将不得不继续寻找其他选择。对于初学者来说,大量的功能可能会让人不知所措。除此之外,如果你没有足够强大的机器,在运行这个 IDE 时可能会遇到性能问题。
无论用户做出什么决定,PyCharm 实质上都是一款可靠的 Python IDE。如果你愿意花些时间来学习它的特性,如果你拥有的硬件能够平滑运行它,它将是一个很好的选择。
7. Code::Blocks 20.03
优点:基本的、免费的、全面的、可定制的、轻量级的
Code::Blocks(http://www.codeblocks.org/?ref=hackernoon.com)是一款免费的、开源的 IDE,主要是为 C、c++和 Fontran 开发的。它的主要目标是尽可能的自定义和扩展。与许多其他 IDE 不同,Code::Blocks 是用 c++编写(http://www.codeblocks.org/features?ref=hackernoon.com)的,因此避免了许多用 Java 编写的 IDE 可能会出现的问题和不便。
block 为用户提供了很大的自由度,甚至可以在安装程序之前做出选择。虽然一些 IDE 建议安装二进制版本,但 Code::Blocks 提供了下载源代码(http://www.codeblocks.org/downloads?ref=hackernoon.com)并自定义构建的选项。除了可以从 SVN 访问源代码,它们还提供夜间和社区构建,允许用户在 code::Blocks 团队调试时访问构建。
值得一提的是,Code::Blocks 官方未给出最低系统要求,它甚至可以在 Windows XP(http://www.codeblocks.org/downloads/binaries?ref=hackernoon.com)上运行。
开箱即用,它支持多种编译器、调试工具(如完全断点支持或用户定义的监视)和代码编辑工具(如可定制语法高亮显示、代码补全和智能缩进)。
Code::block 还拥有一个社区驱动的插件市场,几乎可以提供任何必要的特性。
缺点:过时,偶尔才更新,缺乏 macOS 兼容性
对于某此人来说,Code::Blocks 的旧式营销和开发方法可能还挺好的,但另一些人可能会觉得不舒服。
因为 Code::Blocks 是一款免费软件,它只在团队有能力更新时才更新。所以,充其量只是一些零星的更新。看他们的 FAQ 页面就能大致了解到他们的局限性:
问:下一个稳定版本的 Code::Blocks 什么时候发布?
答:当它准备好时。
问:那么 ,什么时候能准备好呢?
答:当它发布的时候。
(Code::Blocks, 2012)
Code::Blocks 对 macOS 兼容性也比较有限。使用 10.6 或更高版本的用户可以使用 Code::Blocks,但只能使用 13.12 版本。虽然你可以忘记在你崭新的 Big Sur 上使用 20.03 版本的遭遇,但 Code::Blocks 正在寻找一个额外的 Mac 开发人员来帮助解决这些问题。
总结:
对于使用 Windows 或 Linux 的 C、c++和 Fontran 开发人员,以及愿意使用 13.12 版本的 macOS 开发人员,Code::Blocks 罕有敌手。它的免费、轻量级和简单,使它成为初学者和专业人士的一种选择。很少有 IDE 能像 Code::Blocks 一样同时成功地做到简单性和自定义性。它还通过插件支持其他语言和特性。
对于那些担心 UI 和零星更新的人来说,像 Code::Blocks 这样的免费软件可能不是一个好的选择。这对于商业和企业开发人员来说尤其如此,因为他们的项目可能需要最先进的 IDE。
而那些使用 macOS 操作系统的用户,如果 13.12 版本无法满足功能需要,那么就不得不去寻找更好的选择。
尽管有缺陷,Code::Blocks 的身边在近 20 年里一直保持着忠实的追随者,这是有原因的:其本质,就是一款为个人开发人员开发的 IDE。
8. Xcode 12
优点:基本针对于 iOS 开发,具有尖端的功能
Xcode 是发布 Mac、iPhone、iPad、Apple TV 和 Apple Watch 应用程序的必备工具包。Xcode 支持 Swift 5.3,代码编辑工具,多种编译器,包括图形化的调试工具,测试工具(如用于构建单元测试的 XC Test API 能力),并支持插件和基于 mac 模拟器的 SDK。
Xcode 的最新版本 Xcode 12 现在提供适用于 iOS 14、iPadOS 14、tvOS 14、watchOS 7 和 macOS Big Sur 的 SDK。它还包括为 Big Sur 构建的 Swift UI,在基于 Intel 和 Apple Silicone mac 上构建通用应用程序的功能,并添加了用户控制和框架。
Xcode 不仅是一款配备齐全的 IDE,也是苹果开发的首选 IDE。
缺点:基本针对于 iOS 开发,价格昂贵,缺乏定制化,重量级
苹果擅长简单化。然而,这种简单性也意味着用户实际上放弃了定制产品的所有能力。和其他苹果产品一样,Xcode 也是封闭的;它几乎没有可定制性和可扩展性,尤其是与其他 IDE 相比。
Xcode 在软件开发方面也采取了封闭的方式。用户必须在苹果的机器上针对苹果开发。这也意味着 Xcode 实际上是唯一一个拥有提交应用商店应用所需组件的工具包。换句话说,为了发布 Apple 应用,用户必须拥有 Apple machine 和 Xcode(以及 Apple Developer license)。
那些没有苹果机器的人也许可以用虚拟机来解决这个问题,但 Xcode 是一款重量级的程序,这么做可能会影响性能。(还有其他的选择,比如制作一个 hackintosh 或租用一台 macOS,所有这些做法都不太安全,不推荐使用。)
Xcode 的价格也很贵,尤其是对于想在苹果商店发行游戏的个人和小型企业。实际发布应用程序必须购买苹果开发人员企业许可证(https://developer.apple.com/programs/enterprise/?ref=hackernoon.com)(每年一次),而且价格不菲。免费版本(带有 Apple ID)功能有限,也不具备发布应用所需的工具。但是,如果你能满足一些要求,可以减免一些费用 。
最后,Xcode 非常重量级,特别是它的新版本。Xcode 要求 10.15.4 或更高,或 Apple Silicon 11.0(https://developer.apple.com/support/xcode?ref=hackernoon.com), Xcode 12 主要是针对 Big Sur 构建的。此外,它会占用大量的内存;有史以来,一直都有人抱怨它在许多机器上又重又慢。
总结:
对于那些想学习编写苹果应用程序的人来说,Xcode 非常有用,因为他们也拥有必要的操作系统和机器。
对于那些想要使用免费版本的人来说,Xcode 也是一款很好的学习工具,尤其是因为它是大多数苹果开发人员都在使用的环境。
想要在 App Store 中发布应用的开发人员必须拥有 Xcode,因为如果没有 Xcode 所包含的工具包,开发人员很难发布任何应用。
与 Xcode 竞争是很难的,因为它是开发苹果应用程序的少数几个选择之一;而它的可靠性、多功能性和许多苹果开发的特性,使它成为专业人士和初学者的上佳之选。
9. Aptana Studio 3
优点:免费,简单,系统要求低
Aptana Studio 3 是一款基于 eclipse 的用于 Web 开发的 IDE。它简单、免费,并且有一个深度参与的开发社区。
它提供了 Web 开发所需(http://www.aptana.com/index.html?ref=hackernoon.com)的大多数工具,比如 HTML(最多 5 个)、CSS 和 JavaScript 的代码辅助;一个可以自动发布 Ruby on Rails 应用程序的部署向导;集成调试器;Git 集成;一个内置的终端;以及定制选项。
Aptana Studio 3 提供了许多其他 Web 开发 IDE 可能需要订阅的特性(如 PhpStorm 和 WebStorm):支持 JavaScript 编辑器和库,CSS 编辑器等等。
缺点:对初学者来说不直观,没有集中的支持
对于那些刚开始编程的人,以及那些看重集中资源支持的人,Aptana Studio 3 可能不是最适合的。Aptana 的网站上没有教程,没有详细的功能列表,讨论问题也要通过直接链接到 stackoverflow 上的标签(https://stackoverflow.com/questions/tagged/aptana?ref=hackernoon.com)。
此外,为了下载 IDE,用户需要链接到一个 Github 文件夹(https://github.com/aptana/studio3?ref=hackernoon.com),这会令一些初学者望而却步。它的营销方式与大型 IDE 制造商(如 JetBrains 或 Microsoft)截然不同,他们实际上在自己的网站上就有自己产品的所有相关信息。
总结:
尽管 Aptana Studio 3 可能不像它的表亲 Eclipse 那样拥有狂热的追随者,但它仍然是 Web 开发人员的可靠 IDE。它简单、直接,更重要的是,所有人都可以免费使用。
对于那些刚开始从事 Web 开发的人来说,Aptana Studio 3 将是一款很好的 IDE——特别是因为它的一些最大的竞争对手 phplstorm 和 WebStorm 没有社区许可(尽管 PyCharm 有,但该许可没有包含 Aptana Studio 3 的一些特性)。对于那些已经在使用 Eclipse 的用户,可以很容易将 Aptana Studio 作为插件进行集成。
对于专业开发人员和开发团队来说,Aptana Studio 3 的简单性可能是个问题。缺乏对产品信息和问题支持的支持,可能是某些商业和开发团队的一大障碍。
但是,与其他 Web 开发 IDE 不同的是,Aptana Studio 3 似乎是为个人开发人员构建的——有时很难找到这样的东西。
10. Komodo
优点:免费,多功能,轻量级
Komodo 是一款来自 Active State 平台的多语言 IDE。如果个人使用,社区许可证是完全免费的。
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 的智能编码特性。它有许多通用的和特定于语言的调试特性,包括对 Python、PHP、Perl、Ruby、Node. js、Tcl、XSLT 和 Chrome 的支持。这些特性包括图形化调试、多进程调试和多线程调试。还有针对 Python 和 PHP 的性能分析特性、数据库功能以及针对 Python、PHP、Perl、Ruby、Node.js 和 Go 的单元测试。
对于较低的系统要求,Komodo 拥有许多功能。对于那些寻找轻量级 IDE(也可以轻松支持多种语言)的人来说,它是一个理想的选择。
缺点:价格昂贵,只有英文 UI,缺乏特定语言的特性
Komodo IDE 本身是免费的,但需要一个 Active State 的帐户。要获得 Active State 支持并保持项目的私密性,用户必须升级到开发人员许可证。他们的 FAQ 提供了更多的信息,特别是关于他们的“免费增值模式”。
与其他免费 IDE 不同,Komodo 不提供 UI 翻译。虽然它的编码工具是多语言的,但它的 UI 只提供英语。
对于那些为特定语言寻找更专门化或智能特性的人来说,这个 IDE 可能不太适合。它的许多开箱即用的特性主要集中在 Web 开发上,可能不像其他更专门化的 IDE 那样适合。
总结:
与许多牺牲重量以实现多功能性的 IDE 不同,Komodo 同时做到了全面、多语言和轻量级。
它对系统的要求相对较低,可以在 Windows、Linux 和 macOS 上运行(尽管 12 版本目前在 Big Sur 上还不稳定),这使得它成为大型团队和个人程序员的绝佳之选。
然而,Komodo 专门化程度不同其他的 IDE,这意味着它在某些语言中可能没有一些程序员可能需要的高级特性。但是它仍然为 Python、Php、Perl、Ruby 等语言提供了相当高级的特性。
总的来说,Komodo 是一款优秀的 IDE,特别是对于经常使用多种语言工作的程序员来说。
很少有 IDE 能像 Komodo 那样既支持那么多的语言,又自豪地说对系统的要求低至 1GB 内存和 250MB 硬盘空间(https://docs.activestate.com/komodo/12/get/windows/?ref=hackernoon.com)。
那么到底哪款 IDE 是最好的呢?
IDE 只有几个基本特性的时代早就已经成了老黄历。当今的 IDE,也就是本文列出的那些,可以满足几乎所有的编程需求。
但是让我们面对一个现实问题吧:哪一款是最好的呢?
一句话以概之:这个列表中的任何 IDE 都是优秀的。
如果多说一点:最好的 IDE 是基于程序员的需求和偏好的。虽然 Eclipse 和 IntelliJ IDEA 可以做很多相同的事情,但一些用户可能更喜欢 JetBrains 的 UI 和商业模型。其他人可能会被自由、简单和免费或开源的软件模型所吸引。
最好的集成开发环境也并不一定能够完成所有的工作。它是能满足程序员的需求,能在程序员的机器上运行良好,能让程序员天天看着它的那一款。
所以,来吧,了解和试试这些 IDE 吧,然后决定哪个工具箱最适合你的软件开发需求!
英文原文链接:https://www.webcreek.com/en/blog/technology/top-IDEs-2021/
译者简介:冬雨,小小技术宅一枚,从事研发过程改进及质量改进方面的工作,关注编程、软件工程、敏捷、DevOps、云计算等领域,非常乐意将国外新鲜的 IT 资讯和深度技术文章翻译分享给大家,已翻译出版《深入敏捷测试》、《持续交付实战》。
评论 5 条评论