云IDE——这是我最喜欢的一种完全避免管理开发环境的新方法。
以下为译文:
设置和维护开发环境是一件非常麻烦的事情。如果你需要同时兼顾多个项目的话,那么你的麻烦会更大,因为你需要管理多个开发环境!
多年来,为了管理多个开发环境,我尝试了许多工具和策略,比如nodenv、rbenv和vagrant等各类工具。每种工具都有自己的用武之地。
如今,我更进一步,找到了一个新的工具——云IDE。这是我最喜欢的一种完全避免管理开发环境的新方法。我希望借助云IDE轻松地管理每个项目单独的开发环境,而且这种开发环境位于其他人管理的容器中。
这里我所说的“云IDE”指的是开发环境即服务。这是一种完全托管且功能齐全的环境,可通过Web浏览器运行命令和访问文件系统。
网上有很多许多云IDE,可满足各种需要。在挑选最喜爱的云IDE时,我考虑了二十多种选择。因为我的业余项目主要是使用JAMstack,所以我的主要标准是:
支持nodejs
集成与GitHub
外观与Visual Studio Code很接近
有趣
便宜
最有趣的工具:Glitch(https://glitch.com/)
如果你有兴趣编写基于 Node.js 的Web应用程序,那么 Glitch 是个不错的选择。用 Glitch 编写代码十分轻松,你不必在意许多配置方面的小细节。该工具的界面简单易用,你可以专心写代码。最重要的是,Glitch 是免费的!
Glitch 不仅仅有云IDE,它还有一个在线社区,一个托管的源代码控制库和一个部署平台。因此,无需其他工具你就可以与全世界共享你的项目,非常方便。除此之外,Glitch 还提供了一个Visual Studio Code扩展,你可以通过桌面应用程序编辑托管到云的 Glitch 项目。而且 Glitch 还可以从 GitHub 导入或导出项目。
无论你是新手程序员想在协作环境中学习,还是希望建立一个大型的业余项目,Glitch 都可以满足你的各种需求。
无缝的工作流程:Gitpod(https://www.gitpod.io/)
如果你想使用 GitHub 或 GitLab 管理源代码库、集成和社区工具,或者你想使用 Node.js 以外的其他运行时,那么可以考虑 Gitpod。
Gitpod 的使用与 Visual Studio Code 非常相似,支持许多相同的扩展。虽然不像 Glitch 那么有趣,但在支持语言方面,Gitpod 更加灵活。然而,Gitpod 最为突出的一点是,它能与 GitHub 和 GitLab 完美集成。从登录到 checkout 项目,再到提交更改,Gitpod 能够与源代码托管平台无缝集成。此外, Gitpod 还可以快速查看你在 GitHub 或 GitLab 上偶然发现的项目,可以让你愉快地尝试这些项目。Gitpod 极易上手,而且也是免费的!
Gitpod 不仅限于云IDE,但与 Glitch 不同,这是一个持续开发环境平台。这意味着,你可以通过配置 Gitpod,在每次代码变更时,自动重建开发环境,每当打开IDE时,开发环境中所有的依赖项均已预先构建完成。
Gitpod 的理念是打造廉价、临时的开发环境。你可以按需使用,通过 Gitpod 修改代码和检查变更,然后在提交或审核完毕后,丢弃代码。
与 Glitch 不同,Gitpod 不提供持续部署或托管平台。你可以将这些服务直接连接到 GitHub 或 GitLab 代码库,以保证每次从 Gitpod 提交代码时都触发这些服务。
repl.it 服务是一个有趣的云IDE,其更侧重于指导学习。repl.it 支持多种编程语言,它基于 Visual Studio Code,专注于社区,并且能够从 GitHub 导入代码。该服务还包括源代码控制和Web托管,可以大量减少生产所需的工具数量。而且 repl.it 也是免费的!
最惊艳的工具:RunKit(https://runkit.com/home)
RunKit 不是云IDE,它是交互式 Node.js Notebook。与大多数的代码练习环境不同,RunKit 可以运行持久的服务器端进程,并公开Web端点。除此之外,RunKit 还提供可视化输出和时间旅行调试(time travel debugging)。
每个主流的云供应商都有托管的IDE。总有一款适合你的需求。通常这些IDE都包含一些便利的功能,例如默认使用自家云平台的命令行工具和身份验证令牌。
Google Cloud Shell 对 Google 云平台用户免费开放。其中包括一个基于 Theia 的文件编辑器,Visual Studio Code 的用户会觉得很熟悉。
AWS Cloud9 是最早的云IDE之一。但 AWS Cloud9 与 Visual Studio Code 截然不同,而且也不是免费的。
Azure Visual Studio Code Online
Visual Studio Code 的在线版本,谁会不喜欢原版的IDE?我还没用过,但如果你在使用 Azure,那么绝对值得一试。只不过不是免费的。
有时,你可能希望在容器中进行开发,而不必依赖云。在这种情况下,Visual Studio Code开发容器是一个不错的选择。感觉与使用 Gitpod 类似,但是所有开发都在Docker本地运行。
在寻找云IDE时,我发现有些项目采用了DIY的方法,要求用户提供自己的服务器来托管开发环境。尽管这种方法不适合我个人,但如果你需要使用自己的服务器,那么可以考虑以下项目:
coder-server(Coder 提供):在浏览器中运行 Visual Studio Code,托管在拥有ssh访问权限的开发计算机上。
Koding:自行创建和共享完全自动化的开发环境。
Eclipse Che:面向开发人员团队的 Kubernetes 原生 IDE。
ICEcoder:基于PHP的浏览器代码编辑器。
Codiad:自2018年以来,就没人维护了。
Web 练习环境
以下服务提供了Web练习环境,看起来与云IDE类似,但它们不包含服务器/虚拟机/容器环境:
CodeSandbox:用于Web快速开发的即时IDE和原型设计工具。
CodePen:面向前端设计人员和开发人员的社交开发环境。
JSFiddle:一款低调的编程练习环境。
JSBin:可用于练习Web语言。
Codeply:快速、免费的在线编辑器,包括数十个框架、入门模板和40,000多个代码段。
codeanywhere:开发人员的协作平台。
goormide:强大的云IDE,可最大程度地提高开发人员和团队的生产力。
SourceLair:可使用 Sublime Text 快捷键在浏览器中编写代码。
PaizaCloud:基于浏览器的Web开发环境。
CodeTasty:现代、智能、可扩展的云IDE。
OrionHub:在云中运行的现代开源软件开发环境。
总的来看,云IDE的选择有很多。无论你需要云原生IDE、混合云IDE还是私有云IDE,也无论你是 JavaScript 新手还是经验丰富的 C++/Java专业人士,希望每个人都可以找到满意的云IDE。
原文:https://medium.com/better-programming/my-favorite-cloud-ides-e6afaa94d96b
☞如何用CNN玩转AlphaGo版的五子棋?
☞区块链和大数据一起能否开启数据完整性的新纪元?
☞以太坊2.0、分片、DAG、链下状态通道……概述区块链可扩展性的解决方案!