【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

2021 年要考虑的 10 种最佳 IDE 软件

  • 2021-03-25
  • 本文字数:12133 字

    阅读完需:约 40 分钟

2021年要考虑的10种最佳IDE软件

无论你是初学者还是专业的软件工程师,你都知道编写和开发代码的过程要经历许多的步骤,需要各种工具:用于编码、编辑、调试、重构、编译、解释的工具——不胜枚举。当今有着诸多优秀的 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



支持:

Windows 7或更高版本,macOS 10.13、 10.14、 或10.15

价格:

各类价格、免费

语言支持:

几乎所有主流的编程语言:包括:HTML, CSS, JavaScript, JSON, C, C#, C++, LESS, Sass, PHP, Python, F#, 以及更多语言的插件支持

插件:

微软市场中有广泛的选择,其中包括用户发布的插件

UI支持的语言:

英语、中文(简体)、中文(繁体)、捷克语、法语、德语、意大利语、日语、韩语、波兰语、葡萄牙语(巴西)、俄语、西班牙语和土耳其语

系统要求:

Windows:

2 GB 内存;推荐8 GB内存和SSD (如果在虚拟机上运行则最少需要2.5 GB内存,其他功能可能需要更高的内存);

1366×768更高的分辨率。

macOS:

4 GB内存;推荐8 GB内存 (如果在虚拟机上运行则最少需要4GB内存)


优点:具有大量的特性,多功能性,支持


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



支持:

Windows 8 更高版本、 macOS 10.13 或更高版本,Linux (支持Gnome, KDE, 或者Unity DE)

价格:

各种价格、30天的免费试用、免费

语言支持:

PHP 5.3/5.4/5.5/5.6/7.0/7.1/7.2,还支持HTML, CSS、 JavaScript 编辑器

插件:

JetBrains 插件库; 2500多个 PhpStorm 插件

UI支持的语言:

英语,其他语言的拼写检查

系统要求:

2 GB空闲内存,推荐8GB内存和SSD,1024×768 屏幕分辨率


优点:可靠,强大,先进的功能

 

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



支持:

Windows (x86_64), macOS (x86_64), Linux (x86_64, AArch64)

价格:

免费开源 (Eclipse Public License 2.0)

语言支持:

包含针对Java, C, C++, Javascript (包括JavaScript, TypeScript, HTML, CSS, XML, Yaml, Markdown), PHP (包括用于JavaScript, TypeScript, HTML, CSS 和XML的编辑器), Fortran, Rust的包,Eclipse市场中有更多插件

插件:

许多社区构建的插件

UI支持的语言:

47种不同的语言翻译https://www.eclipse.org/babel/downloads.php

系统要求:

无官方最低系统要求

 

优点:免费,活跃的社区,系统要求低,通用性

 

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



支持:

Windows, Linux, macOS 和BSD

价格:

免费开源 (Apache License, Version 2.0)

语言支持:

Java, JavaScript, HTML5, PHP, C, C++,等等

插件:

许多社区构建的插件

UI支持的语言:

英语,葡萄牙语(巴西),中文(简体),日语,以及许多用户驱动的翻译项目

系统要求:

12.0版本未正式发布


优点:免费,社区驱动,可靠

 

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



支持:

Windows 8或更高版本, macOS 10.13或更高版本,Linux (支持Gnome, KDE, 或者Unity DE)

价格:

各类价格、免费

语言支持:

Java, Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, React, AngularJS. 理解:Groovy, Kotlin, Scala, JavaScript, TypeScript 以及SQL

插件:

JetBrains插件库,包含社区插件

UI支持的语言:

英语

系统要求:

2 GB空闲内存,推荐8GB内存和SSD,1024×768 屏幕分辨率


优点:免费版本,复杂的自动补全功能,精致的用户界面

 

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



支持:

Windows 8或更高版本, macOS 10.13或更高版本,Linux (支持Gnome, KDE, 或者Unity DE)

价格:

各类价格、免费

语言支持:

Python, JavaScript, CoffeeScript, TypeScript, HTML/CSS, AngularJS, Node.js,等等

插件:

来自于JetBrains 和社区的2400多个插件

UI支持的语言:

英语

系统要求:

2 GB空闲内存,推荐8GB内存和SSD,1024×768 屏幕分辨率

Python 2.7, 或Python 3.5或更高版本


优点:有免费的社区版本,功能丰富

 

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



支持:

Windows XP更高版本(x86_64, x86_32), Linux (x86_64, x86_32)

价格:

免费(GPL Version 3)

语言支持:

C, C++, Fortran, 以及其他语言的插件支持

插件:

强大的社区插件市场

UI支持的语言:

英语(还有其他语言的翻译,但用户必须修改.pot文件)

系统要求:

无官方最低系统要求


优点:基本的、免费的、全面的、可定制的、轻量级的

 

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



支持:

macOS 10.14.5 或更高版本, Apple Silicone 11.0

价格:

免费的IDE, 但需要一个Apple ID或订阅Apple Developer Program(费用从免费到每年299美元不等)

