当前位置: 首页 > Web前端 > HTML

小程序会推动混合应用的兴起吗?

时间:2023-03-28 14:03:58 HTML

HybridApp开发模式HhybridApp,顾名思义,就是nativeApp和WebApp的结合。它的外壳是一个本机应用程序,但在它内部是一个网页。可以这样理解,在HybridApp中隐藏了一个浏览器,用户看到的其实是隐藏浏览器渲染出来的网页。HybridApp的原生外壳称为“容器”,隐藏在里面的浏览器通常使用系统提供的网页渲染控件(即WebView控件),也可以内置浏览器内核。在结构上,混合应用从上到下分为三层:HTML5网页层、Web引擎层(本质上是一个隔离的浏览器实例)和容器层。混合应用程序具有本机应用程序和网络应用程序的优点,同时避免了它们的一些缺点。具体来说,可以概括为三点。(1)跨平台Web技术是跨平台的。开发者只需编写一次页面即可支持多平台。换句话说,一个混合应用只需要一个团队就够了,而且开发成本更低。(2)灵活性混合应用具有很大的灵活性,易于集成多种功能。一方面,HybridApp可以轻松加载外部H5页面,实现App的插件化结构;另一方面,网页可以方便地调用外部网络服务。(3)开发方便调试和构建网页,远比原生控件简单省时。页面的更新也很容易,只要在服务端发布新版本,触发容器中的更新即可。另外,web开发人员也比较容易招,传统的前端程序员可以承担开发任务。目前流行的混合方案主要有三种,主要是在UI渲染机制上:基于WebViewUI的基础方案,目前市面上大部分主流APP都采用了,比如微信JS-SDK和Cordova,H5和Cordova是通过JSBridge来完成的。Native的双向通信,赋予了H5一定的原生能力。基于NativeUI的解决方案,如React-Native、Weex。在赋予H5原生API能力的基础上,将JS解析出来的虚拟节点树(VirtualDOM)进一步通过JSBridge传递给Native,用于原生渲染。这里特别强调的是第三种方案——基于小程序方案,同样采用了更加定制化的JSBridge,采用双WebView双线程方式,隔离JS逻辑和UI渲染,形成了一种特殊的开发模式,强化了H5的程度与Native混合提高页面性能和开发体验。小程序在JS-SDK的基础上,进一步开放和扩展了Web前端调用的原生能力。另一方面,页面渲染(WebviewRender)的UI层和逻辑层使用了两个独立的线程。如下图所示:小程序运行时,本质上是一个虚拟机,处理网页渲染和数据逻辑交互。这个虚拟机提供了丰富的原生能力供小程序调用(API、组件、AI能力等),极大地扩展了web应用的能力边界,尤其是在滚动视图(scrool-view)、导航(navigator)、图片预览(cover-image)等,使得前端开发者可以利用现有的web前端技术,开发出接近原生体验的应用。技术选型任何技术方案的选型,其实都应该基于使用场景和现有条件。基于对公司现有情况的几点考虑,我们进一步优化了第一种方案,更适合我们的需求。业务功能可快速迭代,灵活开发,支持在线热更新机制。公司业务方面,没有很复杂的UI渲染需求,公司已经有一套完整的前端框架,非常成熟,所以我们并不强烈需要RN这样的方案。产品的核心能力是需要调用系统权限。所以单纯的H5技术能做的事情非常有限,不能满足需求。它需要通过混合技术来加强。改造您的应用程序?以往,业务部门要上线一些新功能,需要用户主动更新APP,而部分功能的变更或升级,需要去应用市场重新操作,成本非常高。由于并非所有用户都更新,IT团队需要花费大量精力维护多个不同的版本。这种方式造成了巨大的资源浪费,给用户体验带来不便。如果你使用一个小程序,这个问题就很容易解决了。首先,小程序可以独立更新。App作为载体,不需要长期频繁更新。其次,每个小程序可以根据业务的具体需求独立发布自己的版本,不同小程序之间的更新升级相互独立,互不干扰。最后,由于小程序的沙箱机制,保证了无论哪个小程序出现BUG、崩溃等,都不会拖累应用本身。目前市面上也有针对小程序的通用解决方案。今天给大家介绍一下——FinClip。它最大的特点是能够在任何应用程序上运行小程序。您只需要在您的应用中导入其SDK,即可加载运行外部小程序。除了SDK,还提供了后台管理系统,统一管理小程序的上架和下架,以及小程序数据的收集和分析。此外,FinClip完全遵循微信小程序的开发标准和规范。也就是说,可以将现有的微信小程序直接放入您的应用中,无需更改一行代码,运行效果保持不变,无需额外二次开发和修改,大大节省了人力成本。不仅如此,FinClip还支持手机以外的多种终端,包括Linux、Windows、MacOS、麒麟等操作系统。这意味着小程序可以在PC、车载设备、智能电视上使用,实现小程序“一次开发,到处运行”,同时触达多个流量平台,而不仅仅局限于微信生态。FinClip还提供了小程序的IDE开发工具。界面类似于微信小程序的开发工具。自带调试和真机预览功能,使用方便。在这个IDE中,您可以对已有的项目进行二次开发,扩展功能和接口,或者从头开始编写一个小程序。目前,FinClip已获得多家大公司认可,拥有数百家客户,包括证券公司、股份制银行、航空公司、车载设备服务商、省级机动警务平台等重要企业。开发者数量超过3万人,服务用户达到2500万。经受住了真实生产环境百万级并发压力的考验。