在过去的十年里,桌面软件的市场份额逐渐被网页浏览器所吞噬: 音乐从 iTunes 转移到 Spotify 和 Pandora,文字处理转移到网上的 Google Docs 和 Office 365,设计软件从 Photoshop 转移到 Figma。
在过去的十年里,桌面软件的市场份额逐渐被网页浏览器所吞噬: 音乐从 iTunes 转移到 Spotify 和 Pandora,文字处理转移到网上的 Google Docs 和 Office 365,设计软件从 Photoshop 转移到 Figma。
Web 开发者热衷于使用桌面软件进行编程,随着编程语言的发展,对计算机性能的要求也越来越高。虽然 Glitch 和 CodePen 等代码编辑工具允许开发人员在网上进行开发,但复杂的编程语言仍然在使用桌面软件。
流行的软件开发托管平台 GitHub 将有可能会改变这种现状。这家微软旗下的公司上周推出了一款名为 Codespaces 的新代码编辑器,它可以在各种设备的网络浏览器上运行。Codespaces 和微软 Visual Studio Code 编辑器 (运行在 Windows、 Linux 和 macOS 上) 共享相同的代码库,在 GitHub 网站上提供了一个按钮,通过一次点击就可以在线访问整个开发环境。由于很多开发者之前就在 GitHub上访问并存储代码,不管他们使用什么编码环境,启动代码编辑器很方便,不需要在设备上额外安装其他软件。
需要明确的是,Codespaces 不仅仅是一个代码编辑器,它还是服务器的“容器化”版本,这就意味着它允许你预先配置所需的任何资源,比如 PHP 服务器和 Redis 缓存,以便后期在项目中使用。
由一家名为 Docker 的公司推出的容器允许将服务器功能打包成微小的、轻量级的镜像,这些镜像可以组合在一起来构建开发环境。例如,如果你想要构建 PHP 的 Laravel 项目,你需要一个 PHP 服务器、一个 MySQL 数据库和 Redis 缓存服务。有了容器化,你就可以指定你所依赖的镜像,每次你打开你的代码库的时候,依赖的环境都已经自动建立起来了。这使得在不同的机器之间保持相同的环境非常简单,不需要在每个系统上手动安装所需的每个软件。
每个 Codespaces 环境都包含一个 Dockerfile,它是一个用来配置容器的文件,也是一个告诉 Codespaces 如何设置开发环境的文件。
与过去的开发环境不同,使用 Codespaces 不需要配置本地服务器和应用程序然后才开始编码。如果开发人员需要快速加快项目的速度,那么只需单击一下鼠标,就可以将所有服务器和配置一键准备好进行开发。
将代码转移到云端也为提升开发者体验打开了大门。[Live Share](Live Share) 功能类似于共享 Google 文档,允许远程开发人员通过内置的音频和文本聊天功能一起解决编程问题。
然而,Codespaces 的一个亮点是它的“远程”功能。即使开发者的电脑达不到运行代码库的性能要求,它也可以让开发者随时使用他们现有的 Microsoft Visual Studio Code 进行编码。当他们忙碌的时候,他们可以使用这个功能连接到他们的 Visual Studio Code 环境,并在云端使用网页编辑器。网页编辑器拥有几乎和本地完全相同的设置、扩展,甚至配色方案。
像 Coder 和 Amazon 的 Cloud9 这类产品和 Codespaces 功能非常相似,都是基于云端的产品 ,但是他们已经存在了三年多,但 Codespaces 的最大优势在于它可以直接集成到 GitHub 中。
不得不承认的是,将 Codespaces 设置得很完美需要花一些学习成本: 你需要弄清楚你的项目需要哪些技术,并确保它们能够恰到好处地结合在一起。当你要用的时候只需要点击 GitHub 上的“代码”,几秒钟之内就可以在云端设置好,让一切都准备就绪。
Codespaces 的首次亮相是 Microsoft 为打造业界最佳开发者体验所做的一系列努力的最新成果。Microsoft 的努力是从 2016 年做出 Windows 增加对 Linux 支持的决定开始的。这一举动震惊了整个行业,因为没有人指望微软会在自己的专有系统上增加对开源操作系统的支持。
然后, 2018 年微软收购了代码托管平台 GitHub,今年又收购了代码分发服务 npm。与此同时,根据最新的 Stack Overflow 开发者调查,该公司已经将 Visual Studio Code 打造成了最流行的代码编辑器,超过50% 的开发者使用它。
据推测,微软希望通过赢得开发者的支持然后进一步从这些产品中获利,这些开发者很可能会最终选择在微软的云托管平台 Azure 上托管他们的项目。
像 Codespaces 这样的产品对于使用轻量级设备(比如 chromebook,甚至是 iPad)的用户是一个福音。这些轻量级设备限制了用户能够安装的软件类型。基于云端的软件绕过了这些限制,这就意味着只要你能联网,你就可以在这些设备上进行编码。
对我来说,将软件开发转移到云端环境中,非常让人振奋: 可以自由使用我想用的计算机,尽管它从技术角度讲并算不上是一个上乘的开发设备 (比如 Surface Pro x,它使用的是基于 arm 的性能有限的处理器)。我所需要的只是一个现代的网页浏览器,仅此而已。
对于新开发者来说,Codespaces 是一个很好的选择。如果你使用云端环境,那么无论你是在 5000 美元的 MacBook Pro 上还是 300 美元的 Chromebook 上编写代码都一样能够轻松自如。
(责任编辑:中博IT教育)