感謝支持ayqy我的訂閱號,每週義務推送1篇(only unique one)原創精品博文,話題包括但不限於前端、Node、Android、數學(WebGL)、語文(課外書讀後感)、英語(文檔翻譯)
若是以爲弱水三千,一瓢太少,能夠去 http://blog.ayqy.net 看個痛快 前端
一.雲 IDE?是新概念嗎?
不不不,早在 2010 年就有成熟的產品了:Cloud9 IDE小程序
時至現在,雲 IDE 已經至關常見了,好比:vim
Cloud9:亞馬遜爲其雲計算服務提供的 IDE瀏覽器
Eclipse Che及Eclipse Theia:老牌 IDE 的雲化版本安全
Coder:以及前不久開源的code-server服務器
Expo Snack:React Native 的雲端開發環境微信
Coding:國內的雲 IDE 產品網絡
codesandbox:面向 Web 項目的雲 IDEless
二.爲何須要雲 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
完整的工程化鏈路:編輯-構建-運行-調試-測試-運維
飛快的構建速度:得益於雲計算的彈性調配能力,編譯時長能被大幅縮短
Code anywhere:開發環境也能像雲計算服務同樣觸手可得,隨時隨地,想碼就碼
實時協做:在線 Review,手把手教學,共享工做空間、一鍵分享代碼
AI 助力開發:基於全源碼的智能提示、甚至代碼生成、質量分析等
在技術走向 techless 的同時,研發模式或將迎來 tool-less 時代
參考資料
The Future of Cloud IDEs
IDEs are Moving to the Cloud
本文分享自微信公衆號 - 前端向後(backward-fe)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。