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

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


RNPolymerPo 是一个基于 React Native 的生活类聚合实战项目,目前由于没有 MAC 设备,所以没有适配 iOS,感兴趣的可以自行适配 app 目录下相关 JS 代码即可。 获取代码与编译调试打包 如下所有步骤及说明均为 React Native Android 的 DIY,涉及命令均为 Ubuntu 环境,Windows 类推即可。 1. 获取代码及模块安装和签名配置 执行如下命令进行代码下载及模块安装: $ git clone https://github.com/yanbober/RNPolymerPo.git $ cd RNPolymerPo $ npm install //如果觉得慢可以先切换到国内 npm 镜像源再执行此命令 配置 Gradle 个人签名路径及属性: //1. 把你个人的签名 my-release-key.keystore 文件(不知道如何生成请自行搜索)放到 RNPolymerPo 工程的 android/app 文件夹下。 //2. 编辑工程的 gradle.properties 文件,添加如下的代码(注意把其中的****替换为你自己相应密码)。 MYAPP_RELEASE_STORE_FILE=my-release-key.keystore MYAPP_RELEASE_KEY_ALIAS=my-key-alias MYAPP_RELEASE_STORE_PASSWORD=***** MYAPP_RELEASE_KEY_PASSWORD=***** 2. 编译打包 APK 文件 编译生成在线快速调试 Debug 开发包,执行如下命令: $ adb reverse tcp:8081 tcp:8081 $ react-native start //开启本地 JS 服务 $ react-native run-android //新终端的 RNPolymerPo 目录下执行 编译生成 release 包,执行如下命令: $ cd android && ./gradlew assembleRelease 拓展规划 下一个版本准备做的事情: 兼容性处理; 夜间模式; 热修复及 PHP 服务端编写; 多语言切换等问题评估;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值