程序員再也沒借口了


點擊「閱讀原文」查看良許原創(chuàng)精品視頻。
張大胖正在海邊的沙灘上愜意地休假,老板一個奪命電話打來:
“ 大胖,系統(tǒng)出問題了,你趕緊看看,調試一下!”
“老板啊,我出來休假沒帶我的筆記本電腦啊,我們的開發(fā)環(huán)境那么復雜,干不了活啊!” ?張大胖掩飾著得意的心情。
“別找借口??!我們的開發(fā)環(huán)境都在云端,IDE都在瀏覽器中,怎么不能干活?快去找個Pad,或者用酒店電腦!否則別想要項目獎金了?!?/span>
程序員隨時隨地都可以干活 , 老板的愿望實現(xiàn)了。

這當然是我杜撰的一個場景,最近看到一篇國外的文章,標題是《編程的未來在你的瀏覽器當中》, 核心思想是:“基于云的編程環(huán)境將使得編程更為容易”, 這是什么意思呢?
作者舉了幾個例子,表明過去幾十年, 桌面軟件不斷地在向Web遷移:
音樂從iTunes轉向Spotify和Pandora
字處理軟件從本地轉向Google Docs和Office 365
圖形設計軟件從Photoshop轉向在線的Figma。
這幾個例子說服力略顯不足,尤其是對國內用戶來講。
不管如何,程序員的IDE倒一直“固執(zhí)”地呆在桌面端,比如:Eclipse,IDEA, VS Studio , VS Code等等。
原因不復雜, ?一是IDE對計算力要求比較高 ?, 二是對復雜項目的體驗不好。
現(xiàn)在GitHub提供了一個新功能,叫做“Codespaces”,試圖搞定這兩個問題。??
在你的GitHub代碼倉庫中,只要點擊一個按鈕,你就可以在線地編程了, 根本不需要安裝任何東西,參見視頻:
Codespaces的口號是:不用離開GitHub,就能獲得VS Code的體驗。
1. ?在線代碼編輯器
編碼、編譯、測試、調試都可以用Codespaces完成, 其中代碼編輯器基于VS Code Editor, 也就是Erich Gamma大神之前搞的那個Monaco, 不得不佩服Erich Gamma,他很早就看到了未來的趨勢,離開Eclipse,從IBM跳到微軟,開始搞在線的開發(fā)環(huán)境。
2. 容器化環(huán)境
如果僅僅是在線編輯,那也沒什么讓人激動的,關鍵是Codespace 還能給你提供一個容器化的環(huán)境,如果你的應用程序需要MySQL, Redis, Elastic Search 等軟件,你可以通過Dockerfile告訴Codespaces, 這樣等你打開的時候,這些軟件就自動配置好,可以使用了, 十分方便。
3. 在線協(xié)作
既然代碼是在云端,那就打開了共享和協(xié)作的大門, 使用Live Share功能, 同事之間可以共享屏幕查看代碼,還可以語音、視頻聊天,一起解決問題。
現(xiàn)在能看出微軟收購GitHub的“野心”了:
先把GitHub這個代碼倉庫買過來。
把持續(xù)集成在上面搞好。
提供基于Cloud的IDE和基于Docker的開發(fā)環(huán)境
提供非常方便的工具,一鍵部署到微軟云計算平臺Azure ---- 這才是微軟真正想賺錢的地方 !
閉環(huán)完成,“圖窮匕見”。
早些年我在IBM的時候,公司就搞過一個更加激進的項目,每個人分一個“瘦”PC, 計算能力弱,然后連到服務器端的各自虛擬機,虛擬機已經把工作所需要的所有軟件如Lotus Note, WebSphere , Word, RAD等全部配好,新人來了開箱即用,非常方便,本地只是顯示,計算全在服務器端。這種類似網絡計算機(NC)的模式對服務器端的要求很高,當時云計算,Docker這些技術還沒出現(xiàn), 所以體驗沒有本機好,沒有大規(guī)模鋪開。
我們來暢想一下未來的場景,以后公司不會再買高配置的電腦了,只要到GitHub上給每個人申請一個Codespaces就可以了,集成測試環(huán)境,用戶驗收測試環(huán)境也都可以在云端搞定,全部“云化”。
對于程序員來說,無論何時何地,只要能找到一個能上網的電腦,Pad,不管性能如何,都可以打開GitHub上的Codespaces, 輕松地在線編程。
Cloud-Based的IDE能成氣候嗎?
不僅是微軟的Codespaces, 其他廠商也推出過類似的編程環(huán)境,比如華為的Cloud IDE, 它們能成氣候嗎?
我覺得關鍵還得看體驗如何,在服務器端,計算資源肯定管夠(當然錢也得掏夠)。
在瀏覽器端,Cloud-Based 的IDE 能不能做到本地IDE那樣絲滑般柔順?能不能做到迅速反饋???由于計算主要發(fā)生在服務器端, 網速一定得快,時延一定得低,5G也許就是助力。
不管如何,我也認為這是未來的發(fā)展趨勢:計算向服務器端集中,客戶端走向輕薄。嗯, 這有點像最初的主機模式,多個終端連接到主機上。歷史似乎給我們開了一個玩笑,兜了一圈回到起點。
這個Codespaces現(xiàn)在還屬于Beta期,需要申請才能獲得嘗鮮的權限,感興趣的可以到https://github.com/features/codespaces 去申請一下。

良許個人微信
添加良許個人微信即送3套程序員必讀資料
→ 精選技術資料共享
→ 高手如云交流社群
本公眾號全部博文已整理成一個目錄,請在公眾號里回復「m」獲?。?/span>
推薦閱讀:
國內開發(fā)者在 GitHub 上開源 LeetCode 刷題模板,火爆全網!
5T技術資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機,樹莓派,等等。在公眾號內回復「1024」,即可免費獲?。?!
