Hybrid App—Hybrid App开发模式介绍和各种开发模式对比 什么是Hybrid App最开的App开发只有原生开发这个概念,但自从H5广泛流行后,一种效率更高的开发模式Hybrid应运而生,它就是\"Hybrid模式\"。Hybrid APP是目前广泛流行的一种APP开发模式Native、Hybrid、React Native、Web App方案的分析比较目前的主流应用程序有四大类型:Native App、Hybrid App、React Native App、Web (3)

部分性能要求的页面可用原生实现。这应该是Hybrid模式的最多一个好处了,因为这种模式是原生混合web,所以我们完全可以将交互强,性能要求高的页面用原生写,然后一些其它页面用JS写,嵌入webview中,达到最佳体验

相比原生,性能仍然有较大损耗。这种模式受限于webview的性能桎梏,相比原生而言有不少损耗,体验无法和原生相比

不适用于交互性较强的app。这种模式的主要应用是:一些新闻阅读类,信息展示类的app;但是不适用于一些交互较强或者性能要求较高的app(比如动画较多就不适合)

React Native App

Facebook发起的开源的一套新的APP开发方案,使用JS+部分原生语法来实现功能。初次学习成本较高,但是在入门后,经过良好的封装也能够实现大部分的跨平台。而且体验很好。

虽然说开发成本大于Hybrid模式,但是小于原生模式,大部分代码可复用。相比于原生模式,这种模式是统一用JS写代码,所以往往只需要一名成员投入学习,即可完成跨平台app的开发,而且后续代码封装的好,很多功能可复用

性能体验高于Hybrid,不逊色与原生。这种模式和Hybrid不一样,Hybrid中的view层实际上还是dom,但是这种模式的view层是虚拟dom,所以性能要高于Hybrid,距离原生差距不大

这种模式可以认为是用JS写原生,即页面用JS写,然后原生通过Bridge技术分析JS,将JS内容单独渲染成原生Android和iOS,所以也就是为什么性能不逊色原生

开发人员单一技术栈,一次学习,跨平台开发。这种模式是统一由JS编写,有着独特的语法,所以只需要学习一次,即可同时开发Android和iOS

社区繁荣,遇到问题容易解决。这应该是React Native的很大一个优势,不像Hybrid模式和原生模式一样各自为营,这种模式是Facebook统一发起的,所以有一个统一的社区,里面有大量资源和活跃的人员,对开发者很友好

虽然可以部分跨平台,但并不是Hybrid中的一次编写,两次运行那种,而是不同平台代码有所区别这种模式实际上还是JS来写原生,所以Android和iOS中的原生代码会有所区别,如果需要跨平台,对开发人员有一定要求当然了,如果发展了有一定时间,组件库够丰富了,那么其实影响也就不大了,甚至会比Hybrid更快

开发人员学习有一定成本。虽然社区已经比较成熟了,但是一个新的普通前端学习起来还是有一定学习成本的,无法像Hybrid模式一样平滑

各大开发模式直观对比  Native AppWeb AppHybrid AppReact Native App
原生功能体验   优秀     良好   接近优秀  
渲染性能   非常快     接近快    
是否支持设备底层访问   支持   不支持   支持   支持  
网络要求   支持离线   依赖网络   支持离线(资源存本地情况)   支持离线  
更新复杂度   高(几乎总是通过应用商店更新)   低(服务器端直接更新)   较低(可以进行资源包更新)   较低(可以进行资源包更新)  
编程语言   Android(Java),iOS(OC/Swift)   js+html+css3   js+html+css3   主要使用JS编写,语法规则JSX  
社区资源   丰富(Android,iOS单独学习)   丰富(大量前端资源)   有局限(不同的Hybrid相互独立)   丰富(统一的活跃社区)  
上手难度   难(不同平台需要单独学习)   简单(写一次,支持不同平台访问)   简单(写一次,运行任何平台)   中等(学习一次,写任何平台)  
开发周期       较短   中等  
开发成本   昂贵   便宜   较为便宜   中等  
跨平台   不跨平台   所有H5浏览器   Android,iOS,h5浏览器   Android,iOS  
APP发布   App Store   Web服务器   App Store   App Store  
如何选择开发模式

目前有多种开发模式,那么我们平时开发时如何选择用哪种模式呢?如下

选择纯Native App模式的情况

性能要求极高,体验要求极好,不追求开发效率。一般属于吹毛求疵的那种级别了,因为正常来说如果要求不是特别高,会有Hybrid

选择Web App模式的情况

不追求用户体验和性能,对离线访问没要求。正常来说,如果追求性能和体验,都不会选用web app

没有额外功能,只有一些信息展示。因为web有限制,很多功能都无法实现,所以有额外功能就只能弃用这种方案了

选择Hybrid App模式的情况

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjxzf.html