For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
随着移动互联网的不断发展,混合APP应用开发成为了当前主流的APP软件开发技术,今天我们就通过案例分析来了解一下,混合APP软件的开发应用。
1、概念
混合App(hybridApp)顾名思义就是原生App与WebApp的结合。它的壳是原生App,但是里面放的是网页。可以理解成,混合App里面隐藏了一个浏览器,用户看到的实际上是这个隐藏浏览器渲染出来的网页。
混合App的原生外壳称为"容器",内部隐藏的浏览器,通常使用系统提供的网页渲染控件(即WebView控件),也可以自己内置一个浏览器内核。结构上,混合App从上到下分成三层:HTML5网页层、网页引擎层(本质上是一个隔离的浏览器实例)、容器层。
2、APIBridge
混合App里面的网页不同于普通网页,可以调用底层系统所有的API。奥秘就在于外层容器提供了APIBridge,充当底层API的中介,允许内部的网页调用底层。
所谓APIBridge就是容器在底层接口和网页之间,建立一座桥梁,让双方通信。容器一旦接到网页的请求,就根据请求去调用底层系统的API,然后再返回结果给网页。APIBridge往往以JavaScript语言提供,方便网页调用,这时又称为JSbridge。
不同容器的APIBridge是不一样的。为某个容器写的网页,不能放在另一个容器使用,也无法在浏览器使用,除非网页脚本做了兼容处理。
容器提供的APIBridge必须跟着平台更新。比如,iOS发了新版本,有了新的硬件API,容器也必须跟着推出新版的APIBridge。如果容器没有跟上,开发者为了使用新的硬件,就只能想办法自己来写缺失的APIBridge。
3、优点
混合App同时具有原生App和WebApp的优点,又可以避免它们的一些缺点。具体来说,可以总结为三点。
(1)跨平台
Web技术是跨平台的,开发者只写一次页面,就能支持多个平台。也就是说,混合App只需要一个团队就够了,开发成本较低。
(2)灵活性
混合App的灵活性大,很容易集成多种功能。一方面,混合App很容易加载外部的H5页面,实现App的插件结构;另一方面,Web页面可以方便地调用外部的Web服务。
(3)开发方便
Web页面的调试和构建,远比原生控件简单省时。页面的更新也容易,只要在服务器上发布新版本,触发容器内更新就可以了。另外,Web开发人员也比较容易招聘,传统的前端程序员可以承担开发任务。
4、缺点
混合App的主要缺点是,由于存在网页引擎的中间层,所以性能比较欠缺,不仅不如原生App,而且由于WebView不是全功能浏览器,可能比WebApp都要慢一些。
另一个缺点是,由于页面跨平台,就无法使用只有特定平台提供的功能,导致体验不如纯的原生App。举例来说,早期的时候,安卓有物理的后退按钮,iPhone没有,页面设计不得不考虑这一点。
5、小程序
所谓小程序,可以看作是针对特定容器的H5开发。微信本身是一个容器,开放自己的接口(JSbridge),外部开发者使用规定的语法,编写页面,容器可以动态加载这些页面。
小程序对于微信官方的好处是,扩展了功能和应用场景,吸引外部开发者加入,繁荣了生态。对于外部开发者的好处是,有了流量入口,可以直接调用微信的各种功能(比如支付)。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。