大話企業(yè)級(jí)移動(dòng)開發(fā)策略
移動(dòng)原生態(tài)應(yīng)用和web應(yīng)用
如今移動(dòng)應(yīng)用開發(fā)這塊可以說三分天下: 蘋果的iOS ,google 的 Android ,微軟的Windows Phone,不像桌面操作系統(tǒng),windows一家獨(dú)大。對(duì)于眾多的開發(fā)人員來說,大多任選其中一種平臺(tái)進(jìn)行學(xué)習(xí)。對(duì)于一家軟件企業(yè)開發(fā)來講,開發(fā)的產(chǎn)品就必須支持多種移動(dòng)開發(fā)平臺(tái)。移動(dòng)應(yīng)用程序開發(fā)可以分為兩種形式:移動(dòng)原生態(tài)應(yīng)用和web應(yīng)用,就藐視.net的windows form和asp.net。移動(dòng)原生態(tài)用戶體驗(yàn)好,運(yùn)行在客戶端,但需要支持多個(gè)手機(jī)系統(tǒng)平臺(tái),導(dǎo)致開發(fā)和維護(hù)成本高;而web應(yīng)用為瀏覽器應(yīng)用程序,程序運(yùn)行在服務(wù)器上,這樣開發(fā)和維護(hù)的成本就不那么高了。那么正確的確定何時(shí)使用原生態(tài)的移動(dòng)應(yīng)用開發(fā),何時(shí)使用原生態(tài)的移動(dòng)web開發(fā),就能降低軟件企業(yè)的開發(fā)成本。
這篇文章先談?wù)勎易约旱囊苿?dòng)開發(fā)體會(huì);然后具體談?wù)労螘r(shí)使用原生態(tài)的移動(dòng)應(yīng)用開發(fā),何時(shí)使用原生態(tài)的移動(dòng)web開發(fā);***提出一種軟件企業(yè)的移動(dòng)開發(fā)策略,既滿足現(xiàn)在,又能把控未來。當(dāng)然自己是做企業(yè)級(jí)開發(fā),這里所說的軟件是指企業(yè)級(jí)軟件,并非互聯(lián)網(wǎng)軟件。
我與移動(dòng)應(yīng)用開發(fā)
原生態(tài)的應(yīng)用我自己選擇了iOS學(xué)習(xí)了一段時(shí)間;隨后學(xué)習(xí)了jquery mobile開發(fā)框架;服務(wù)端是使asp.net webservice。 這三者的結(jié)合就可以很***的開發(fā)一個(gè)移動(dòng)應(yīng)用程序。在使用iOS開發(fā)應(yīng)用程序的時(shí)候,自己思考最多的是未來如何快速的移植到 Android ,Windows Phone上。后來發(fā)現(xiàn)jquery mobile這個(gè)web開發(fā)框架,隱隱感覺到這個(gè)才是未來,使用它開發(fā)出來的界面與iOS的界面并無二致,而且只需將jquery mobile開發(fā)的程序部署在服務(wù)器上,iOS 、Android 、Windows Phone上都可以使用。缺點(diǎn)是用戶體檢沒有原生態(tài)應(yīng)用那么***,前面說到web應(yīng)用主要是運(yùn)行到服務(wù)端,解析之后發(fā)送到客戶端的瀏覽器上,加上手機(jī)的帶寬有限,響應(yīng)速度就沒那么快了。那么對(duì)于企業(yè)來說原生態(tài)應(yīng)用和web應(yīng)用如何抉擇呢?
如何抉擇
對(duì)于下面幾種場(chǎng)景,建議使用原生態(tài)的開發(fā)方式。
1、創(chuàng)建游戲:盡管你可以使用web的方式開發(fā)移動(dòng)游戲,但是無論如何是不能跟原生態(tài)媲美的。
2、需要精確地定位:瀏覽器也可以定位,但是不精確。
3、使用攝像頭
4、使用加速計(jì)
5、需要訪問移動(dòng)設(shè)備的本地文件系統(tǒng)
6、離線用戶
除了上面等幾種情況之外,建議都可以使用web 開發(fā)應(yīng)用程序。
企業(yè)的開發(fā)的策略
喬布斯說Web是未來,雖然現(xiàn)階段Native給了用戶更好的體驗(yàn)。如果現(xiàn)在的開發(fā)者不有效的利用Web技術(shù),那他就落伍了。但如果過分依賴Web,完全不用Native那也未必就是好事。
那么企業(yè)現(xiàn)階段到底如何進(jìn)行移動(dòng)應(yīng)用的開發(fā)呢?個(gè)人覺得解決方案是使用webview。開發(fā)方式是原生態(tài)+web。
webview是瀏覽器控件。可以使用在原生態(tài)的應(yīng)用程序中內(nèi)嵌一個(gè)瀏覽器控件。
對(duì)于正在進(jìn)行移動(dòng)應(yīng)用原生態(tài)的開發(fā)的企業(yè)來說,建議盡量多使用此控件。盡量讓頁面使用jquery mobile等web框架實(shí)現(xiàn),然后用此控件去展示。對(duì)于上面提到的使用攝像頭、加速計(jì)、訪問本地文件可以使用原生態(tài)api去實(shí)現(xiàn)。這樣做的原因很簡單:用Jquery mobile實(shí)現(xiàn)的是共用的代碼,未來可以運(yùn)行在多個(gè)平臺(tái)。
web app還是未來。但由這種方式的原生態(tài)app轉(zhuǎn)換到web app就不難了。