System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 热更新方法和系统、客户端应用的更新方法、介质及设备技术方案_技高网

热更新方法和系统、客户端应用的更新方法、介质及设备技术方案

技术编号:40603377 阅读:5 留言:0更新日期:2024-03-12 22:08
本公开的实施方式提供了一种热更新方法和系统、客户端应用的更新方法、介质及设备,所述方法包括:获取用户编写的Dart代码,将所述Dart代码转换为TypeScript代码;所述TypeScript代码用于调用组件API以生成热更新组件,所述组件API为符合TypeScript语法的Flutter组件API;对所述TypeScript代码进行编译,生成JavaScript代码;所述JavaScript代码包括若干JavaScript对象;将所述JavaScript代码打包,生成热更新包;将所述热更新包传输给客户端,以使所述客户端利用所述热更新包更新所述Flutter应用。上述方法使客户端能利用热更新包对Flutter应用进行热更新,及时实现Flutter应用的功能更新和Bug修复,无需重新发布并让用户重新下载安装,提升用户体验,并且用户可以在Typescript文件中直接编写Dart代码学习,无需额外学习Typescript语言,降低了学习成本。

【技术实现步骤摘要】

本公开的实施方式涉及计算机,更具体地,本公开的实施方式涉及一种热更新方法和系统、客户端应用的更新方法、介质及设备


技术介绍

1、本部分旨在为权利要求书中陈述的本公开的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

2、flutter是一种使用dart语言开发的跨平台移动应用开发框架,具有快速开发、自定义ui、高性能和强大的工具支持等特点。它可以帮助开发者轻松构建高性能、美观、跨平台的移动应用,同时加快开发速度和提高用户体验,可以用于开发ios、android、web和桌面应用。

3、但是flutter框架并不支持热更新功能,在需要更新flutter应用或者修复应用中的bug时,只能重新发布flutter应用,让用户重新下载安装,其中应用市场审核也需要一定时间,耗费的时间较长,用户体验较差。


技术实现思路

1、有鉴于此,本公开提供一种热更新方法和系统、客户端应用的更新方法、介质及设备,以解决相关技术中的不足。

2、在本公开实施方式的第一方面中,提供了一种种热更新方法,用于对flutter应用热更新,所述方法包括:

3、获取用户编写的dart代码,将所述dart代码转换为typescript代码;所述typescript代码用于调用组件api以生成热更新组件,所述组件api为符合typescript语法的flutter组件api;

4、对所述typescript代码进行编译,生成javascript代码;所述javascript代码包括若干javascript对象;

5、将所述javascript代码打包,生成热更新包;

6、将所述热更新包传输给客户端,以使所述客户端利用所述热更新包更新所述flutter应用。

7、可选的,将所述热更新包传输给客户端包括:

8、将所述热更新包上传到指定地址进行存储,以供客户端从所述指定地址下载所述热更新包。

9、可选的,利用所述热更新包更新所述flutter应用包括:

10、对所述热更新包进行编译,得到若干javascript对象;

11、根据存储了javascript对象与flutter组件的映射关系的映射表,将所述若干javascript对象转换为若干flutter组件;

12、根据所述若干flutter组件更新所述flutter应用。

13、可选的,所述方法还包括:

14、预先提供若干自定义命令,响应于用户对所述自定义命令的调用请求,触发执行创建热更新项目、生成所述热更新包以及加密所述热更新包的若干命令。

15、在本公开实施方式的第二方面中,提供了一种客户端应用的更新方法,所述客户端安装有flutter应用,所述方法用于更新所述flutter应用;所述方法包括:

16、获取基于如上述第一方面所述的方法传输的热更新包;

17、对所述热更新包进行编译,得到若干javascript对象;

18、根据存储了javascript对象与flutter组件的映射关系的映射表,将所述若干javascript对象转换为若干flutter组件;

19、根据所述若干flutter组件更新所述flutter应用。

20、可选的,获取热更新包的步骤包括:

21、从指定地址下载所述热更新包,所述指定地址用于存储服务端上传的热更新包。

22、在本公开实施方式的第三方面中,提供了一种热更新系统,包括服务端和若干安装有flutter应用的客户端;

23、所述服务端,用于获取用户编写的dart代码,将所述dart代码转换为typescript代码;所述typescript代码用于调用组件api以生成热更新组件,所述组件api为符合typescript语法的flutter组件api;对所述typescript代码进行编译,生成javascript代码;所述javascript代码包括若干javascript对象;将所述javascript代码打包,生成热更新包;将所述热更新包传输给所述客户端;

24、所述客户端,用于获取所述热更新包;对所述热更新包进行编译,得到若干javascript对象;根据存储了javascript对象与flutter组件的映射关系的映射表,将所述若干javascript对象转换为若干flutter组件;根据所述若干flutter组件更新所述flutter应用。

25、可选的,还包括:

26、热更新管理平台,用于接收所述服务端上传的热更新包,以供所述客户端下载。

27、在本公开实施方式的第四方面中,一种介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面所述的方法,或第二方面所述的方法。

28、在本公开实施方式的第五方面中,提供了一种计算设备,包括:

29、处理器;

30、用于存储处理器可执行程序的存储器;

31、其中,所述处理器通过运行所述可执行程序以实现如上述第一方面所述的方法,或第二方面所述的方法。

32、根据本公开实施方式,通过获取用户编写的dart代码,将dart代码转换为能调用组件api以生成热更新组件typescript代码,将typescript代码编译成javascript代码并打包,生成热更新包,从而使客户端能利用热更新包对flutter应用进行热更新,及时实现flutter应用的功能更新和bug修复,无需重新发布并让用户重新下载安装,提升用户体验,并且用户可以在typescript文件中直接编写dart代码学习,无需额外学习typescript语言,降低了学习成本。

本文档来自技高网...

【技术保护点】

1.一种热更新方法,其特征在于,用于对Flutter应用热更新,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,将所述热更新包传输给客户端包括:

3.根据权利要求1所述的方法,其特征在于,利用所述热更新包更新所述Flutter应用包括:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.一种客户端应用的更新方法,其特征在于,所述客户端安装有Flutter应用,所述方法用于更新所述Flutter应用;所述方法包括:

6.根据权利要求5所述的方法,其特征在于,获取热更新包的步骤包括:

7.一种热更新系统,其特征在于,包括服务端和若干安装有Flutter应用的客户端;

8.根据权利要求7所述的系统,其特征在于,还包括:

9.一种介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的方法或者权利要求5或6所述的方法。

10.一种计算设备,其特征在于,包括:

【技术特征摘要】

1.一种热更新方法,其特征在于,用于对flutter应用热更新,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,将所述热更新包传输给客户端包括:

3.根据权利要求1所述的方法,其特征在于,利用所述热更新包更新所述flutter应用包括:

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

5.一种客户端应用的更新方法,其特征在于,所述客户端安装有flutter应用,所述方法用于更新所述flutter应...

【专利技术属性】
技术研发人员:邹铭杰
申请(专利权)人:杭州网易再顾科技有限公司
类型:发明
国别省市:

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

1