王亞偉,華為云DevCloud研發技術總監。他將一杯咖啡,推到老同學面前。“一杯咖啡吸收宇宙能量”是華為的企業文化,王亞偉深得此精髓。“開發者并不在乎從松江到張江,但他們時刻想著什么時候‘內環’通車。”或許,這只是大咖之間才能聽懂的對話。畢業之后,老同學一直在研究ARM架構,他所說的 “內環”與交通無關,但與距離有關。而這正是王亞偉此行的目的,華為云CloudIDE的研發此時已經啟動。
沒有任何差別,甚至…
華為開發者大會2020(Cloud)期間,王亞偉面向全球開發者介紹了CloudIDE。作為華為云DevCloud開發平臺的核心組件之一,CloudIDE一改此前桌面IDE臃腫笨重的形象,也一改此前磨蹭拖沓的形象。當然,還有“交通”問題,CloudIDE打通了編程的開發態和運行態,即開篇所說的“內環”通車,x86平臺和鯤鵬平臺之間將不再有“異地戀”的相思之苦。
“鯤鵬920非常強大,完全感受不到與x86系統的任何差別,甚至在某些場景中表現得更好。”在王亞偉的印象中,ARM多年來一直蜷縮在智能移動終端、物聯網終端,或者樹莓派(RPi)等單片機電腦中,業內并沒有將其應用于服務器的先例。
此時,王亞偉和他的團隊正在進行CloudIDE的原型研發,并第一次將CloudIDE內核部署在基于鯤鵬920的服務器中。當然,這也使王亞偉真正了解到鯤鵬920的實力。
事實上,CloudIDE背后有一些很復雜的語言服務,針對于Java、Python和C++等語言服務,語言服務需要對全量代碼進行解析,更需要很強大的算力來支持。而這一次部署也徹底打消了王亞偉此前對ARM的疑慮,用王亞偉的話來描述:“但僅僅一個小時,團隊就擦掉了所有問號。”
身為華為云DevCloud研發技術總監,王亞偉此前曾就職于英特爾、微軟等公司。他回憶華為云DevCloud研發團隊第一次將CloudIDE原型系統部署在基于鯤鵬920處理器的服務器上時是一年前,不經意間,王亞偉又透露了兩個信息,而將這兩個信息捏合在一起,即可還原當時的研發進度,CloudIDE系統幾乎與鯤鵬處理器同時起步。或者說,鯤鵬處理器幾乎與鯤鵬開發者生態同時起步,從一開始,鯤鵬就是一個極為龐大、極具顛覆性的構想。
不可拒絕的IDE之輕
確實,華為云CloudIDE就是為了鯤鵬生態而生。但在此之前,可先回顧開發者工具的演進歷史。通常認為,IDE(集成開發環境)的前身是代碼編輯器。可如此比喻,就如“關老爺”手中的“青龍偃月刀”,代碼編輯器就是程序員安身立命的武器。
而此后出現的桌面IDE,雖并未取代代碼編輯器,但提供了更強大的代碼理解和代碼調試能力。2015年,微軟推出Visual Studio Code,這可稱一款劃時代的產品,其幾乎兼容了代碼編輯器和桌面IDE的能力。
當然,此時的IDE并也沒有擺脫臃腫笨重的形象。桌面IDE的前臺與后臺緊耦合,對電腦配置有極高的要求。稍加留意,如果您發現身邊有人在使用七八公斤的17寸筆記本,他不是專業游戲玩家,就多半是資深軟件開發工程師。
言歸正傳。重量級的華為云CloudIDE卻是一款“輕量級WebIDE”,不僅具備Visual Studio Code的能力,更可為開發者提供在線編程體驗,開發者甚至不用在本地安裝任何程序,只需打開瀏覽器即可進行編碼和調試。或者說,CloudIDE的原理類似于虛擬桌面,其將編碼環境與IDE環境進行解耦,甚至借助一臺智能手機,也能進行編碼調試,這或許才是真正的“拎包入住”或者“開袋即食”的體驗。
兩點之間 CloudIDE的距離最短
延伸此話題。“輕量級”的華為云CloudIDE,不只是輕盈,更是輕巧。鯤鵬處理器的基因是ARM架構,但此前基于x86架構的IDE平臺,似乎對ARM并不友好。最為現實的情況是,ARM開發者往往不在進行腦力勞動,而更多的是在進行體力勞動:他們并不是在編程,而是一直在“代碼搬家”的路上,“碼農”的形象用在他們身上尤為貼切。
而最讓這些“碼農”崩潰的場景是:開發者使用基于x86架構的代碼編輯器,之后各顯神通進行“代碼搬家”,將程序遷移至基于ARM架構的編譯環境。運行測試過程中如發現BUG,需再將程序回遷至原環境進行修改。如此往復,可能每天最多要“折返跑”百次以上。
以專業語言解釋,此即是上述所說的“內環割裂”。“編碼-編譯-調試-測試-編碼”被稱為開發“內環”,此前ARM與x86之間,老死不相往來,一直處于“內環割裂”狀態。按下F5快捷鍵,本可以解決的問題,卻需要反復搬家。