2015年能否成為云移動IDE之年?
想要開發(fā)移動應(yīng)用的企業(yè)會面對許多不同的供應(yīng)商以及不同的開發(fā)工具。從一開始的開源到現(xiàn)在的專有、VAR選擇過程,我們需要考慮許多細(xì)節(jié)。開發(fā)和測試平臺中出現(xiàn)了一種相對新穎的概念“生態(tài)系統(tǒng)”,然而,這種移動化同時(shí)也帶來了一系列新的復(fù)雜影響因素。例如,移動開發(fā)和測試所帶來的新功能以及非功能性需求會對設(shè)備、操作系統(tǒng)、網(wǎng)絡(luò)和用戶行為構(gòu)成一種挑戰(zhàn)。一個(gè)好的開發(fā)環(huán)境和測試工具必須考慮到所有這些干擾因素?;谶@一思想,Server Side向Perfecto Mobil的創(chuàng)始人兼***執(zhí)行官Erin Yaniv詢問了一些關(guān)于如何在開發(fā)中做出明智決策的注意事項(xiàng)。
企業(yè)應(yīng)該關(guān)注移動IDE的哪些特點(diǎn)?
Java開發(fā)人員非常愿意看到他們所鐘愛的編程語言仍然被認(rèn)為具備基本的編程功能。Erin指出,選擇HTML或者基于web的IDE(例如Titanium)后,開發(fā)人員將不能再使用本地語言進(jìn)行編程。“我認(rèn)為在相對成熟的開發(fā)環(huán)境中,這種外部的、非本地的IDE還不夠靈活。例如在Eclipse和Xcode這種一直沿用到現(xiàn)在的開發(fā)環(huán)境中,開發(fā)人員就可以實(shí)現(xiàn)與集成商以及外部市場工具的互動。我個(gè)人建議開發(fā)人員應(yīng)該采用本地IDE,這樣可以提供Java或者Objective-C開發(fā)環(huán)境。”
企業(yè)不走這種發(fā)展路線會怎樣?
“如果你確實(shí)選擇了非本地化的IDE,那么,接下來當(dāng)IDE不支持Objective-C或者Java語言時(shí),你就必須要解決開發(fā)中所面臨的許多要重要問題。你打算如何發(fā)展SDLC?如何進(jìn)行性能測試?又如何進(jìn)行功能性測試?當(dāng)我們用另外一種語言開發(fā)本地代碼時(shí),我們又將如何更新源代碼呢?”
時(shí)下許多流行的平臺稱,可以通過簡單的混合方式來解決網(wǎng)絡(luò)與本地代碼之間的矛盾。使用這種開發(fā)工具,程序員可以在HTML5中編程,然后在客戶端上按下一個(gè)按鈕就可以輸出本地代碼。但是,從企業(yè)的角度來看,這種方法也許不會滿足太多的定制化需求,也不會作為一種長期的發(fā)展方式。在抉擇過程中,我們的頭腦中一定要有一個(gè)全面的ALM策略,這一點(diǎn)是非常重要的。
選擇移動測試工具時(shí)需要考慮哪些因素?
Yaniv表示,“持續(xù)集成”將會是企業(yè)移動開發(fā)過程中需要考慮的重要問題,并且已經(jīng)成為一種現(xiàn)實(shí)問題。“我和Jenkins一同見證了集成的開始階段。起初,在進(jìn)行開發(fā)的同時(shí),具備了測試的能力,如單元測試,然后進(jìn)行測試的同時(shí)又形成了持續(xù)集成功能,這些都是非常重要的開發(fā)過程。企業(yè)應(yīng)該建立一種可以讓后端系統(tǒng)與IDE進(jìn)行溝通的交流平臺。這樣做所帶來的最直接的好處就在于可以更早地進(jìn)行測試以及更快地成為SDLC的一部分。”
接下來,Yaniv提醒道,企業(yè)所精心挑選的移動開發(fā)商必須同時(shí)具備功能性和非功能性測試的能力。“測試平臺必須要將性能、監(jiān)控、可見性以及安全性所有這些因素都考慮進(jìn)去。因此,才能在CI環(huán)境中保證與IDE能夠進(jìn)行順暢溝通。”再次強(qiáng)調(diào)下,一個(gè)性能良好的移動程序不可能以代碼作為開頭發(fā)或者結(jié)尾,其中要包含許多內(nèi)容和過程。
云在其中會起到什么樣的作用呢?
根據(jù)Eran所說,移動開發(fā)所涉及到的***一個(gè)關(guān)鍵因素就是規(guī)模問題,要同時(shí)具備縮、放的功能。“你不可能通過一次操作就擴(kuò)大移動應(yīng)用的測試范圍,要不斷向移動項(xiàng)目提供支持,或者同時(shí)進(jìn)行多個(gè)開發(fā)項(xiàng)目。你需要提前考慮如何擴(kuò)大測試范圍,如何在應(yīng)用程序中添加其他功能,如何支持更多的設(shè)備或者操作系統(tǒng)。”他提到,云測試平臺在解決以上這些問題方面具有絕對優(yōu)勢。企業(yè)利用云計(jì)算的靈活性,可用一些虛擬環(huán)境取代固定的基礎(chǔ)設(shè)施。
在云環(huán)境中進(jìn)行移動測試或許是非常受開發(fā)人員歡迎的一種選擇。然而,云環(huán)境中沒有必要存在這種流動性的開發(fā)平臺。Eclipse Orion項(xiàng)目的開發(fā)者Ken Walker向我們解釋了為什么這種類型的平臺會落后于其他平臺。“在iOS和Android這樣特殊的操作系統(tǒng)中,云開發(fā)平臺工作人員并不能掌控所有工具鏈。有許多許可模式對應(yīng)用程序的打包方式或者所使用的開發(fā)工具類型都有一定的管理要求。”考慮到要解決這些現(xiàn)實(shí)問題,企業(yè)仍然需要尋找一種介于傳統(tǒng)方式和云方式之間的混合解決方案,從而使移動開發(fā)或者移動測試能夠?qū)崿F(xiàn)每一個(gè)系統(tǒng)的***運(yùn)行狀態(tài)。