GitHub開啟編碼新時代:在網(wǎng)頁上敲代碼指日可待
本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)
如果有一個軟件可以做所有事該多好?事實(shí)上,我們正在一步步地接近這個夢想,瀏覽器可能是很多人點(diǎn)開比較多的軟件。
近十年來,電腦軟件逐漸被網(wǎng)頁取代:音樂從iTunes轉(zhuǎn)移到了Spotify和Pandora網(wǎng)站上,文字編輯轉(zhuǎn)移到了Google Docs和Office365在線文檔,設(shè)計(jì)制作從Photoshop轉(zhuǎn)移到了Figma。
然而,網(wǎng)頁開發(fā)又與電腦性能息息相關(guān),如今編程對電腦功能要求越來越高。雖然Glitch、CodePen等代碼編輯工具已經(jīng)允許開發(fā)人員在網(wǎng)頁上完成部分工作,但更高級復(fù)雜的開發(fā)語言還是只能在軟件里完成。
而GitHub將要改變這一現(xiàn)狀。這家屬于微軟的公司推出了一款叫Codespaces的代碼編輯器,不管你使用哪種設(shè)備,都完全可以在網(wǎng)頁上寫代碼。
基于與Microsoft的Visual Studio代碼編輯器相同的代碼庫(可在Windows,Linux和macOS上運(yùn)行),Codespaces在GitHub網(wǎng)站上設(shè)置了一個按鈕,點(diǎn)擊即可鏈接到整個在線開發(fā)環(huán)境。
無論使用哪種開發(fā)環(huán)境,很多開發(fā)人員都選擇在GitHub上瀏覽和存儲代碼,可見在GitHub上發(fā)布一款代碼編輯器十分便捷,無需安裝任何軟件。
此外,Codespaces不只是個代碼編輯器,它還是個“容器”,能容納所有版本的服務(wù)器,這意味著你可以預(yù)先配置你在項(xiàng)目中用得到的所有資源,比如說PHP服務(wù)器和Redis緩存。
Docker公司將這一技術(shù)發(fā)揚(yáng)光大。容器可以把服務(wù)器的功能打包成微小輕薄的模塊,通過混合匹配搭建出一個開發(fā)環(huán)境。例如,如果你在做一個基于PHP的Laravel項(xiàng)目,你需要用到PHP服務(wù)器、MySQL以及Redis緩存。
利用容器化技術(shù)你可以指定你需要的每一項(xiàng)工具,每次打開代碼庫時它們就會自動啟動,這樣在不同電腦上完成同一個項(xiàng)目會變得更加方便快捷,也不需要每次都重新配置開發(fā)環(huán)境。
每個Codespaces環(huán)境都包含一個Dockerfile(用于指定環(huán)境的容器和配置)以及一個用于設(shè)置Codespaces開發(fā)環(huán)境的文件。與以往的開發(fā)環(huán)境不同,使用Codespaces無需在編碼前配置本地服務(wù)器與應(yīng)用程序。如果開發(fā)人員需要快速投入到項(xiàng)目開發(fā)中,只需點(diǎn)擊即可準(zhǔn)備好所有服務(wù)器和相關(guān)配置。
代碼開發(fā)從本地轉(zhuǎn)移到云端也為開發(fā)人員打開了互助的大門。Live Share 功能類似谷歌的共享文檔,通過程序內(nèi)置的音頻和文本聊天功能允許遠(yuǎn)程開發(fā)人員共同解決編程問題。
此外,Codespaces最厲害的是它的一項(xiàng)遠(yuǎn)程功能,只要開發(fā)人員當(dāng)前使用的設(shè)備上安裝有MicrosoftVisual Studio Code軟件,即便這臺設(shè)備不是能運(yùn)行實(shí)際所需代碼庫的重型電腦,開發(fā)人員也完全可以在該設(shè)備上開發(fā)項(xiàng)目。
運(yùn)行時,他們可以通過這項(xiàng)遠(yuǎn)程功能訪問自己的VisualStudio Code開發(fā)環(huán)境,使用云端網(wǎng)頁編輯器,所有的設(shè)置、擴(kuò)展程序甚至連顏色圖案都是一樣的,就好像在自己的電腦上工作一樣。
Coder 和亞馬遜的Cloud9等類似Codespaces的云端產(chǎn)品早在三年前就已出現(xiàn),但Codespaces的優(yōu)勢在于它可與GitHub直接整合。
值得注意的是,第一次使用Codespaces時需要花點(diǎn)時間:你需要確定項(xiàng)目所需的技術(shù)并確保將他們設(shè)置正確。設(shè)置好之后,等到以后要用的時候,點(diǎn)擊GitHub上的code就能在幾秒鐘內(nèi)全部設(shè)置好,直接寫代碼就完事。
Microsoft為提升開發(fā)人員的體驗(yàn)做出了一系列努力,Codespaces是他們做出的最新成果。2016年,Microsof開始決定windows用戶可以體驗(yàn)Linux系統(tǒng),沒人預(yù)料到微軟會在其專有系統(tǒng)中增加對開源操作系統(tǒng)的支持,當(dāng)時這令整個行業(yè)感到震驚。
在2018年,Microsoft收購了代碼托管平臺GitHub,今年GitHub又收購了npm的代碼分發(fā)服務(wù)。Microsoft已將Visual Studio Code打造成最受歡迎的代碼編輯器,根據(jù)最新的Stack Overflow Developer Survey數(shù)據(jù)顯示,超過50%的開發(fā)人員都在使用這款軟件。
據(jù)推測,Microsoft可能是想在獲得開發(fā)人員支持后再通過這些產(chǎn)品盈利,開發(fā)人員很可能會最終選擇把項(xiàng)目托管在Microsoft的云端托管平臺Azure上。
但是,Codespaces這樣的產(chǎn)品,是使用Chromebooks甚至是iPad等便攜式設(shè)備用戶的福音,許多軟件都無法在這些設(shè)備上安裝。使用云端軟件就不會受到這些限制的影響,只要你能聯(lián)網(wǎng),無所謂你用什么設(shè)備寫代碼。
對筆者來說,軟件開發(fā)轉(zhuǎn)移到云端最令人興奮的地方在于:有想用什么電腦就用什么電腦的自由,即便這臺電腦嚴(yán)格來說不適合做軟件開發(fā),例如搭載功能受限的ARM處理器的Surface Pro X,下載一個最新版本的網(wǎng)頁瀏覽器就足以了。
這對新手來說也是個好消息,無論是用5000美元的MacBook Pro還是用300美元的Chromebook,在云端開發(fā)都是一樣的。
編碼新時代就要到啦!