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

















