使用體驗神似VS Code?三步帶你了解華為雲CloudIDE前世今生

2020-12-19 科技時代報

在華為開發者大會HDC.Cloud大會上,華為雲發布了基於鯤鵬計算的開發者服務 — CloudIDE服務,為鯤鵬開發者提供了很好的雲端開發體驗。體驗過CloudIDE的小夥伴都會有這樣一個感覺,使用體驗非常接近於Visual Studio Code(VS Code),包括界面布置、插件體驗都很熟悉,甚至不需要重新學習就可以把本地的開發工作直接移植到雲端。那這樣一款雲端IDE服務是怎麼被打造出來的呢?

一聲令下雲起航

實際上,華為持續投入雲計算及相關技術和產品研發已近10年,在虛擬化、存儲、計算、雲數據中心等領域不斷進步。2017年,華為成立Cloud BU,強力投入公有雲,致力於為企業提供穩定可靠、安全可信、可持續創新的雲服務。展望未來,華為雲將基於自身軟硬體的技術優勢,攜手夥伴,持續為企業客戶打造全球最佳體驗的混合雲,成為企業首選的雲服務夥伴。

為了服務華為雲開發者,2016年推出軟體開發雲DevCloud,並逐步成為華為雲軟體開發平臺。華為雲DevCloud是集華為研發實踐、前沿研發理念、先進研發工具為一體的研發平臺,面向開發者提供研發工具服務,讓軟體開發簡單高效。

華為雲DevCloud產品家族全集圖

在落實雲服務開發DevOps實踐過程中,我們發現開發者可以把需求、代碼、構建、測試、發布、部署、運維、運營等工作全部從本地轉移到雲端,享受雲服務帶來的移動性和便利性。僅有Coding一直缺乏有效的上雲方式,導致開發者手中沒有「趁手的傢伙事兒」,傳統IDE和雲資源之間相對低效的開發體驗,一直是橫在全雲化開發面前的一個「坎兒」。據此,我們決心打造一款雲上Coding的開發工具 —— 華為雲CloudIDE。

十分挑剔覓玄鐵(選定原型)

2015年,資源方案,Kubernetes避免了容器裸奔

為了給用戶提供雲端穩定的開發環境,起初CloudIDE研發團隊考察了無數種資源方案,雲桌面、虛擬機、沙箱、容器,但就資源易獲取和編排管理能力而言,各種方案都沒有完美的解決,但最終容器的易獲取性和資源靈活性還是打動了我們。Kubernetes(簡稱K8s),是一個提供跨主機集群的自動部署、擴展以及運行應用容器的平臺,從支持OpenAPI起,K8s就成為了實際意義上的最主流的容器集群管理平臺。華為雲隨即上線了兼容K8s能力的CCE服務,為開發環境服務提供資源管理和適配能力,容器裸奔時代就正式結束了。

2016年,Eclipse Che牛刀小試

當時業界主流的IDE工具無非幾種,Eclipse、Visual Studio、IntelliJ,直到今天這幾款也依然是桌面開發者的首選。基於提供多語言適配能力開發工具的初衷,以及考慮到商業許可及用戶接受度,我們選擇了基於Eclipse Che來構建第一代CloudIDE服務的方案。

這種新出現的WebIDE把本地開發工作搬到了雲端,開發者可以在雲端保存自己的開發環境,編寫代碼,運行和調試應用,甚至我們還可以對接雲服務,提供類似代碼檢查這樣的集成化場景能力。

2017年,CloudIDE 公測,在磨礪中積累經驗

自從2017年CloudIDE服務開始公測,就不斷接到用戶各種吐槽:

「啟動這麼慢,要3分鐘,還會失敗!」

「你們不是基於Eclipse嗎,長得一個Eclipse模樣,怎麼用起來和Eclipse差距這麼大呢,快捷鍵呢?」

「怎麼調試和運行,連個預設的調試能力都沒有嗎?沒有調試功能還算IDE嗎,這充其量只能算個玩具吧?」

「編碼提示呢,那麼多保留字全靠我自己記,我記不住啊」

「不是有個容器嗎,容器讓不讓我訪問啊」

從用戶不斷質疑的聲音中,逐步找到了開發者對於一款雲端IDE的關注點:

