一种混合开发装置和设备制造方法及图纸

技术编号:37238444 阅读:15 留言:0更新日期:2023-04-20 23:20
本申请公开了一种混合开发装置和设备,装置包括混合跳转模块和同类跳转模块。混合跳转模块通过以栈元素形式将Flutter界面压入Flutter栈进行存储,并创建与所述Flutter栈中每一所述Flutter界面对应的每一Native容器,构建Flutter栈中存储的所述Flutter界面与所述Native容器的唯一对应关系,实现Native界面与所述Flutter界面的混合跳转。同类跳转模块,采用单例Flutter View复用方式,实现Flutter界面间的跳转。本申请的混合开发装置和设备通过Flutter插件机制实现了Native与Flutter之间的混合UI栈管理以及混合跳转等能力,使用者不必依赖具体的实现细节,可以轻松的实现底层代码的抽象和业务间的深度解耦,优化代码质量,提高运营人员开发效率。提高运营人员开发效率。提高运营人员开发效率。

【技术实现步骤摘要】
一种混合开发装置和设备


[0001]本申请涉及移动应用开发
,更具体地说,涉及一种混合开发装置和设备。

技术介绍

[0002]如今移动端的开发技术日新月异,移动端所需要的各种功能也逐渐增多。但由于移动端分为Android和IOS两大阵营,致使开发移动端需要两套开发人员,而且功能需求量的增长使得研发人员需要快速的开发两个端的需求,因此跨平台的开发技术应运而生。
[0003]但是由于跨平台技术与原生技术不能通用,导致如果要使用跨平台技术就需要重写原生代码,这样的开发成本反而更高,这一情况导致混合开发需求的产生,希望设计出能够兼容了旧有的原生功能和能力,又可以使用跨平台技术开发新的功能和旧有功能的界面改造,从而使得IOS和Android双端界面保持一致的混合开发方案。

技术实现思路

