使用在线IDE开发而不是在本地使用vscode的5个理由

为什么我在云端编码

开发正在转向云端。以下是这对团队来说将带来重大改变的原因。

在过去的几个月里,我们看到越来越多的工具以某种方式(全部或部分)采用云开发环境(CDE)。像 Slack、Pipedrive 和 Dynatrace 这样的公司最近都开始使用 CDE 进行开发。

因为我们也在 CodeSandbox 上开发我们的 CDE 解决方案已经 2.5 年了,人们经常问我关于它们的好处。因此,在这篇文章中,我将深入探讨什么是云开发,以及为什么我认为 CDE 是未来。

云开发概述

我已经在云端开发了几年了。我第一次接触云端是在我在 Meta 实习的时候,后来我将我的开发流程转移到了 CodeSandbox。

云开发的概念非常简单:整个开发环境运行在服务器上,而不是您的笔记本电脑上。这是 CDE 的核心,但是每个 CDE 实现都可以非常不同。

您在 CDE 上编码时首先注意到的就是它非常快。因为您运行在 VM 计算能力上,您可以访问在主流笔记本电脑上找不到的规格,这确实加快了编译时间等事情。

然而,访问更多的计算能力只是使用 CDE 的众多好处之一。根据我的个人经验,使用 CDE 进行开发还有很多其他好处,所以让我们看看为什么我认为 CDE 是软件开发的未来的一些关键原因。

“它在我的机器上运行良好”

我已经记不清有多少次我与同事分享了错误报告,但他们却回复“在我的机器上运行!”。这是因为每个团队成员都在不同的本地环境中运行代码。我的环境可能有一个过时的依赖项,我的笔记本电脑可能由于其 CPU 架构而有一个已知的限制,或者可能是其他完全不同的东西。这通常会导致阻塞和浪费时间在故障排除开发环境上,而不是专注于编码。

不同团队之间本地开发的分散性示意图

由于其本质,CDE 可以消除此问题。开发环境中的所有内容都在代码中指定。VM 规格、 Dev Container 配置和要运行的任务。因此,每个人都运行完全相同的环境。这有助于开发环境的稳定性和一致性。您不会遇到代码在您的机器上运行但在其他机器上不运行的情况,因为每个人都在有效地运行相同的机器。

CDE 的另一个积极副作用是,当有人从环境中更新某些内容时,例如全局依赖项,每个人在拉取代码时都会得到它。这不仅使保持开发环境同步更容易,而且还节省了大量的时间。当新人加入时,他们可以转到一个 URL,并单击“创建分支”以拥有一个他们可以在其中编码的运行环境。

速度

CDE 不仅因为它们的规格而快速——它们还解锁了新的工作流程改进,这些改进在本地是不可能的,从而加快了开发工作流程。

能够在 CDE 中同时运行多个开发环境是一个与使用笔记本电脑进行本地开发相比的巨大优势。当我在 Meta 时,我看到有人同时运行三个开发环境。他们将在一个环境中进行更改,启动测试套件,然后转到第二个环境来为另一个分支执行相同操作。

我们在 CodeSandbox 开发的 CDE 的核心部分已经纳入了这一点。每个分支都在一个唯一的 VM 上运行,这解锁了快速的上下文切换。当您在一个分支上工作并想要快速修复错误而转到另一个分支时,您可以在几秒钟内通过在新窗口中打开该分支的新环境来完成此操作。您无需运行 git stash、等待 npm install,甚至运行数据库迁移。每个分支都成为一个 VS Code 窗口,这使得整体上下文切换更快。

在我们的 CDE 实现中,我们为每个分支运行一个唯一的环境。因此,我们需要快速且频繁地休眠和恢复 VM。因此,我们开发了一种独特技术,使我们能够在 2 秒钟内完成此操作(了解更多信息 在这里)。这是一个巨大的省时器。例如,每次打开 PR 时,我们都会启动一个 VM 来运行该 PR。我们运行构建和开发服务器,当一切都准备好时,我们会暂停它。每当有人想要审查 PR 时,我们将恢复 VM,他们将立即拥有整个环境。

CodeSandbox 在不到 2 秒的时间内启动开发环境

协作

CodeSandbox 的想法是在 2016 年产生的。当时我手边没有笔记本电脑,在 Slack 上收到了一个关于一段 React 代码的问题。他们给我发了静态代码,我必须在无法运行它的情况下弄清楚发生了什么。这使得我更难理解发生了什么。

即使我有笔记本电脑,我也仍然需要自己下载并运行该代码。人们共享静态代码,您需要自己安装开发环境才能运行它。这就是 CDE 节省大量时间并为协作开发创建新范式的关键所在。如果团队成员可以共享一个运行环境的链接,我可以直接进入并立即看到问题所在并解决它。

因为我们的 CDE 实现为每个分支提供一个 VM(而不是为每个开发人员),我们创建了以前不可能的工作流程。每个人都在运行相同的机器,因此有实际的实时编码和无缝的结对编程。我们已经看到,这改变了一些公司测试我们 CDE 的整个公司的协作,因此我不惊讶看到这成为软件工程协作的新范式。
CodeSandbox 如何为每个分支提供云环境的草图。

可访问性

能够共享运行开发环境的链接不仅使开发人员更容易相互协作,而且还使开发更加容易访问。

想象一下,您想与设计师共享一些正在进行的工作。您可能会将其部署到暂存环境,因为大多数设计师的笔记本电脑上没有安装开发环境。不过,这很慢。您必须等待暂存构建完成才能看到它,如果他们提供反馈,您必须再次经历相同的循环。

在 CodeSandbox 中,我们通过允许您共享运行开发环境的链接来消除所有这些步骤。即使您在 VS Code 中工作,他们也可以使用 CodeSandbox 网页编辑器查看代码的实时预览。实际上,他们可以提供反馈,当您更改代码时,预览将由于热模块重载而自动更新。

这对我们来说是一个巨大的省时器。它使合并更改变得更快,甚至使营销等其他角色更容易提出自己的小更改。

迁移到 CDE

采用 CDE 并不意味着您突然改变了整个工作流程。您甚至可以在本地开发环境旁边使用 CDE。我们正在构建的 CDE 使用 Dev Containers 配置开发环境,因此您可以使用相同的配置在本地和 CodeSandbox 上运行代码。

例如,这意味着如果您正在本地环境中处理一个大功能,并且需要快速查看 PR,您可以打开浏览器并直接在 CodeSandbox 中查看 PR。快速修复错误也是如此。

最终,我们希望降低使用 CDE 的门槛,就像我们在 2016 年为“快速原型设计”概念所做的那样。我们一直在努力改善这种体验,但我不想剧透太多,敬请期待!

同时,您可以通过导入您的一个仓库来尝试 CodeSandbox。

作者:艾夫斯·范霍恩
原文:https://codesandbox.io/blog/why-i-code-in-the-cloud


如果你在web前端开发、面试、前端学习路线有困难可以在下方加我名片。免费答疑,行业深潜多年的技术牛人帮你解决bug。

可提供web前端开发,网站开发、技术咨询、答疑、直播讲座等服务。

祝你能成为一名优秀的WEB前端开发工程师!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值