跳到主要內容
黯羽輕揚每天積累一點點

Cloud IDE

免費2019-10-06#Mind#云IDE#远程开发#全云开发#why Cloud IDE#tool-less-dev

雲 IDE 解鎖了怎樣的未來研發模式?

一、雲 IDE?是新概念嗎?

不不不,早在 2010 年就有成熟的產品了:Cloud9 IDE

時至如今,雲 IDE 已經相當常見了,比如:

二、為什麼需要雲 IDE?

一般的開發工作流中,我們會建立一套本地環境,包括順手的 IDE 和整套本地工具,但這種本地開發模式存在一些問題:

  • 開發機性能要求高:冷編譯一次 40 分鐘

  • 開發環境配置複雜:工具環境能夠通過容器技術或一系列版本管理工具(如 nvm)解決,但網絡、安全等環境就不那麼容易配置了

  • 依賴特定設備:休假可以,但是帶上電腦,24 小時 On Call,10 分鐘無響應記大過一次

  • 巨型代碼庫的管理難題:巨型代碼庫切換個 Git 分支,動輒半小時

於是,遠程開發的理念應運而生,連接遠程測試服務器,直接在服務器環境完成日常開發工作,免去本地重建並維護一套測試環境的成本

現有的遠程開發模式下,工程師大多通過終端交互工具連接遠程機器,並通過 vim、naro 等文本編輯器來開發。而這些編輯器通常對項目文件管理、運行任務、調試器、智能提示/補全等基礎功能的支持不那麼友好,並不能像本地 IDE 一樣提供舒適的開發環境。開發體驗下降的同時,也限制了開發效率

那麼,有沒有兩全其美的辦法?

有,把 IDE 也搬到遠程,即雲 IDE

P.S. 或者把雲拽下來,即,本地 IDE 提供遠程開發能力,但理念上與雲 IDE 並無二致(本地 IDE 相當於瀏覽器),具體見 VSCode 遠程開發套件

三、雲 IDE 能解決什麼問題?

綜上,IDE 上雲能解決兩方面問題:

  • 本地開發模式難以解決的問題:不再要求本地機器十分強大,不必擔心環境,不依賴特定辦公設備,硬盤也不用再瘋狂旋轉

  • 遠程開發模式的體驗問題:不再是 Web Editor 玩具,而與本地 IDE 一樣順手的開發環境

雲 IDE 也是遠程開發模式的一種實現形式,自然能夠解決本地開發模式所存在的一些難題

同時,作為 Web Editor 的升級形態,雲 IDE 能夠提供更好的遠程開發體驗,補足遠程開發模式的體驗短板,解決工具不稱手限制開發效率的問題

四、雲 IDE 有什麼作用?

無論本地 IDE 還是雲 IDE,都具有兩個基本作用:

  • 提升開發效率:整合零碎的開發工具/服務,實現工具鏈的平台化

  • 升級開發體驗:無縫連接開發工作流,提供一站式體驗

從開發者角度來看,IDE 的關鍵在於對工具的整合與連接,不只是簡單的工具集,而是讓這些工具能以最自然的方式配合工作,組成高效的工作流。即 工作台/工作助理 >> 工具集

IDE >> 項目文件管理 + 文本編輯器 + 交互式終端 + 項目腳手架 + 運行任務 + 調試器 + 工具插件 + ...工具

對雲服務供應商而言,能夠實現從 Cloud Shell、Cloud Editor 到 Cloud IDE 的產品形態升級,將一系列產品(雲服務)與用戶的工作流緊密結合起來,不僅能更好地表達產品功能,還能通過 IDE 更高效率地觸達用戶

                     ^ FaaS、BaaS
                    /
雲服務用戶 ---> 雲 IDE ---> 數據存儲服務
                    \
                     v 計算資源

五、應用場景

在肉眼可見的未來,雲 IDE 有這樣幾個應用場景:

  • FaaS:函數即服務,那麼,函數在哪裡寫?

  • 獨立的技術生態:如 React Native、小程序、可視化搭建系統等

  • 雲計算產品:從提供離散的產品/服務(如 FaaS),轉向提供定製開發環境和工作流

  • 源碼管理平台:試想,GitHub/GitLab 即開發環境

  • 研發工作台:雲計算時代的全雲研發模式下, 需求 - 開發 - 測試 - 運維 的完整鏈路

六、未來的研發模式(可能)是怎樣的?

以雲 IDE 為中心的高效研發模式,可能是這樣的:

  • 統一的開發環境:藉助容器技術,開發環境也能作為項目的一部分,像源碼一樣管理起來(基礎設施即代碼,Infrastructure as Code),代碼風格約束也能更好地落實

  • 專用 IDE:通過定製開源 IDE,提供更貼合產品/業務的專用 IDE

  • 完整的工程化鏈路:編輯 - 構建 - 運行 - 調試 - 測試 - 運維

  • 飛快的構建速度:得益於 [雲計算的彈性調配能力](/articles/伯克利研究員們眼中的 cloud-computing/#articleHeader4),編譯時長能被大幅縮短

  • Code anywhere:開發環境也能像雲計算服務一樣觸手可得,隨時隨地,想碼就碼

  • 實時協作:在線 Review,手把手教學,共享工作空間、一鍵分享代碼

  • AI 助力開發:基於全源碼的智能提示、甚至代碼生成、質量分析等

在技術走向 techless 的同時,研發模式或將迎來 tool-less 時代

參考資料

評論

暫無評論,快來發表你的看法吧

提交評論