阅读更多
移动开发框架选型
--->移动开发框架选型分析
移动开发主要分为原生模式(Nativi App)开发\混合模式(Hybrid App)开发\Web App模式。
---》Hybrid App
Hybrid APP指的是半原生半Web的混合类App。需要下载安装,看上去类似Native App,但只有很少的UI Web View,访问的内容是 Web 。
例如Store里的 新闻类APP,视频类APP普遍采取的是Native的框架,Web的内容。
Hybrid App 极力去打造类似于Native App 的体验,但仍受限于技术,网速,等等很多因素。尚不完美。
---》Native App
Native APP 指的是原生程序,一般依托于操作系统,有很强的交互,是一个完整的App,可拓展性强。需要用户下载安装使用。
优点:
(1)打造完美的用户体验
(2)性能稳定
(3)操作速度快,上手流畅
(4)访问本地资源(通讯录,相册)
(5)设计出色的动效,转场,
(6)拥有系统级别的贴心通知或提醒
(7)用户留存率高
缺点:
(1)分发成本高(不同平台有不同的开发语言和界面适配)
(2)维护成本高(例如一款App已更新至V5版本,但仍有用户在使用V2, V3, V4版本,需要更多的开发人员维护之前的版本)
(3)更新缓慢,根据不同平台,提交–审核–上线 等等不同的流程,需要经过的流程较复杂
--》Web APP
Web App 指采用Html5语言写出的App,不需要下载安装。类似于现在所说的轻应用。生存在浏览器中的应用,基本上可以说是触屏版的网页应用。
优点
(1)开发成本低,
(2)更新快,
(3)更新无需通知用户,不需要手动升级,
(4)能够跨多个平台和终端。
缺点:
(1)临时性的入口
(2)无法获取系统级别的通知,提醒,动效等等
(3)用户留存率低
(4)设计受限制诸多
(5)体验较差
---》开发模式选择
如果技术实力雄厚,小组具备ios、android等平台人才,且开发周期充足,可以原生模式;
纯web模式交互性比较差,尤其涉及平台底层api,会遇到技术瓶颈;
混合模式,通过webview渲染界面,通过接口调用本地方法,这样就可以使用html、javascript、css编写程序,并通过js调用系统的底层api,技术门槛低,过度依赖某一产品或框架值得注意。
---》混合模式原理
---》混合模式框架筛选
比较流行的框架: ionic、jquery mobile、sencha touch、mui
ionic 基于cordova,采用angularjs实现前后台交互逻辑,并且提供移动定制界面页签。
jquery mobile效率不高,过于臃肿,不推荐;
sencha touch,组件丰富,有ext知识背景的接受起来比较容易。但企业应用是收费的。
mui,基于html5+和native.js并结合自身前端js封装和css库提供了一整套实现方案,同时提供了集成开发环境H5 builder,国产软件,文档还算丰富,并提供了大量实现示例。
---》mui与ionic对比
mui
是否免费 遵循MIT协议
开发模式 hybird
社区活跃度:比较活跃
是否支持android 是
是否支持IOS 是
开发环境 集成开发环境Hbuilder,集成度很高,但登陆、新建工程需要注册账号,打包需要上传云服务
开发语言 dom操作、mui封装方法、mui css
是否支持打包 是 Hbuilder打包 需上传至mui云服务器
是否支持在线调试 是 Hbuilder配合Google devtool(需fanqiang)
是否支持模拟器调试 是 Hbuilder配合Google devtool(需fanqiang)
是否支持浏览器调试 部分支持 大部分页面不支持,所以基本不可用
使用案例 http://ask.dcloud.net.cn/docs/
ionic
是否免费 是 遵循MIT协议
开发模式 hybird
社区活跃度:活跃
是否支持android 是
是否支持IOS 是
开发环境 文本编辑webstorm,三方工具需破解;图形拖拽编辑ionic creater;没有集成开发环境
开发语言 angularjs、ionic标签
是否支持打包 是 命令行输入ionic build android、ionic build ios
是否支持在线调试 是 ionic run配合Google devtool(需fanqiang)
是否支持模拟器调试 是 ionic emulate配合Google devtool(需fanqiang)
是否支持浏览器调试 是 命令行输入ionic serve
使用案例 http://showcase.ionicframework.com/
在线示例 http://codepen.io/ionic
后话:fanqiang 的汉字不让发,只能用拼音了, 哎 太 hexie了。
参考:
http://www.oschina.net/translate/sencha-touch-vs-jquery-mobile
http://www.kuqin.com/shuoit/20141201/343614.html
http://www.ynyes.com/blog/zixun/93.html
http://ask.dcloud.net.cn/docs/
http://www.ionicframework.com/
http://www.zhihu.com/question/21906128
http://ask.dcloud.net.cn/article/91