爲何須要雲IDE?

       感謝支持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

聯繫ayqy      

若是在文章中發現了什麼問題,請查看原文並留下評論,ayqy看到就會回覆的(不建議直接回復公衆號,看不到的啦)

特別要緊的問題,能夠直接微信聯繫ayqywx      


本文分享自微信公衆號 - 前端向後(backward-fe)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索