像 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到底是什么?
你点的每个“在看”,我都认真当成了喜欢

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

  1. 每个程序员都应该尝试的项目,看了都说好!

    点击上方 "编程技术圈"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 每日英文 Be yourself and stay unique. Your ...

  2. 未来的程序员面临着怎样的职业变化

    作为程序员,我们总是身处于如万花筒般变化无常的技术世界里.我们可能也是那群能够最早感知到科技变化所带来巨大影响的人.然而,面对这一波又一波向我们袭来的技术变革,我们是否也能从中窥见一丝规律,从而使自己 ...

  3. 聊聊未来的程序员该如何选公司和谋规划

    聊聊未来的程序员该如何选公司和谋规划 前言 嗨喽,读者朋友们大家好,由hsm_computer老师给大家讲解,写好简历后,如何选公司投简历,如何对自己的未来做规划. 正文 过了年以后,新的一轮春招又要 ...

  4. 每个程序员都应该知道的10件事!

    如果你已经编程了一段时间,并且想学习编程,那么你可能在想什么才是一个好的程序员?计算机科学与技术专业毕业生能做些什么,来为软件开发职业生涯做准备? 在本文中,我将分享10件我认为每个程序员都应该知道的 ...

  5. 老程序员都去哪儿了?

    摆在老程序员们面前有三条路,一是转行,二是继续钻研成为技术大牛,三是转型为管理人员. 我最近采访了十五位30岁以上的老程序员们,在此我想发表下我的观点. 网络上总有这类观点-- 「如果所有的技术都想着 ...

  6. 优秀的程序员都在哪里 如何寻找优秀的程序员?

    优秀的程序员都在哪里 这是你第一次公开招募雇员.如同大多数人一样,你会发布广告,可能也会浏览一些大型的网上论坛,然后你就收到了一吨的简历. 一份份看下去,你会想:"嗯嗯嗯,这人应该可以.&q ...

  7. 未来的程序员该如何选公司和谋规划?

    作者 | 泰斗贤若如 责编 | 王晓曼 来源 | 见贤思编程(ID:tdxrr666) 前言 嗨喽,读者朋友们大家好,我是泰斗贤若如,上篇文章<计算机相关毕业生如何写简历>中,hsm_co ...

  8. 一则鬼故事:如果全世界程序员都消失了

    作者 | 轩辕之风O 来源 | 编程技术宇宙(ID:xuanyuancoding) 程序员被鄙视? 这两天,有一个话题引起了程序员的广泛讨论:年薪80W程序员相亲被鄙视! 某知名互联网社区,一网友发帖 ...

  9. 每一个有理想的程序员都应该读的一本书-《rework》

    每一个程序员都有改变世界的梦想,他们不甘平凡,他们想要make a difference,他们想要创立世界上最cool的公司,那具体该如何做呢?风靡全球的<rework>将告诉你答案 37 ...

最新文章

  1. [转]linux grep命令
  2. 使用java实现面向对象编程试题答案,面试题+笔记+项目实战
  3. linux 文件查找_Linux文件查找
  4. oracle--逻辑对象--bai
  5. html制作文字效果,10个text-shadow制作的文字效果
  6. 【OpenCV新手教程之十四】OpenCV霍夫变换:霍夫线变换,霍夫圆变换合辑
  7. Android: 例如用户模块 保持登录后数据实时同步改变
  8. 怎么用计算机编程算术,总算认识怎么用scratch做计算题答题程序
  9. windows系统上删除顽固文件
  10. 如何提高下载速度(校园网怎么提高下载速度)
  11. 去除xp系统计算机多余的系统,WinXP电脑如何清理垃圾?
  12. 过程控制第四章到第六章
  13. linux之lzma tar压缩解压命令
  14. 【LeetCode】1056. Confusing Number 解题报告(C++)
  15. 美国黄岩超级计算机,飓风预测 揭秘最快气候研究“黄石”超算
  16. 简单彩虹动画的效果实现
  17. 用Cyberduck访问iPhone/ iPod Touch
  18. java队列研究_【文献检索】队列研究检索策略过滤器
  19. FlyAI资讯:关于Transformer,那些的你不知道的事
  20. 【NOIP2016】bzoj4719 天天爱跑步

热门文章

  1. E. Mahmoud and Ehab and the function Codeforces Round #435 (Div. 2)
  2. 6.输入四个数,找出最大值方法二
  3. SDN第5次上机作业
  4. xamarin误删vEthernet(internal Ethernet Port Windows Phone Emulator) 网络设备的处理。
  5. Linux高级编程--06.进程概述
  6. vba遍历字符串_EXCEL 公式 遍历查找 查找字符串
  7. abaqus python二次开发攻略_Abaqus二次开发Python脚本二次开发
  8. cv2作图cv2.polylines,cv2.fillPoly,cv2.fillConvexPoly多边形时需要注意的地方
  9. 剑指Offer之寻找二叉搜索树的第k个节点
  10. 双机热备的缺点_弱电工程中的双机热备是什么?带你了解服务器双机热备