前言
过去开个一款移动应用,有两种方式实现,第一种是,使用原生开发App,比如基于android,ios等等。第二种是H5,说白就是网页,只是长得像手机应用。
16年的时候,混合开发(Hybrid App)开始流行,各大应用都使用了混合开发的模式。比如微信、京东、天猫淘宝等等。
一、为什么要使用混合开发呢?
这就得说说,原生开发的局限性,具体有三大缺点。
1、不能跨平台
安卓版本的应用不能在苹果手机上运行,ios版本的应用不能在winphone上运行,等等。
2、更新周期长
一款应用更新升级是常有的操作,但如果更新升级的时间很长,必然会耽误你产品的计划,甚至是市场的占有率。
3、开发成本高
由于不能跨平台,和更新周期长,假如你想开发一款应用,在全平台推广,就必须在各个平台都开发一款应用,比如要上苹果应用市场,就得开发一个ios版本的应用,要上安卓市场,就得开发安卓版本的应用等等。
这里的时间、开发成本必然会很高。
那用H5开发呢?
H5跨平台啊,只要开发一个应用,可以在任何平台上运行,而且更新也是无感知,可以瞬间同步的各种客户端。竟然H5有这么多优势,为什么不用H5开发呢?
H5虽然有这么多优势,但它也有自己的缺陷。
1、体验差
2、上不了各大平台
体验差,目前已经是个小问题了,现在很多js的框架,已经可以做到几乎和原生开发的体验一样了。足以以假乱真。最核心的问题是,不能上各大应用平台。
移动设备上的入口是应用,如果不能上应用平台,那根本就无法触达用户。
二、什么是混合开发?
混合开发,是介于H5和原生之间的一种开发模式,既有原生的部分,也有H5的部分,结合了各自有优点,这种开发模式,既可以做到跨平台,也能上各大应用市场。
三、一套开发框架
cordova,ionic,angular
1、cordova —— 应用的壳
cordova 是Apache的开源框架,是由PhoneGap演化而来的一套核心代码。可以理解为Webkit和Google Chrome的关系。
cordova 提供了一系列移动平台的壳,例如 iOS、Android、ubuntu phone os、Blackberry、Windows Phone、Palm WebOS、Bada和Symbian。
主要用于嵌套H5,将H5打成应用市场认可的包,并且提供一套基于js的H5和各个移动平台通讯的API。比如获取手机文件、相机、手机信息、拨打电话等等基础功能。
cordova 把这些和手机系统互相通讯的功能,封装成一个个插件,需要用到某一个功能,添加即可调用。
如果cordova提供的插件不能满足你和手机的通讯, cordova也支持自定义插件,可以自己开发一个插件。
2、ionic —— 应用的界面
ionic 是一个强大的 HTML5 应用程序开发框架(HTML5 Hybrid Mobile App Framework )。 可以帮助您使用 Web 技术,比如 HTML、CSS 和 Javascript 构建接近原生体验的移动应用程序。
ionic 主要关注外观和体验,以及和你的应用程序的 UI 交互,特别适合用于基于 Hybird 模式的 HTML5 移动应用程序开发。
ionic是一个轻量的手机UI库,具有速度快,界面现代化、美观等特点。为了解决其他一些UI库在手机上运行缓慢的问题,它直接放弃了IOS6和Android4.1以下的版本支持,来获取更好的使用体验。
ionic 特点
1.ionic 基于Angular语法,简单易学。
2.ionic 是一个轻量级框架。
3.ionic 完美的融合下一代移动框架,支持 Angularjs 的特性, MVC ,代码易维护。
4.ionic 提供了漂亮的设计,通过 SASS 构建应用程序,它提供了很多 UI 组件来帮助开发者开发强大的应用。
5.ionic 专注原生,让你看不出混合应用和原生的区别
6.ionic 提供了强大的命令行工具。
7.ionic 性能优越,运行速度快。
3、angular—— 应用核心
angular一个套js库,类似jQuery 。
主要用于,界面的数据绑定,和界面逻辑的处理。
三、总结
原生开发,由于更新,重新发布,上传,审核等等这一系列流程,在这个产品需要快速迭代的时代,显得有点慢。为了合适迅速的迭代节奏和好的用户体验,发展出了混合模式。这种开发模式,可以使得包的体积更小,更方便推广,和获取无感知的更新体验,以及使得开发可以跨平台、节省成本。这是一种更符合当下移动开发的一种选择。
网友评论