
手機(jī)具有非凡的“改造”能力,它改造了人與電腦交流的方式,改造了人與人交流的方式,人們購(gòu)買軟件(APP)和軟件發(fā)明的方式。似乎我們知道的一切都正在或者已經(jīng)被手機(jī)改造。
對(duì)于APP的開發(fā)者來說,這種改造的挑戰(zhàn)頗有些讓人膽戰(zhàn)心驚。過去的15到20年中,開發(fā)者們集中精力創(chuàng)造并完善了為單平臺(tái)單元素(比如Windows臺(tái)式電腦)設(shè)計(jì)軟件的流程。但現(xiàn)在對(duì)于手機(jī)軟件開發(fā)來說,隨著操作系統(tǒng)(平臺(tái))的擴(kuò)展,即使是有經(jīng)驗(yàn)的軟件設(shè)計(jì)師也感覺力不從心。之前他們掌握、調(diào)試的所有工具、過程和技術(shù),用在手機(jī)軟件開發(fā)上,似乎毫無效果。
在開發(fā)市場(chǎng)上,已經(jīng)展開了圍繞下一代開發(fā)工具和開發(fā)過程的爭(zhēng)奪戰(zhàn),這種競(jìng)爭(zhēng)將使得新一代的多平臺(tái)手機(jī)開發(fā)變得和桌面或網(wǎng)絡(luò)開發(fā)一樣有效可控。為實(shí)現(xiàn)這樣的目標(biāo),預(yù)計(jì)下列五個(gè)環(huán)節(jié)將發(fā)揮關(guān)鍵作用。
1,構(gòu)建
伴隨著平臺(tái)的增多,不同的“構(gòu)建”要求也不斷增加。在今天,如果要構(gòu)建一個(gè)應(yīng)用程序,讓它分別能在iOS、安卓、Windows手機(jī),黑莓等平臺(tái)上運(yùn)行,需要涉及種類繁多的集成開發(fā)環(huán)境(IDE),軟件開發(fā)工具包(SDK)和操作系統(tǒng)。即使是混合程序,應(yīng)用已有的HTML和JavaScript技術(shù)實(shí)現(xiàn)多個(gè)平臺(tái)通用,也需要大量混雜的結(jié)構(gòu)以適應(yīng)每個(gè)目標(biāo)操作系統(tǒng)。
多平臺(tái)世界需要的是針對(duì)多平臺(tái)軟件開發(fā)的優(yōu)化的工具,而不是孤立各個(gè)系統(tǒng)或陳舊科技的工具。尋求新的改進(jìn)后的工具應(yīng)當(dāng)能幫助移動(dòng)應(yīng)用開發(fā)者彌合各個(gè)平臺(tái)的差異,這樣能節(jié)約管理軟件的時(shí)間,而把更多的時(shí)間投入到編寫軟件中。
2,調(diào)試
對(duì)移動(dòng)軟件開發(fā)來說,很少遇到像調(diào)試這樣困難的問題。
調(diào)試之所以困難,主要原因有兩個(gè):
1)可利用的應(yīng)用軟件調(diào)試手機(jī)操作系統(tǒng)模擬器現(xiàn)有數(shù)量遠(yuǎn)遠(yuǎn)低于需求量;
2)軟件一般都在電腦上開發(fā),然后可以從電腦把程序部署到手機(jī)終端運(yùn)行來調(diào)試程序。現(xiàn)在的移動(dòng)程序步驟復(fù)雜,基于電腦的模擬器也不會(huì)有很顯著的提高。因此我們只能完善手機(jī)直接調(diào)試的工具,實(shí)現(xiàn)直接在手機(jī)上調(diào)試,才能減輕目前軟件開發(fā)調(diào)試的痛苦。
3,測(cè)試
,一旦創(chuàng)建一個(gè)應(yīng)用程序,就需要一些自動(dòng)化的測(cè)試來保證在后續(xù)的更新發(fā)布前,用戶在應(yīng)用商場(chǎng)下載到的應(yīng)用程序是能正常工作的。在“以前的”微軟時(shí)代,這是一個(gè)相對(duì)輕松的任務(wù)。但是現(xiàn)在因?yàn)橛懈鞣N不同的移動(dòng)智能機(jī),使得測(cè)試不僅僅在不同的操作系統(tǒng),而且要覆蓋到不同的設(shè)備終端。雖然現(xiàn)在出現(xiàn)了“云設(shè)備實(shí)驗(yàn)室”這樣的工具,但要使得記錄、反饋和管理測(cè)試的過程有所收效,還需要大量的工作。
4,部署
不管你的程序是為了投放公開應(yīng)用商場(chǎng),還是為一些私有的用戶組開發(fā),如今移動(dòng)應(yīng)用的部署所需要的人工步驟都遠(yuǎn)多于此前。這些封閉的系統(tǒng)往往不可能讓你的程序?qū)崿F(xiàn)一次開發(fā)就可以部署到不同的平臺(tái)上。如果你的目標(biāo)群體不是公開的應(yīng)用商城,部署的過程將更加困難。每天被開發(fā)出來的內(nèi)部商業(yè)應(yīng)用成千上萬,但是要把這些應(yīng)用發(fā)布到員工的設(shè)備中,各自部署的方法都不一樣。
5,優(yōu)化
網(wǎng)站發(fā)布在服務(wù)器上,電腦程序在電腦上運(yùn)行,這些關(guān)系都是相對(duì)靜止的。但移動(dòng)軟件卻是動(dòng)態(tài)的,隨用戶移動(dòng),或在線上,或在線下,總之,一旦發(fā)布之后,就不受到發(fā)布者的控制了。
為了解我們程序的運(yùn)行狀況與其動(dòng)態(tài)分析,我們需要對(duì)已經(jīng)發(fā)布的軟件進(jìn)行監(jiān)控。開發(fā)者需要監(jiān)控程序的可用性和性能,并跟蹤普通用戶所遇到的問題,和一些引起程序低于60幀/秒或者fps(一個(gè)衡量程序響應(yīng)度的指標(biāo))的故障 。
統(tǒng)計(jì)顯示,開發(fā)出軟件因?yàn)槌跏及姹静患讯粭売玫谋壤哌_(dá)發(fā)布總量的1/4。開發(fā)人員會(huì)使用各種工具來幫助他們提高程序的質(zhì)量,從而保證他們的應(yīng)用程序不會(huì)成為那1/4中的一員。
移動(dòng)開發(fā)的艱難局面才剛剛開始,我們迫切需要更優(yōu)秀的移動(dòng)開發(fā)工具。幸運(yùn)的是,新的工具正不斷出現(xiàn),來幫助開發(fā)者來過渡這個(gè)過渡期。因此這樣的艱難過渡可能只會(huì)是短期現(xiàn)象。
via VB 本文作者Todd Anglin,Telerik(一家服務(wù)于計(jì)算機(jī)技術(shù)開發(fā)提供跨平臺(tái)工具和服務(wù)公司)的執(zhí)行副總裁。
