程序员再也没借口了
共 2236字,需浏览 5分钟
·
2020-07-04 23:21
点击「阅读原文」查看良许原创精品视频。
张大胖正在海边的沙滩上惬意地休假,老板一个夺命电话打来:
“ 大胖,系统出问题了,你赶紧看看,调试一下!”
“老板啊,我出来休假没带我的笔记本电脑啊,我们的开发环境那么复杂,干不了活啊!” 张大胖掩饰着得意的心情。
“别找借口啊!我们的开发环境都在云端,IDE都在浏览器中,怎么不能干活?快去找个Pad,或者用酒店电脑!否则别想要项目奖金了。”
程序员随时随地都可以干活 , 老板的愿望实现了。
这当然是我杜撰的一个场景,最近看到一篇国外的文章,标题是《编程的未来在你的浏览器当中》, 核心思想是:“基于云的编程环境将使得编程更为容易”, 这是什么意思呢?
作者举了几个例子,表明过去几十年, 桌面软件不断地在向Web迁移:
音乐从iTunes转向Spotify和Pandora
字处理软件从本地转向Google Docs和Office 365
图形设计软件从Photoshop转向在线的Figma。
这几个例子说服力略显不足,尤其是对国内用户来讲。
不管如何,程序员的IDE倒一直“固执”地呆在桌面端,比如:Eclipse,IDEA, VS Studio , VS Code等等。
原因不复杂, 一是IDE对计算力要求比较高 , 二是对复杂项目的体验不好。
现在GitHub提供了一个新功能,叫做“Codespaces”,试图搞定这两个问题。
在你的GitHub代码仓库中,只要点击一个按钮,你就可以在线地编程了, 根本不需要安装任何东西,参见视频:
Codespaces的口号是:不用离开GitHub,就能获得VS Code的体验。
1. 在线代码编辑器
编码、编译、测试、调试都可以用Codespaces完成, 其中代码编辑器基于VS Code Editor, 也就是Erich Gamma大神之前搞的那个Monaco, 不得不佩服Erich Gamma,他很早就看到了未来的趋势,离开Eclipse,从IBM跳到微软,开始搞在线的开发环境。
2. 容器化环境
如果仅仅是在线编辑,那也没什么让人激动的,关键是Codespace 还能给你提供一个容器化的环境,如果你的应用程序需要MySQL, Redis, Elastic Search 等软件,你可以通过Dockerfile告诉Codespaces, 这样等你打开的时候,这些软件就自动配置好,可以使用了, 十分方便。
3. 在线协作
既然代码是在云端,那就打开了共享和协作的大门, 使用Live Share功能, 同事之间可以共享屏幕查看代码,还可以语音、视频聊天,一起解决问题。
现在能看出微软收购GitHub的“野心”了:
先把GitHub这个代码仓库买过来。
把持续集成在上面搞好。
提供基于Cloud的IDE和基于Docker的开发环境
提供非常方便的工具,一键部署到微软云计算平台Azure ---- 这才是微软真正想赚钱的地方 !
闭环完成,“图穷匕见”。
早些年我在IBM的时候,公司就搞过一个更加激进的项目,每个人分一个“瘦”PC, 计算能力弱,然后连到服务器端的各自虚拟机,虚拟机已经把工作所需要的所有软件如Lotus Note, WebSphere , Word, RAD等全部配好,新人来了开箱即用,非常方便,本地只是显示,计算全在服务器端。这种类似网络计算机(NC)的模式对服务器端的要求很高,当时云计算,Docker这些技术还没出现, 所以体验没有本机好,没有大规模铺开。
我们来畅想一下未来的场景,以后公司不会再买高配置的电脑了,只要到GitHub上给每个人申请一个Codespaces就可以了,集成测试环境,用户验收测试环境也都可以在云端搞定,全部“云化”。
对于程序员来说,无论何时何地,只要能找到一个能上网的电脑,Pad,不管性能如何,都可以打开GitHub上的Codespaces, 轻松地在线编程。
Cloud-Based的IDE能成气候吗?
不仅是微软的Codespaces, 其他厂商也推出过类似的编程环境,比如华为的Cloud IDE, 它们能成气候吗?
我觉得关键还得看体验如何,在服务器端,计算资源肯定管够(当然钱也得掏够)。
在浏览器端,Cloud-Based 的IDE 能不能做到本地IDE那样丝滑般柔顺?能不能做到迅速反馈? 由于计算主要发生在服务器端, 网速一定得快,时延一定得低,5G也许就是助力。
不管如何,我也认为这是未来的发展趋势:计算向服务器端集中,客户端走向轻薄。嗯, 这有点像最初的主机模式,多个终端连接到主机上。历史似乎给我们开了一个玩笑,兜了一圈回到起点。
这个Codespaces现在还属于Beta期,需要申请才能获得尝鲜的权限,感兴趣的可以到https://github.com/features/codespaces 去申请一下。
良许个人微信
添加良许个人微信即送3套程序员必读资料
→ 精选技术资料共享
→ 高手如云交流社群
本公众号全部博文已整理成一个目录,请在公众号里回复「m」获取!
推荐阅读:
国内开发者在 GitHub 上开源 LeetCode 刷题模板,火爆全网!
5T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。在公众号内回复「1024」,即可免费获取!!