日趨成熟的云IDE怎樣改變整個(gè)軟件的開(kāi)發(fā)過(guò)程
為什么開(kāi)發(fā)人員愿意通過(guò)云環(huán)境交付所設(shè)計(jì)的軟件,而在使用云IDE時(shí)卻變得這么猶豫呢?對(duì)于許多設(shè)計(jì)員和程序員來(lái)說(shuō),在軟件開(kāi)發(fā)平臺(tái)中應(yīng)用云資源這種想法是非常奇怪的,但是,他們的這種態(tài)度正慢慢地改變,從而,軟件開(kāi)發(fā)人員和編程人員的開(kāi)發(fā)方式也有所改變。通過(guò)在本地設(shè)備上安裝IDE,開(kāi)發(fā)人員已經(jīng)習(xí)慣了使用自身硬件從事繁重的開(kāi)發(fā)工作,但是,情況卻發(fā)生了巨大的變化,云IDE變得越來(lái)越受歡迎了。
然而,許多企業(yè)正試圖拉攏那些抵制IDE的開(kāi)發(fā)人員,使整個(gè)開(kāi)發(fā)過(guò)程更趨于云設(shè)計(jì)。像Cloud9、Codenvy和Eclipse的Orion這樣知名的開(kāi)發(fā)平臺(tái)就是完全在瀏覽器環(huán)境中完成設(shè)計(jì)的,通過(guò)這種方式,開(kāi)發(fā)人員無(wú)論在哪或者不管他們喜歡使用網(wǎng)絡(luò)設(shè)備,他們都可以自如地訪問(wèn)編寫(xiě)的代碼。使用這種開(kāi)發(fā)平臺(tái)和開(kāi)發(fā)環(huán)境的目的就是滿足開(kāi)發(fā)人員的任何需求,這樣會(huì)增進(jìn)他們與開(kāi)發(fā)平臺(tái)的密切關(guān)系,而在該平臺(tái)上他們將會(huì)完成整個(gè)應(yīng)用程序的部署工作。
為何對(duì)云遷移猶疑不決?
Eclipse的Orion主管Ken Walker承認(rèn),并不是所有平臺(tái)都適合開(kāi)發(fā)人員。“我認(rèn)為,它是開(kāi)發(fā)人員非常期待的一種工具包。在Orion上,我們更關(guān)注腳本語(yǔ)言,因?yàn)?,此時(shí)我們還不具備后端編輯的能力。然而,在完成大型項(xiàng)目時(shí),我們應(yīng)用客戶關(guān)系管理解決方案就可以使用服務(wù)器端工具了。”Ken提到,有許多瀏覽器平臺(tái)就具備這種能力,例如專注于Java編程語(yǔ)言的Codenvy平臺(tái)。
另外一個(gè)問(wèn)題就是要能夠非常熟練地使用這些工具。開(kāi)發(fā)人員對(duì)他們所使用的代碼編輯器是非常挑剔的。為了使工作流程變得更加定制化,開(kāi)發(fā)人員會(huì)在其中加入一些插件,而一旦開(kāi)發(fā)人員喜歡上這些插件和IDE,變很難改變他們的這種態(tài)度。Ken說(shuō),Orion平臺(tái)就可以為開(kāi)發(fā)人員排解煩惱。這種平臺(tái)旨在提高客戶端的可擴(kuò)展性,從而,開(kāi)發(fā)人員可以通過(guò)使用JavaScript、CSS或者HTML來(lái)擴(kuò)展瀏覽器的IDE。同時(shí),Orion平臺(tái)也非常關(guān)注開(kāi)發(fā)人員在瀏覽器環(huán)境中工作的舒適度。
開(kāi)發(fā)習(xí)慣和瀏覽習(xí)慣與云IDE越來(lái)越吻合
根據(jù)Walker所說(shuō):“我們正將這種網(wǎng)絡(luò)經(jīng)驗(yàn)融入到以任務(wù)為中心的網(wǎng)頁(yè)開(kāi)發(fā)中,如GIT日志。我們可以在瀏覽器的新標(biāo)簽頁(yè)中打開(kāi)這種類型的網(wǎng)頁(yè),然后,不需要的時(shí)候就可以關(guān)閉網(wǎng)頁(yè)。而它并不是一種單頁(yè)面程序。”有了這種打開(kāi)和關(guān)閉多任務(wù)標(biāo)簽的能力,設(shè)定瀏覽器導(dǎo)航成了使用互聯(lián)網(wǎng)時(shí)每日必須完成的任務(wù)。當(dāng)然了,開(kāi)發(fā)人員仍然需要在代碼編輯器上花費(fèi)大量時(shí)間。Orion致力于提供高水平和高性能的全屏體驗(yàn)。同時(shí),也專注于無(wú)干擾的代碼開(kāi)發(fā)工作。開(kāi)發(fā)人員可以利用插件模式擴(kuò)展內(nèi)容幫助、語(yǔ)法突出以及其他功能。開(kāi)發(fā)人員使用Sublime Text、Vim、Grunt和Yeoman開(kāi)發(fā)node.js的目的是,創(chuàng)建一種可以在瀏覽器中模擬流行工具鏈的shell環(huán)境。因?yàn)?,Orion是一種免費(fèi)的、開(kāi)發(fā)資源,所以開(kāi)發(fā)人員非常愿意在平臺(tái)上輸入一些新內(nèi)容,輕松地改變適合自己的IDE風(fēng)格。
云開(kāi)發(fā)效率更高
Tyler Jewell是Codenvy的創(chuàng)始人兼首席執(zhí)行官。他舉了一個(gè)例子來(lái)說(shuō)明為什么開(kāi)發(fā)人員要盡早地學(xué)會(huì)使用云IDE。“從歷史的角度來(lái)看,人們通常會(huì)認(rèn)為IDE只是開(kāi)發(fā)設(shè)備上的小編輯器。但是,如果你仔細(xì)閱讀工作區(qū)的概念,你就會(huì)發(fā)現(xiàn)概念中包含了三種內(nèi)容:IDE、創(chuàng)建過(guò)程和調(diào)試、本地測(cè)試的運(yùn)行時(shí)間。開(kāi)發(fā)環(huán)境中有一個(gè)下載中心和配置區(qū)域。然后,你要將所有編寫(xiě)的內(nèi)容整合到一起。
此時(shí),開(kāi)發(fā)人員仍不能停止工作。“此后,你必須將IDE編寫(xiě)進(jìn)開(kāi)發(fā)人員創(chuàng)建的余下流程中,該流程包含Agile工具、CI服務(wù)器、代碼管理庫(kù)等等。這樣做之后,你們還需要清除掉多余的插件和配置。一旦臺(tái)式機(jī)上的所有資源一同運(yùn)行,它們便會(huì)臺(tái)式機(jī)上的所有應(yīng)用程序一起競(jìng)爭(zhēng)內(nèi)存空間和計(jì)算時(shí)間。通常,系統(tǒng)顛簸和交換問(wèn)題會(huì)讓機(jī)器性能下降。而云IDE也許最終會(huì)解除開(kāi)發(fā)人員對(duì)硬件性能的關(guān)注。”
企業(yè)幕后推動(dòng)云IDE
盡管,起初開(kāi)發(fā)人員對(duì)基于云的軟件開(kāi)發(fā)平臺(tái)還是遲疑的態(tài)度,但是,這種控制能力的潛在提升對(duì)企業(yè)來(lái)說(shuō)太有誘惑力了以至于它不能被任何人忽視。Jewell指出,跨設(shè)備復(fù)制IDE可能會(huì)引起許可證和協(xié)議問(wèn)題,因?yàn)?,在大型開(kāi)發(fā)項(xiàng)目中,開(kāi)發(fā)人員都可能會(huì)擁有兩個(gè)或者多個(gè)設(shè)備。對(duì)于那種十分分散的開(kāi)發(fā)團(tuán)隊(duì)(包括境外委任),使用VPN解決方案增加代碼訪問(wèn)能力可能需要一段漫長(zhǎng)而痛苦的過(guò)程。當(dāng)檢查完代碼之后,企業(yè)也不能容易地追蹤所發(fā)生的事情。云解決方案可以解決上述所有問(wèn)題。最后,只需將IDE分配到云環(huán)境中,就可以輕松實(shí)現(xiàn)集中控制。