程序员再也没借口了

共 2236字,需浏览 5分钟

 ·

2020-07-04 23:21

789c0fc482a9d2120de11f44dd7e871b.webp328628bc86ab1c9a0e01e4c98ffa1c25.webp


点击「阅读原文」查看良许原创精品视频。


张大胖正在海边的沙滩上惬意地休假,老板一个夺命电话打来:


“ 大胖,系统出问题了,你赶紧看看,调试一下!”


“老板啊,我出来休假没带我的笔记本电脑啊,我们的开发环境那么复杂,干不了活啊!”  张大胖掩饰着得意的心情。


“别找借口啊!我们的开发环境都在云端,IDE都在浏览器中,怎么不能干活?快去找个Pad,或者用酒店电脑!否则别想要项目奖金了。”


程序员随时随地都可以干活 , 老板的愿望实现了。



189a57818a76f6f97955418065a9e0ab.webp



这当然是我杜撰的一个场景,最近看到一篇国外的文章,标题是《编程的未来在你的浏览器当中》, 核心思想是:“基于云的编程环境将使得编程更为容易”, 这是什么意思呢?


作者举了几个例子,表明过去几十年, 桌面软件不断地在向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 去申请一下。



189a57818a76f6f97955418065a9e0ab.webp



良许个人微信


添加良许个人微信即送3套程序员必读资料


→ 精选技术资料共享

→ 高手如云交流社群





本公众号全部博文已整理成一个目录,请在公众号里回复「m」获取!

推荐阅读:

使用telnet测试指定端口的连通性

国内开发者在 GitHub 上开源 LeetCode 刷题模板,火爆全网!

微软太良心,这么强大的软件竟然完全免费!


5T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。在公众号内回复「1024」,即可免费获取!!


浏览 30
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报