语言支持:

Swift, C, C++, Objective-C, Objective-C++, Java, AppleScript, Python, Ruby, ResEdit (Rez),以及其他语言的插件支持

插件:

可用第三方扩展

UI支持的语言:

英语

系统要求:

macOS;在某些情况(https://developer.apple.com/forums/thread/664246)下,至少需要40GB(https://developer.apple.com/forums/thread/660905)的可用磁盘空间来安装


优点:基本针对于 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



支持:

Windows, macOS, Linux

价格:

免费(GPL)

语言支持:

HTML, JavaScript, CSS, Ruby, PHP和Python

插件:

社区驱动的插件市场

UI支持的语言:

英语,有支持其他语言的插件

系统要求:

无官方最低系统要求


优点:免费,简单,系统要求低

 

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



支持:

Windows 7 或更高版本, macOS 10.9 或更高版本(x86_64), Linuxhttps://docs.activestate.com/komodo/12/get/linux/

价格:

免费(支持需要订阅)

语言支持:

绝大多数主要编程语言,不过某些功能有限

插件:

Active State 包和扩展市场

UI支持的语言:

英语

系统要求:

1 GB内存, 250 MB磁盘空间


优点:免费,多功能,轻量级

 

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 资讯和深度技术文章翻译分享给大家,已翻译出版《深入敏捷测试》、《持续交付实战》。

2021-03-25 12:3013208

评论 5 条评论

发布
用户头像
没有VScode差评(针对原文)
2021-04-01 09:23
回复
用户头像
我就想问,这文章是怎么上来的?
2021-03-30 08:25
回复
用户头像
免费? 怎么想的?
2021-03-27 19:34
回复
用户头像
JetBrains换皮大法妙啊
2021-03-25 17:21
回复
用户头像
```
Visual Studio 完美地涵盖了一款可靠的 IDE 应该具有的所有基本特性,而且它使独立开发或团队开发变得非常轻松。此外,它提供了免费的社区许可(https://visualstudio.microsoft.com/vs/community/?ref=hackernoon.com),而且是开源的。
```
vstudio 不是开源的吧。

还有竟然连vscode都没有。

展开
2021-03-25 15:56
回复
没有更多了
发现更多内容

80%的前端开发都答不上来的js异步面试题

loveX001

JavaScript

腾讯前端高频面试题合集

loveX001

JavaScript

Docker Swarm从部署到基本操作

程序员欣宸

Docker Docker Swarm 10月月更

面试官:深度不够,建议回去深挖

小傅哥

Java 程序员 面试 小傅哥 招聘

这几道const和iota的面试题你能做对吗?

王中阳Go

Go 面试题 const 10月月更 go基础

React源码分析(一)Fiber

goClient1992

React

React-Hooks源码深度解读

goClient1992

React

Vue是怎样监听数组的变化的?

bb_xiaxia1998

Vue

架构实战训练营模块 2 作业

Geek_b35d92

redis设计成单线程的原因是什么

芥末拌个饭吧

后端 redis 底层原理 10月月更

关于马蹄链项目系统开发流程及技术方案分析

I8O28578624

模块二作业:微信朋友圈复杂度分析

愚人夜行者

22道js输出顺序问题,你能做出几道

loveX001

JavaScript

一天梳理React面试高频知识点

beifeng1996

React

React-Hooks怎样封装防抖和节流-面试真题

beifeng1996

React

大数据ELK(二十八):制作Dashboard

Lansonli

10月月更

美团前端vue面试题(边面边更)

bb_xiaxia1998

Vue

$nextTick的原理是什么-vue面试进阶

bb_xiaxia1998

Vue

水果成篮问题

掘金安东尼

算法 10月月更

你知道Redis是如何保持数据一致性吗

芥末拌个饭吧

后端 redis 底层原理 10月月更

从0到1设计通用数据大屏搭建平台

vivo互联网技术

大数据 可视化 低代码平台 敏捷BI

Go如何优雅的对时间进行格式化?

王中阳Go

Go golang 学习方法 golang 面试 10月月更

Java核心之多态

魏铁锤

java 编程 10月月更

java之字节型文件流笔记

魏铁锤

java 编程 10月月更

架构实战训练营模块 2 作业

Geek_b35d92

React-hooks面试考察知识点汇总

beifeng1996

React

你用Go写过中间件吗?带你用Gin实现【用户角色权限管理中间件】

王中阳Go

golang MySQL 学习方法 高效学习 10月月更

用PM2做Python进程管理也太好用了吧

芥末拌个饭吧

进程 pm2 10月月更

Qt|QListWidget实现自定义Item效果

中国好公民st

c++ qt 10月月更

华为云从入门到实战 | 云关系数据库备份、恢复及存储容灾服务

TiAmo

华为 华为云 云开发 10月月更

react源码分析:实现react时间分片

flyzz177

React

2021年要考虑的10种最佳IDE软件_语言 & 开发_WebCreek_InfoQ精选文章