概述
集成开发环境(IDE)是一种用于构建应用程序的软件,可将常用的开发人员工具合并到单个图形用户界面(GUI)中。IDE 通常由以下几个部分组成:
- 源代码编辑器:一个旨在帮助开发人员轻松编写软件代码的文本编辑器,特色功能包括:视觉提示突出显示语法、特定编程语言的自动补全功能、检查正在编写的代码是否存在错误。
- 本地构建版本自动化:这些实用工具可以在创建软件的本地构建版本时自动执行简单的可重复任务,如将计算机源代码编译成二进制代码、封装二进制代码、运行自动测试。
- 调试器:一个用于测试其他程序的程序,它能以图形方式显示原始代码中的错误位置。
热门 IDE
IDE 有很多不同的技术和业务用例,这也意味着市场上有很多专有和开源的 IDE 可供选择。不同 IDE 之间最主要的区别通常包括:
- 支持的编程语言数量:有些 IDE 专用于一种编程语言,因此更适用于特定的编程范式。例如,IntelliJ 主要作为一种 Java IDE 而广为人知。另一些 IDE 则可支持多种编程语言,例如 Eclipse IDE 支持 Java、XML、Python 等编程语言。
- 支持的操作系统:开发人员所用的操作系统会限制可用的 IDE(除非 IDE 基于云);另外,如果正在开发的应用面向的是使用特定操作系统(如安卓或 iOS)的最终用户,这也可能会成为限制因素。
- 自动化功能:大多数 IDE 都包含 3 个关键功能(文本编辑器、构建版本自动化和调试器),很多 IDE 还支持其他功能,如重构、代码搜索、持续集成和持续部署(CI/CD)工具。
- 对系统性能的影响:如果开发人员想要同时运行其他的内存密集型应用,IDE 的内存占用率就会成为重要的考虑因素。
- 插件和扩展:某些 IDE 支持自定义工作流程,满足开发人员的需求和偏好。
移动开发 IDE
专为智能手机和平板电脑设计的应用已越来越普遍,几乎改变了所有的行业,导致很多公司除了要开发传统的网页版应用之外还要开发移动端应用。平台的选择,是移动端应用开发中的关键要素之一。例如,如果某个新应用要跨 iOS、安卓系统和网页上使用的,那么最好就从能够跨平台支持多个操作系统的 IDE 入手。
云端 IDE
相较于本地开发环境,作为基于云的软件即服务(SaaS)提供的 IDE 具有很多独特的优势。首先,与所有 SaaS 产品一样,使用这类 IDE 时,开发人员既不需要下载软件,也不需要配置本地环境和依赖项,因此可以快速着手推进项目。这还能使各个团队成员的环境实现一定程度的标准化,从而避免常见的"为什么在我的机器上能正常工作,到了你的机器却不正常"之类的问题。此外,由于开发环境会进行集中管理,所以不会有代码驻留在各个开发人员的计算机上,从而帮助解决知识产权和安全问题。
各种进程对于本地机器所造成的影响也是各不相同的。像运行构建版本和进行套件测试之类的进程通常都属于计算密集型进程,这意味着开发人员可能无法在进程运行时继续使用工作站。SaaS IDE 可以分派需要长时间运行的作业,而不会独占本地机器的计算资源。云端 IDE 通常还适用于各种平台,能够连接到不同的云供应商。