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