體驗:開發者已經掌握了一到兩種桌面IDE的使用,再去學習新的IDE開發體驗會給日常工作帶來額外的負擔,另闢蹊徑的操作體驗未必會被開發者接受。Visual Studio Code之所以能以輕量之身霸佔熱度之首,憑藉的就是兼容各種開發語言的能力。不用再學習啦,節約多少時間!

成本:沒人不關心錢的問題,只是程度不同。如果位於雲端的IDE管理服務和語言服務過於重載,要麼服務商吃不住(運營成本太高),要麼用戶受不了(要求配置太高)。原有的IDE框架還是過於重載,甚至需要兩個容器才能支持一個用戶實例。成本太高啦,勸退多少用戶!

生態:「獨行快,眾行遠」,任何平臺都需要夥伴的聚合與共贏,不能指望自己可以搞定所有的事情,但是可以提供相關的方法。插件,就是為了滿足定製化需要而出現的機制,可以說在各種桌面系統上已經有了極好的效果,支持插件也是一個必要的選項。開放插件生態,聚合多少夥伴!

價值:每一個服務都有它的商業價值,IDE服務除了完成編寫代碼和運行調試的基本能力,還要可以融入業務場景。Eclipse就是特別好的例子,當年IBM Rational基於Eclipse發布的ClearCase和ClearQuest客戶端,結合日常編碼,造就了良好的程式設計師工作閉環。基於場景集成,簡化多少操作!

有了方向和目標,CloudIDE團隊對極致體驗的追求、對服務價值的尋覓、對自身能力的進化,從未停下腳步!

2019年,眼前一亮,Theia的包容並蓄

在伴隨Eclipse Che社區前行的路途上,團隊步履蹣跚、心情沉重。本地化IDE產品的優秀體驗不斷激發著我們,VS Code因生態繁榮而蟬聯最受歡迎的IDE工具,IntelliJ實現了極致的Java開發體驗。2019年,Eclipse Che 7.0預覽版的出現讓團隊看到了曙光,其良好的前端體驗讓我們眼前一亮。通過研究,我們聚焦到了其前端核心服務 Eclipse Theia。什麼是Theia?

Theia,好一款Cloud &Desktop IDE!多麼的神奇,出現了一款同時可以用於桌面和雲端的IDE工具,它的界面一如熟悉的VS Code,操作體驗流暢自然,插件體系成熟穩定,服務內核精簡高效,語言支持與框架分離,前沿的技術運用,友好的商業許可(License),積極開放的發展目標,Perfect!!!

由於Theia的操作界面與VS Code非常接近,操作體驗基本一致,有不少人都會誤認為這就是VS Code的線上版本。其實對於開發者而言,不需要重新學習一個新的開發工具,難道不是一件好事?Theia從設計初期就充分考慮了桌面和雲的不同特點,支持容器部署和虛擬機部署,瀏覽器訪問。Theia內核非常精簡,只需要很低配置就可以運行起來。對於VS Code插件擴展體系的直接支持尤其吸引人。眾所周知VS Code的插件市場是業界最大的生態系統,從語言支持、業務對接、平臺支持等諸多方面都給最終用戶帶來定製化能力。Theia兼容VS Code插件擴展標準,好處不言自明。這也就說明了為什麼諸多雲廠商都採用Theia方案,來進行自己的雲IDE研發。

百鍊千錘鑄利劍(技術完善)

當今時代,是擁抱開源開放、共享共贏的時代。不重複造輪子,站在巨人肩膀上做事情的考慮,我們積極擁抱Theia開源社區,結合華為自身技術、資源、服務能力,CloudIDE進行深度優化和能力衍生。

服務鯤鵬生態,惠及開發者

眾所周知的原因,華為加快了鯤鵬計算平面能力建設。為了服務鯤鵬開發者,CloudIDE推出了鯤鵬基座的IDE實例,讓鯤鵬開發者可以在最短時間內獲取代碼開發和調試的真實環境,免去了交叉編譯和工具鏈缺陷的煩惱,實現服務應用對鯤鵬調優。在鯤鵬計算平臺,釋放鯤鵬ARM架構多核算力優勢,CloudIDE在Theia內核、語言服務、編譯加速、資源調度等方面都做出了大量優化工作。未來,針對鯤鵬開發者的開發、調試、優化的更多能力會逐步上線。

