移动开发框架选型
--->移动开发框架选型分析
移动开发主要分为原生模式(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
分享到:
相关推荐
对于原生模式(Nativi App)、混合模式(Hybrid App)、Web App模式开发的优缺点进行分类说明。并对两款混合开发框架进行了特性对比,方便正在琢磨移动开发技术选型的同学进行参考。
小米董红光在GMTC2017全球移动技术大会上做了主题为《小米的混合开发框架实战》的分享,就MIUI直达服务平台介绍,技术选型,应用框架架构介绍进行了深入的分享。
微信小程序项目源码-移动学习平台的设计与实现+SSM框架+论文,是一个集成了移动学习、社交...此外,该项目还提供了完整的论文文档,对项目的开发过程、技术选型、功能实现等方面进行了详细的阐述,便于二次开发定制。
华为Anyoffice 2015 HTML5移动应用开发大赛线下沙龙在2016年2月27日举行。活动上,云适配产品总监马铎分享了前端框架的技术选型,并细致分析了各框架的特性。
微信小程序项目源码-汽车保养系统+SSM框架+论文,是一个集成了移动互联网技术、后端开发框架以及学术论文研究的综合性项目。本项目旨在通过微信小程序为车主提供一个便捷、智能的汽车保养服务平台,同时结合SSM...
深度学习后端架构选型 TensorFlow:由Google开发,适用于大规模的分布式训练和生产环境。TensorFlow提供了丰富的API和工具,支持多种语言接口,如Python、C++。它的特点包括灵活的计算图、强大的分布式训练框架、...
到方法调研、模型选型和优化、数据采集标定、模型训练、部署验证等一整个pipeline,其中对于绝大多数的算法工程师,模型的训练和输出是没有问题的,但是要快速地进行模型在移动设备上的效果验证,则需要移动端开发...
Ionic是一款基于Angular、Cordova的强大的HTML5移动应用开发框架,可以快速创建一个跨平台的移动医用。可以快速开发移动APP、移动WEB页面、微信公众平台应用,混合APP WEB页面。 2.1.2 Ionic和cordova、Angular关系...
目前很多的小公司和小团队在选择App的开发框架时,往往会受到成本、时间和预期效果的限定。如何在各种场景中更好的找到一个平衡,可以一起来讨论看看。 1. 介绍 Web APP(网页应用) 基于Web的系统和应用,目前多...
4.1.1.3.2 Hybrid移动开发引擎 35 4.1.1.3.3 面向服务的SOA接口集成 35 4.1.1.3.4 高并发处理机制 36 4.1.1.3.5 高效的内存数据库 36 4.1.1.3.6 兼容多种集成模式 36 4.1.1.3.7 开放式的框架设计 36 4.1.1.3.8...
StrongLoop是一个基于Nodejs的强大框架,几乎包含了移动开发全栈所需要的所有功能。2013年成立,很少的员工,一个技术驱动,执行力强大的团队。也是在13年我开始接触StrongLoop,当时是为了做nodejs方面的技术选型,...
内容概要:本文深入探讨了基于微信小程序的饰品购物商城的设计与实现,针对现代电商及移动应用的需求,利用微信广泛的用户基础和便捷的平台特性,开发出一款专注于饰品销售的购物小程序。通过对移动信息技术的应用,...
本项目采用SSM(Spring、SpringMVC、MyBatis)框架和VUE前端技术,开发一个高效、可扩展的画图形学应用系统。该系统旨在提供一个可视化的界面,使用户能够轻松创建、编辑、保存和分享图形作品,同时加深用户对图形学...
《PhoneGap实战》一共10章:第1章主要介绍PhoneGap的用途、与其他同类框架的比较,以及Web开发的入门知识;第2章详细讲解PhoneGap在各个移动平台上的安装与配置;第3章通过一个汇率计算器实例讲解PhoneGap应用开发的...
到方法研究,模型选型和优化,数据采集标定,模型训练,部署验证等一整个管道,其中对于其中的算法工程师,模型的训练和输出是没有问题的,但是要快速地进行模型在移动设备上的效果验证,则需要移动端开发人员和配合...
该项目采用Spring Boot框架进行快速开发,实现了用户注册登录、课程学习、在线编程练习、作业提交与批改、学习进度跟踪等多项功能。平台界面友好,操作简单,用户可以轻松上手。同时,平台支持多终端访问,无论是...
开发一个失物招领系统App旨在为用户提供便捷的失物招领信息发布、查询和匹配...1. **移动端开发**:选择适合自己编程语言的移动App开发框架,如Flutter(支持Android和iOS)、React Native等。 2. **后端开发**:...
- **开发框架**:使用Cocoa Touch框架进行开发。 - **即时通信技术**:使用Socket.IO或WebSocket进行实时通信。 - **消息推送服务**:使用APNs或FCM进行消息推送。 ### 3. 系统设计 - **数据库设计**:设计数据库...
技术选型:根据项目需求和自己的技能水平,选择合适的Java技术和框架来支持开发。常见的Java技术包括Spring框架、Hibernate ORM、Java EE等,根据具体的项目需求来决定使用哪些技术。 实现与编码:在项目实现阶段,...
技术选型:选择适合开发小程序的技术框架,如微信小程序原生开发、uni-app、taro等。 数据库设计:设计合适的数据库结构,包括门店信息、菜单信息、用户信息、订单信息等。 页面设计:根据需求设计小程序的页面布局...