Hybrid App

2018-07-28  本文已影响10人  小凡凡520
概念

是指介于web-app、native-app这两者之间的app,兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”

特点

开发效率高、跨平台、低层本的特点,Hybrid从业务开发上讲,没有版本问题,对于BUG能及时修复。但Hybrid也是有缺点的,Hybrid体验比不上Native,同样的功能在性能上存在巨大差距

Web界面上JS对HTML Node的操作需要消耗大量的CPU资源,手机CPU的性能还不能与PC相提并论,就算在智能手机之间,硬件水准也参差不齐,一个可以在iPhone 6上流畅运行的界面,跑到三星上很可能就卡住不动了。所以我们经常可以发现一些富交互页面上的操作无法达到令人满意的流畅度,而流畅度也正是用户评价一款App优劣的最直观因素。所以混合式编程比较适用于需要快速试错、快速占领市场的团队,当然,也不是绝对

对比
1170656-2d23bdaa9e7a426a.png
分类
Hybrid与Native的关系

在Hybrid架构设计中Native提供的是一宿主环境,实现合理的逻辑架构需要考虑:交互设计,资源访问,Hybrid开发调试,通讯设计、并发设计、异常处理、日志监控以及安全模块等问题,前端要做的事情就是封装Native提供的各种能力

Hybrid的交互是通过Native调用前端页面的JS方法,或者前端页面通过JS调用Native提供的接口实现的,两者交互的桥梁是Webview,iOS可以使用javascripbrige来实现(现成框架),在UIWebView的shouldStartLoadWithRequest方法里面捕获url的变化,解析出需要的参数,然后传给一个统一的处理方法。app自身可以自定义url schema,并且把自定义的url注册在调度中心。JS与Native通信可以创建这类URL被Native捕获处理,即schema跳转逻辑。APP安装后会在手机上注册一个schema,比如淘宝是taobao://,Native会有一个进程监控Webview发出的所有schema://请求,然后分发到“控制器”。hybridapi处理程序,Native控制器处理时会需要param提供的参数(encode过),根据实际需要处理业务逻辑问题

上一篇下一篇

猜你喜欢

热点阅读