在華為開發者大會HDC.Cloud大會上,為促進華為鯤鵬生態建設,普惠鯤鵬開發者,華為雲與計算BG總裁侯金龍先生正式宣布「2020年CloudIDE鯤鵬實例免費」。即日起,即可在華為雲CloudIDE服務體驗使用。

完善開發體驗

Eclipse Theia對語言支持採用鬆散框架,通過支持Language Server Protocol(LSP)和Debug Adapter Protocol(DAP)這種開放協議和相關插件實現多語言的編碼和調試適配。CloudIDE在代碼自動補全、Java語言調試、Python語言插件、文件編碼等重要體驗能力上修復了很多重大問題。針對超大型規模代碼倉的打開效率,專門做了優化提速。基於雲原生開發的和雲基礎設施的特點,CloudIDE還提供了用戶鑑權、示例模板創建、外部埠訪問等實用功能。

增強插件能力

為了滿足支持華為雲和鯤鵬開發者快速實現插件的目標,CloudIDE團隊設計了全新的插件擴展框架,上手成本更低、交互機制更好、支持動態多視圖和事件訂閱,後續會開源出來方便開發者參與生態共建。同時作為IDE中的「零號」插件,我們也提供了自有插件市場,支持用戶安裝插件實現定製化需求。未來還會逐步支持用戶自己發布插件。

提升服務能力

華為雲已經提供了非常成熟的集群管理服務(CCE)、雲硬碟服務(EVS)、計算資源(ECS)、網絡服務(ELB、EIP、NAT等)、資料庫(RDS),把華為雲端眾多基礎服務整合成高度可用、支持用戶按需獲取資源、支持高並發訪問、支持良好使用體驗、保障用戶數據安全的開發服務。CloudIDE在用戶數據隔離保護,服務代碼安全加固,節點智能選擇調度,資源規模彈性伸縮,服務韌性可靠性提升等方面,我們都進行了技術攻關和專項研發,保證提供給用戶的是可信軟體服務。

擴展服務場景

雲時代的CloudIDE,不僅開發體驗追求高效極致,應用場景也力圖包羅萬象。提供了針對雲服務部署的Developer Console插件,可以把雲原生應用一鍵式部署到華為雲CCI形成容器服務實例,大大縮短閉環體驗時間;提供WECODE TOOLKIT插件,支持用戶雲端開發端到端的WeLink輕應用(We碼小程序),實現移動應用移動開發;提供針對教育培訓場景插件,滿足高校師生教學和作業要求;提供權限控制和OpenAPI,滿足企業用戶和集成商使用雲開發能力;提供量子計算、區塊鏈合約開發、代碼託管對接、商業智能(EI)開發等相關雲服務的原生對接能力,服務廣大開發者使用。

回饋開源社區

Theia是一個多元化的社區,CloudIDE產品團隊成員積極參與Theia社區建設,迅速成長出一個社區Committer和多名Contributors,大部分團隊成員都向社區貢獻過代碼。未來,我們會更多的參與社區的建設。

華為雲CloudIDE服務的所有技術創新都是圍繞一個目標「做最好用的雲端IDE服務」,向開發者提供優秀的體驗,持續高效交付價值,鯤鵬開發者必將實現「手中有劍,心中有夢,鯤鵬展翅,翱翔雲端」!

