大话企业级移动应用的开发策略

简介:

移动原生态应用和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就不难了。





本文转自麒麟博客园博客,原文链接:http://www.cnblogs.com/zhuqil/archive/2011/11/22/2258442.html,如需转载请自行联系原作者

相关文章
|
安全 应用服务中间件 文件存储
Kerberos网络身份认证协议介绍及SMB文件系统对其的支持
本文简单介绍了Kerberos网络认证协议,以及SMB文件系统对Kerberos认证的支持。
7435 1
Kerberos网络身份认证协议介绍及SMB文件系统对其的支持
|
SQL 机器学习/深度学习 存储
七大经典技术场景!Apache Flink 在多维领域应用的 40+ 实践案例
随着 Apache Flink 自身的发展,越来越多的企业选择 Apache Flink 应用于自身的业务场景,如底层平台建设、实时数仓、实时推荐、实时分析、实时大屏、风控、数据湖等场景中,解决实时计算的需求。
七大经典技术场景!Apache Flink 在多维领域应用的 40+ 实践案例
|
缓存 应用服务中间件 nginx
成功解决 Nginx更新静态资源无效 ,Nginx静态资源更新不及时,Nginx清除缓存
这篇文章讨论了在使用Nginx进行动静分离时遇到的静态资源更新不及时的问题。问题描述了在服务器上更新静态资源后,访问页面时页面没有显示更新的情况。文章提供了解决这个问题的方法,即清除浏览器缓存,并提供了相关参考文章链接。此外,还展示了问题复现的步骤和正常情况的预期结果。
成功解决 Nginx更新静态资源无效 ,Nginx静态资源更新不及时,Nginx清除缓存
|
12月前
|
Python
python第三方库-字符串编码工具 chardet 的使用(python3经典编程案例)
这篇文章介绍了如何使用Python的第三方库chardet来检测字符串的编码类型,包括ASCII、GBK、UTF-8和日文编码的检测示例。
568 6
|
监控 数据挖掘 数据安全/隐私保护
ERP系统中的预算管理与控制
【7月更文挑战第25天】 ERP系统中的预算管理与控制
838 3
|
域名解析 弹性计算 网络协议
如何用阿里云轻量服务器建站(新手全流程)
如何用阿里云轻量服务器建站(新手全流程)阿里云轻量应用服务器怎么使用?阿里云轻量应用服务器使用教程:轻量应用服务器购买、重置密码、远程连接、宝塔面板的Web环境搭建、WordPress网站程序安装到网站上线,阿里云服务器网分享轻量应用服务器从购买、配置建站环境、轻量服务器应用服务器远程连接、开端口到网站上线全流程
如何用阿里云轻量服务器建站(新手全流程)
|
存储 SQL 机器学习/深度学习
阿里云数加大数据计算服务MaxCompute学习路线图:从入门到精通
将所学知识应用于实际工作中并不断进行实践和创新是提升技术能力的关键所在。用户可以结合业务需求和技术发展趋势积极探索新的应用场景和解决方案,并在实践中不断总结经验和教训以提升自己的技术水平和实践能力。
|
SQL 缓存 NoSQL
社交系统中用户好友关系数据库设计
社交系统中用户好友关系数据库设计
1419 0
|
数据采集 数据可视化 数据挖掘
Python爬虫之Pandas数据处理技术详解
Python爬虫之Pandas数据处理技术详解
|
存储 数据库
缺陷知识库
缺陷知识库
251 0