移动原生态应用和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是浏览器控件。可以使用在原生态的应用程序中内嵌一个浏览器控件。
对于正在进行移动应用原生态的开发的企业来说,建议尽量多使用此控件。尽量让页面使用jquery mobile等web框架实现,然后用此控件去展示。对于上面提到的使用摄像头、加速计、访问本地文件可以使用原生态api去实现。这样做的原因很简单:用Jquery mobile实现的是共用的代码,未来可以运行在多个平台。
web app还是未来。但由这种方式的原生态app转换到web app就不难了。