什么是HTML5+混合APP, 它有什么特点呢?
HTML5+混合APP, 这里的HTML5+, 这里的+指的是加原生的APP生态环境包括Android 和 IOS 应用,像别人常说的互联网+,就是互联网的基础上,你想加什么就什么,像互联网+金融,+共享经济,范围很广。
什么是混合APP, 混合APP也叫Hybrid APP,它指的是 web 与原生 native 的结合,native指得是原生app,它们通过JS 可以相互通信来操作对方。
目前大多数的应用都是采用混合APP开发的模式,例如:美团,淘宝,京东,网易,等等很多应用都用上混合模式来开发APP
混合APP的原理是怎样的?
大家可以理解为,把Android 和 IOS 应用比作成一个手机浏览器,我们开发的HTML+CSS+JS 的页面,可以放在它们里面浏览,它们内置的浏览器为我们提供除了浏览页面之外, 还提供了JS接口给我们可以获得和操作它们原生的一些方法让我们可以获得跟原生APP一样的体验,例如我们可以在html 页面上通过JS接口, 获得它原生图库功能,拍照功能,录音,录像,获得设备信息,获得用户手机通信录,扫一扫等等功能。
混合APP的有什么优势,我们对比下?
1. 原生APP 开发: 上手较难,不跨平台,安卓一套,苹果一套,很难有人两种开发语言都熟练开发,开发成本高。
2. 混合APP 开发:上手容易,跨平台,只要一套UI代码通过稍微调整下,就能在Android 和 IOS 上运行, 同样的UI布局也可以web上使用,开发者只需要懂些HTML+CSS+JS 就可以上手开发出APP应用,更深层开发,懂点原生native 开发,可以扩展更高级的功能。
3. WEB APP开发:这里指的是手机端移动网站,需要通过手机浏览器输入网址才能访问,只需要会HTML+CSS+JS,就能上手。
混合APP可以大大减少安装包大小,也更方便数据的更新,我们只需访问服务器上的网页,这些网页一样可以通过JS访问原生代码的能力。
移动APP的一些框架介绍
国外的框架,全部开源
Cordova
Cordova是一个外国的开源的移动开发框架。允许你用标准的web技术-HTML5,CSS3和JavaScript做跨平台开发。
使用xcode, android studio 开发工具配置使用,依然新手入门难,需要有一定经验的开发者。
React Native
是Facebook于2015年4月开源的跨平台移动应用开发框架,它不是混合APP框架,混合APP是采用,HTML+CSS的布局方式,它还是采用原生布局,只是通过JS的形式调用原生方法,初学者入门有点难,单页面局布就让本来只熟悉HTML+CSS布局的我们头痛。
使用xcode,android studio 开发工具配置使用。
Ionic
lonic是基于Cordova的一个强大的 HTML5 应用程序开发框架(HTML5 Hybrid Mobile App Framework ),可以帮助您使用 Web 技术,比如 HTML、CSS 和 Javascript 构建接近原生体验的移动应用程序。
Ionic开发是依赖于Nodejs环境,需要操作命令。
Flutter
2018年2月,Flutter推出了第一个Beta版本。Flutter是什么呢?它是Google使用Dart语言开发的移动应用开发框架,使用Dart代码构建高性能、高保真的iOS和Android应用程序。
Flutter 使用Dart 语言开发,就让许多新手头痛了,上手难度,较难,它相当于一个插件,配置在Xcode 和 Android Studio 中使用。
以上国外的框架,都是需要自己配置开发环境,只能离线打包APP。
国内的框架
WeX5 (不开源)
是起步推出的,一直不温不火的做着,它在bootstrap和cordova的基础上修改,只能连它家服务器在线打包。
Appcan (不开源)
appcan是一个收费的APP平台,它针对的人群是,完成没有开发基础的人群,傻瓜式应用,只能在它官方在线打包APP,扩展性差,不适合我们开发者。
Apicloud (不开源)
也是为一些不太懂开发的人群使用,Apicloud 抄袭 DCloud 反编别人的软件,被判罚180多万,让开发者反感,它不太适合创业公司和我们程序员使用,它只支持在线打包APP,不开源。
DCloud (开源)
数字天堂(北京)网络技术有限公司开发,该公司也是W3C成员及HTML5中国产业联盟发起单位,它有自主的开发工具HBuilder,开源开发APP,
支持在线打包和离线打包,也是本站所介绍,它支持在线打包 和 独立的HTML5+的SDK离线包 开源。
凡是不支持离线打包和不开源的,都不太适合创业公司和程序员去使用。
免得后期你的APP项目赚钱了,突然被告知,需要付高额版权费,像被它掐住喉咙一样,不付人家就告你
创业公司当你公司的APP需要扩展一些合作商的第三方SDK时,你只能花大价钱找他们公司做扩展,而且这个APP只能在线打包,你APP有什么问题,你非常依赖它公司,那天它公司出事了,导致你也跟着损失,或者你的APP做大了,APP源代码不在自己手上,感觉命运被别人掌控一样。
身为程序员的我们,使用那些被限制的框架,简直是种折翼天使,飞不起的,很难提升自己的战斗力。
离线打包是很重要的,可以给我们开发者自由发挥,让APP更强大,离线打包还有一个重要的,是我们可以维护版本的稳定,不管官方服务器上的版本更新到什么程度,如果我们的APP根本不需要那些新功能,也可能新功能存在BUG,导致我们更新APP有问题等,不支持我们的旧版,因为官方的在线打包服务器,都是以最新的为主,经常更新, 也不管它们的网站服务器有什么问题,离线打包,让我们都可以自己自由打包APP,不管何时何地想更新就更新APP, 也不管多年以后,他们的公司就算不存在了,我们依然可以自由使用,这就也是创业公司和程度员选择它的重要原因。
以上每个框架都有它们存在的意义和优点,大家对哪些有兴趣可以在网上了解更多,根据自己的需要选择,这里简单介绍到这里。
加载更多