[0004]有鉴于此,本申请提供了一种混合开发装置和设备,通过Flutter插件机制实现了Native与Flutter之间的混合UI栈管理以及混合跳转等能力,使用者不必依赖具体的实现细节。
[0005]一种混合开发装置,包括:
[0006]混合跳转模块,通过以栈元素形式将Flutter界面压入Flutter栈进行存储,并创建与所述Flutter栈中每一所述Flutter界面对应的每一Native容器,构建Flutter栈中存储的所述Flutter界面与所述Native容器的唯一对应关系,实现Native界面与所述Flutter界面的混合跳转;
[0007]同类跳转模块,采用单例Flutter View复用方式,实现Flutter界面间的跳转。
[0008]可选的,所述混合跳转模块,包括:
[0009]关系搭建模块,用于在跳转到新的Flutter界面时,通过Method Channel的方式请求Native层创建对应的Native容器,并通过Method Channel反向请求Flutter层将所述Flutter界面压入所述Flutter栈中存储;
[0010]界面跳转模块,在获取到跳转指令后,基于Flutter栈中存储的所述Flutter界面与所述Native容器的唯一对应关系,按照所述跳转指令进行Native界面与Flutter界面的混合跳转。
[0011]可选的,所述界面跳转模块,包括:
[0012]Flutter跳转模块,在所述跳转指令为弹出Flutter界面时,通过请求Native层进行提取出对应的Native容器并反向请求Flutter层将所述Flutter栈中对应的所述Flutter界面弹出,从而实现Native界面到Flutter界面的跳转;
[0013]Native跳转模块,在所述跳转指令为弹出Native界面时,通过请求Flutter层将所述Flutter栈中对应的Flutter界面弹出并反向请求Native层进行提取出对应的Native容器,从而实现Flutter界面到Native界面的跳转。
[0014]可选的,所述Flutter跳转模块,包括第一原生侧组件、第一路由解析器、原生跳转处理器、Flutter插件和第一Flutter侧组件;
[0015]所述第一原生侧组件响应所述跳转指令,并基于Native界面以及所述第一路由解析器分析得到的地址路径处理跳转;
[0016]所述原生跳转处理器创建跳转,提取出对应的Native容器;
[0017]所述Flutter插件将所述Flutter栈中与提取得到的所述Native容器对应的所述Flutter界面弹出;
[0018]所述第一Flutter侧组件经数据解析后跳转并显示所述Flutter界面。
[0019]可选的,所述Native跳转模块,包括第二Flutter侧组件、原生插件、第二原生侧组件、第二路由解析器和路由跳转处理器;
[0020]所述第二Flutter侧组件响应所述跳转指令,将所述Flutter栈中对应的Flutter界面弹出,并透传信息至所述原生插件;
[0021]所述第二原生侧组件基于所述原生插件提取出对应的Native容器,并根据所述第二路由解析器分析得到的地址路径处理跳转;
[0022]所述路由跳转处理器创建跳转,提取出对应的Native界面。
[0023]可选的,所述同类跳转模块,包括第三Flutter侧组件和第三原生插件;
[0024]所述第三Flutter侧组件在Flutter界面弹出后发送通知信息至所述第三原生插件并提取出对应的Native容器,以及在获取得到所述第三原生插件的通知信息后解析地址路径,实现Flutter界面间的跳转;
[0025]所述第三原生插件从所述对应的Native容器获取的标识信息形成通知信息并发送至所述第三Flutter侧组件。
[0026]可选的,还包括过渡动画单元,用于对所述Flutter界面入Flutter栈和出Flutter栈过程中的过渡动画进行统一管理,由与所述Flutter界面对应的Native容器本身的过渡动画实现。
[0027]可选的,还包括强制切换单元,用于在当前Native容器被覆盖后将所述当前Native容器切换为可见的交互状态,并强制所述Flutter栈栈顶的栈元素为所述当前Native容器对应的Flutter界面。
[0028]可选的,还包括强制清空单元,用于在Native容器全弹出的情况下,强制清空所述Flutter栈。
[0029]一种混合开发设备,包括如上述任一项所述的混合开发装置。
[0030]从上述的技术方案可以看出,本申请实施例提供的一种混合开发装置和设备,由混合跳转模块以及同类跳转模块组成。其中,混合跳转模块通过以栈元素形式将Flutter界面压入Flutter栈进行存储,并创建与所述Flutter栈中每一所述Flutter界面对应的每一Native容器,构建Flutter栈中存储的所述Flutter界面与所述Native容器的唯一对应关系,实现Native界面与所述Flutter界面的混合跳转。同类跳转模块采用单例Flutter View复用方式,实现Flutter界面间的跳转。
[0031]本申请的混合开发装置和设备通过原生和Flutter混合开发的插件,桥接Native与Flutter的数据,统一原生与Flutter的路由跳转,实现内存的复用,通过Flutter插件机制实现了Native与Flutter之间的混合UI栈管理以及混合跳转等能力,从而解决混合开发
的难点,提高混合开发的开发效率,为移动应用开发提供混合开发的基础能力。基于本申请,运营人员不必依赖具体的实现细节,可以轻松的实现底层代码的抽象和业务间的深度解耦,优化代码质量,提高运营人员开发效率。同时本申请以URL作为统一的界面目标描述,同时向UI界面屏蔽导航跳转的实现细节,通过与配置管理结合可以轻易实现运行时重定向跳转界面和降级功能。以及采用单例Flutter View的方式进行复用,优化了Flutter官方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种混合开发装置,其特征在于,包括:混合跳转模块,通过以栈元素形式将Flutter界面压入Flutter栈进行存储,并创建与所述Flutter栈中每一所述Flutter界面对应的每一Native容器,构建Flutter栈中存储的所述Flutter界面与所述Native容器的唯一对应关系,实现Native界面与所述Flutter界面的混合跳转;同类跳转模块,采用单例Flutter View复用方式,实现Flutter界面间的跳转。2.根据权利要求1所述的装置,其特征在于,所述混合跳转模块,包括:关系搭建模块,用于在跳转到新的Flutter界面时,通过Method Channel的方式请求Native层创建对应的Native容器,并通过Method Channel反向请求Flutter层将所述Flutter界面压入所述Flutter栈中存储;界面跳转模块,在获取到跳转指令后,基于Flutter栈中存储的所述Flutter界面与所述Native容器的唯一对应关系,按照所述跳转指令进行Native界面与Flutter界面的混合跳转。3.根据权利要求1所述的装置,其特征在于,所述界面跳转模块,包括:Flutter跳转模块,在所述跳转指令为弹出Flutter界面时,通过请求Native层进行提取出对应的Native容器并反向请求Flutter层将所述Flutter栈中对应的所述Flutter界面弹出,从而实现Native界面到Flutter界面的跳转;Native跳转模块,在所述跳转指令为弹出Native界面时,通过请求Flutter层将所述Flutter栈中对应的Flutter界面弹出并反向请求Native层进行提取出对应的Native容器,从而实现Flutter界面到Native界面的跳转。4.根据权利要求3所述的装置,其特征在于,所述Flutter跳转模块,包括第一原生侧组件、第一路由解析器、原生跳转处理器、Flutter插件和第一Flutter侧组件;所述第一原生侧组件响应所述跳转指令,并基于Native界面以及所述第一路由解析器分析得到的地址路径处理跳转;所述原生跳转处理器创建跳转,...

【专利技术属性】
技术研发人员:苏晨恺王刚丘凌陈天明陶智明
申请(专利权)人:天翼数字生活科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1