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