相關焦點

  • 使用體驗神似 VS Code?華為雲 CloudIDE 詳解前世今生
    IT之家4月2日消息 華為中國今天發布文章《使用體驗神似VS Code?三步帶你了解華為雲CloudIDE前世今生》,文章稱,在華為開發者大會HDC.Cloud上,華為雲發布了基於鯤鵬計算的開發者服務 — CloudIDE服務,為鯤鵬開發者提供雲端開發體驗。
  • 《肥志百科》帶你了解彩票的前世今生
    《肥志百科》帶你了解彩票的前世今生 2020-05-22 04:14 來源:澎湃新聞·澎湃號·政務
  • 走進松陽茶葉博物館 帶你了解一片葉子的前世今生
    4月22日,正值周末,來自全國各地的遊客走進松陽茶葉博物館,一睹松陽茶的前世今生,品嘗這精彩紛呈的茶文化大餐。松陽是「浙江生態綠茶第一縣」「中國綠茶集散地」和中國綠茶價格指數發布地,全縣40%人口從事茶產業、50%農民收入來自茶產業、60%農業產值來源於茶產業。為何松陽與茶結緣?松陽的茶文化又有什麼特點?走進松陽茶葉博物館,就可以了解松陽茶香背後的文化和故事啦。
  • 廖閱鵬:前世今生催眠曲,帶你夢回前世,總結今生!
    最近在最右上,看到了一則消息,許多人聽了廖閱鵬的前世今生催眠曲,都看到了自己的前世,我覺得很神奇,便趁著月黑風高之夜,孤身一人躲在被窩裡,悄悄的打開了喜馬拉雅收音機,點開了前世今生催眠曲,帶上耳機,準備一場穿越之旅。
  • 小兒推拿的前世今生(前世篇下)
    小兒推拿的前世今生(前世篇上) 上一期我們講了小兒推拿的史料積累期,那麼當資料積累到一定程度,那麼就會交叉混合產生出新的學科。今天我們就來了解一下小兒推拿的形成期。這個時期主要從明清時代開始。莊應琪在徐用宣所著《袖珍小兒方》(1405年)的基礎上增補「秘傳看驚掐驚口授手法」最早提出了小兒推拿的特殊操作方法,介紹了三關、六腑等小兒推拿特定穴,同時載手足推拿穴位圖譜。手法多推擦,卻被稱為「掐驚」,可能與適應證為小兒急驚風有關。該篇不足4千字,內容簡單,文字樸素,乃小兒推拿之原始雛形。
  • 帶你了解國內所有「交通大學」的前世今生,解開你的不解和疑惑
    在如今眾多獨立高校中,有許多高校幾十年或者一百年前是一家,比如我們熟知的「各種」交通大學,他們有的是重點高校,有的普通高校,有的在大陸,有的在臺灣,有些100年前是一家,有的則是後來成立定名時才有的「交通」二字,一聽把好多人頭都搞大了,今天,小編帶你簡單的了解在這些交通大學的前世今生
  • 加拿大移民之:PNP的「前世今生」,五分鐘帶你了解PNP
    到年末歲未了,移民那些事你了解多少?小編不扯謊、不吹牛,今天就來給你們聊一聊加拿大移民項目當中的PNP,給你們講講它的「前世今生」,以及它的運作規律。 首先,什麼是PNP?
  • 揭開華為雲CloudIDE和APIExplorer的面紗,來看華為雲要在武漢聊點啥
    加入DevRun開發者沙龍,華為雲技術大咖帶你找到答案!         華為雲致力於成為最佳應用構建平臺,並不斷從開發工具、技術使能服務、商業孵化三方面持續為開發者提供全方位的支持。面向開發者推出的DevRun開發者沙龍是連結華為雲和開發者的橋梁和紐帶,在沙龍上,華為雲技術專家分享各類高效開發工具,幫助開發者提升效率,為開發者在工作和生活的平衡中提供更好的選擇。
  • 自來水前世今生你了解嗎?
    我們從小被教育要節約用水,水是生命之源,在人類現代社會的生活和生產活動中佔有十分重要的地位,我們的衣食住行都離不開水,那麼我們日常生活中所使用的自來水來源於哪裡?自來水的前世今生你們了解嗎?實際上,生活中的自來水都是由龐大的給水系統所供應。那麼什麼是給水系統?
  • 極速體驗|VS Code+Python敏捷開發
    VS Code在前端開發中,有一個非常好用的工具——Visual Studio Code,簡稱VS code。很多人使用後都會感嘆「用VS Code 寫代碼是真好用、真爽。」它是一款當下流行、十分出色的ide開發工具。
  • 「一餅在手,天下我有」一張漫畫圖,帶你了解山東煎餅的前世今生
    「一餅在手,天下我有」一張漫畫圖,帶你了解山東煎餅的前世今生。最近,有看到一篇關於山東煎餅的漫畫圖,作為一個純正的山東人,頓時間感覺心裡一股暖流湧過。此篇文章,咱們就一起通過一張漫畫圖,帶領小夥伴們了解一下山東煎餅的前世今生。或許留給小夥伴們印象最深刻的還是,煎餅卷大蔥。在許多的影視資料中,都有過關於煎餅卷大蔥的演繹橋段。知道煎餅的老鐵不在少數,但吃過的可能還真的不多。下面我就給那些不了解煎餅的小夥伴們,簡單的介紹一下什麼是煎餅。
  • (看看你的前世今生)
    今生做官為何因?前世黃金裝佛身....很快就很快就會進口核苷酸分公標誌性不怎麼能形成不怎麼吃不買川貝母,差別那麼,你聰明, 車,民族才能,美廚娘,夢想著在,小菜鳥,明星在農村,明顯支持你,想桌在,性能車沒,招賢納才,毛主席才能,無下箸處嗎,只能出現,美女縣長,明顯農村,支持你們,鄉村女婿,嗎自行車那,民族才能明顯,支持你,支持下你,明星在農村,毛主席才能,怎麼才能,民族才能,明顯支持你,支持你怎麼,濃處,
  • vs code配合Anaconda寫Python?掌握這些技巧讓數據分析事半功倍
    vs code配置python插件打開vs code,左邊選擇應用商店輸入Python,選擇安裝上圖的插件安裝後你會發現左下方即可選擇使用本機的哪個python環境,是不是很方便vs code中使用交互式輸入很多小夥伴在寫探索性代碼時(特別是探索性數據分析)都會選擇使用交互式環境,比如jupyter notebook,因為可以隨時修改一個區域的代碼並且立即看到代碼效果
  • 相傳每隔百年就會出現與你長相相似的人,網友:這是前世今生?
    相傳每隔百年就會出現與你長相相似的人,網友:這是前世今生?哈嘍大家好,相傳每隔百年就會出現與你長相相似的人,小編看到下面這些照片就不得不信了,真的是太神了,感覺就像一模一樣的雙胞胎一樣,下面就跟隨小編一起來看一下這些照片吧。
  • 假設檢驗的前世今生
    其實,「前世今生」系列的文章我已經看到過好幾篇了,比如「正太分布的前世今生」、「Meta分析的前世今生」。不知為何,我個人也很喜歡「前世今生」這個詞。今天呢,就聊一聊我知道的一點「假設檢驗的前世今生」吧。 假設檢驗是統計學裡最重要、最基礎的的概念,即便是不知道,不了解這個術語,與統計學毫不相干的人,在日常生活中,也不知不覺地應用了假設檢驗。
  • 帶你了解一下這款源自東南亞的醬的前世今生
    下面就由我來為您揭開它的神秘面紗,講述它的前世今生。一、美妙的滋味源於奮鬥的歷史在明朝末年到民國這段歷史時期,國內戰亂不斷,民不聊生。一般來講,東南亞沙爹醬是由辣椒、香料等調味品直接煸炒兌汁而成,而沒有熬煮的過程,呈桔黃色膏狀,偏辛辣鹹香,風味較為刺激,大部分情況下只作為烤肉蘸醬使用。而潮汕閩南的沙茶醬色澤淡褐,呈糊醬狀,具有大蒜、洋蔥、花生米等的複合香味還兼有蝦米和生抽的複合鮮鹹味,微辣味甜。
  • 跨「閱」時光 帶你走進城口的前世今生!
    一路山水一路城 一路建設一路發展 無數珍貴照片定格瞬間 那是行走的足跡 城口 作為一座富有文化底蘊的小城 需要我們探尋的故事還有很多很多 今天微妞兒帶你穿越時光
  • 原來刺身真的是「刺」在「身」上,帶你了解三文魚的前世今生
    三文魚隨著北京疫情的反覆和新發地一道上了熱搜,使三文魚這個不太親民的食材也走進大眾視野,今天就和你說說三文魚以及刺身的前世今生。首先你要明白,什麼是刺身。刺身原本是日本北海道漁民打撈到新鮮海產品,到市場上賣,為了證明自己的魚新鮮,便分割好,做出魚生給大家品嘗。
  • 今生的夫妻是前世情人,今生的情人是前世夫妻:善待每一份相遇!
    作者:胡楊映月情人之所以對你柔情似水,之所以是浪漫溫柔的代名詞,之所以讓你感覺愛得百轉柔腸,之所以讓你刻骨銘心,是因為你們是前世的夫妻。今生之所以尋你而來,只因為前世的一份緣還沒有盡,所以今生來續前緣,是來還債的。
  • 輪迴的實證:貝滿中學老師的前世今生
    終於,最最關鍵的細節找到了,我們學校帶的十字架是沒有耶穌的,這證明了我們是基督教會學校,不是天主教會學校。基督教會學校到是不多,很快我們鎖定了最後的目標,居然是享譽海內外的一所女中--貝滿女子學校!邊前世照片,女校算術老師;右邊今生,某部門主編