未来的程序员都将在浏览器中编码!

2020 年 5 月 19 日 CSDN

像 GitHub 新出的 Codespaces 这种云端的开发环境让编程更容易

作者 | Owen Williams
译者 | 明明如月,责编 | 郭芮
头图 | CSDN 下载自视觉中国
出品 | CSDN(ID:CSDNnews)

以下为译文:

在过去的十年里,桌面软件的市场份额逐渐被网页浏览器所吞噬: 音乐从 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 上编写代码都一样能够轻松自如。
原文:https://onezero.medium.com/the-future-of-code-is-in-your-browser-2c51a08e8ab2
译者:明明如月,知名互联网公司 Java 高级开发工程师,CSDN 博客专家。
本文为 CSDN 翻译,转载请注明来源出处。

更多精彩推荐

华为 5G、阿里检测病毒算法、腾讯 AI 一分钟诊断,国内抗疫科技大阅兵!

Get!读懂数据科学和机器学习,看这文就够了!

天才程序员之陨落:在业余项目创业 Cloudflare,公司上市前患病失去自理能力

Go远超Python,机器学习人才极度稀缺,全球16,655位程序员告诉你这些真相

对不起,我把APP也给爬了

超级账本Hyperledger Fabric中的Protobuf到底是什么?

你点的每个“在看”,我都认真当成了喜欢
登录查看更多
0

相关内容

开发环境是指在基本硬件和数字软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
【干货书】现代数据平台架构,636页pdf
专知会员服务
253+阅读 · 2020年6月15日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
69+阅读 · 2020年1月17日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
在浏览器中使用tensorflow.js进行人脸识别的JavaScript API
人工智能头条
6+阅读 · 2018年7月2日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
如何运用Python建一个聊天机器人?
七月在线实验室
17+阅读 · 2018年1月23日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
资源 | 适合AI新手的9款人工智能开源软件
AI100
3+阅读 · 2017年11月13日
码农日常工具推荐
架构文摘
4+阅读 · 2017年9月26日
Learning Dynamic Routing for Semantic Segmentation
Arxiv
8+阅读 · 2020年3月23日
Arxiv
5+阅读 · 2018年12月18日
Arxiv
6+阅读 · 2018年6月21日
Arxiv
6+阅读 · 2018年5月18日
Arxiv
5+阅读 · 2018年5月1日
Arxiv
4+阅读 · 2018年3月30日
Arxiv
5+阅读 · 2018年3月28日
VIP会员
相关VIP内容
【2020新书】实战R语言4,323页pdf
专知会员服务
100+阅读 · 2020年7月1日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
【干货书】现代数据平台架构,636页pdf
专知会员服务
253+阅读 · 2020年6月15日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
深度神经网络实时物联网图像处理,241页pdf
专知会员服务
76+阅读 · 2020年3月15日
TensorFlow Lite指南实战《TensorFlow Lite A primer》,附48页PPT
专知会员服务
69+阅读 · 2020年1月17日
相关资讯
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
在浏览器中使用tensorflow.js进行人脸识别的JavaScript API
人工智能头条
6+阅读 · 2018年7月2日
Python 杠上 Java、C/C++,赢面有几成?
CSDN
6+阅读 · 2018年4月12日
如何运用Python建一个聊天机器人?
七月在线实验室
17+阅读 · 2018年1月23日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
资源 | 适合AI新手的9款人工智能开源软件
AI100
3+阅读 · 2017年11月13日
码农日常工具推荐
架构文摘
4+阅读 · 2017年9月26日
相关论文
Learning Dynamic Routing for Semantic Segmentation
Arxiv
8+阅读 · 2020年3月23日
Arxiv
5+阅读 · 2018年12月18日
Arxiv
6+阅读 · 2018年6月21日
Arxiv
6+阅读 · 2018年5月18日
Arxiv
5+阅读 · 2018年5月1日
Arxiv
4+阅读 · 2018年3月30日
Arxiv
5+阅读 · 2018年3月28日
Top
微信扫码咨询专知VIP会员