CN115129325B - 一种数据处理方法、装置、电子设备及存储介质 - Google Patents
一种数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115129325B CN115129325B CN202210753981.1A CN202210753981A CN115129325B CN 115129325 B CN115129325 B CN 115129325B CN 202210753981 A CN202210753981 A CN 202210753981A CN 115129325 B CN115129325 B CN 115129325B
- Authority
- CN
- China
- Prior art keywords
- serialization
- computer program
- specific
- cross
- dynamically updated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供了一种数据处理方法、装置、电子设备及存储介质。在需要在原生应用程序中显示动态更新的页面的情况下,用户终端从后台服务端中下载到特定的格式的序列化文件之后,基于原生应用程序中的特定的序列化工具可以从特定的格式的序列化文件中直接提取出动态更新的页面的跨平台计算机程序代码,不需要对特定的格式的序列化文件反序列化,节省了反序列化的过程。如此可以降低在原生应用程序中显示动态更新的页面的过程耗费的时长,降低用户等待在原生应用程序中显示动态更新的页面的等待时长,也不会因反序列化而产生很多数据,进而用户终端也不需要因反序列化而分配额外的内存,可以节省用户终端的内存,可以尽可能地避免用户终端卡顿。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
背景技术
Flutter是一种移动UI(User Interface,用户界面)框架,可以快速在iOS操作系统和Android操作系统上构建高质量的用户界面,可以在Flutter框架中基于Dart计算机程序语言开发原生应用程序。
例如,可以在Flutter框架中使用Dart计算机程序语言编写原生应用程序的Flutter计算机程序代码,之后将原生应用程序的Flutter计算机程序代码转换为原生计算机程序代码,并对原生计算机程序代码编译,得到原生应用程序的可执行文件(安装包),然后发布原生应用程序的可执行文件。
之后广大用户可以通过原生应用程序的可执行文件将原生应用程序安装到各自的设备中,以及,在各自的设备中运行并使用原生应用程序。
发明内容
本申请示出了一种数据处理方法、装置、电子设备及存储介质。
第一方面,本申请示出了一种数据处理方法,应用于开发终端,所述开发终端中部署有跨平台开发工具,所述方法包括:
获取开发人员基于跨平台开发工具开发的跨平台计算机程序代码,所述跨平台计算机程序代码包括用于在原生应用程序中的动态更新的页面的计算机程序代码;
使用特定的序列化工具对所述跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
向原生应用程序对应的后台服务端上传所述特定的格式的序列化文件,以使后台服务端在后台服务端中部署所述特定的格式的序列化文件;
其中,所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力。
第二方面,本申请示出了一种数据处理方法,应用于后台服务端,所述方法包括:
接收开发终端上传的动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的;
在后台服务端中部署所述特定的格式的序列化文件;
其中,所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力。
在一个可选的实现方式中,所述在后台服务端中部署所述特定的格式的序列化文件,包括:
在所述动态更新的页面包括用于在所述原生应用程序中添加的新页面的情况下,在后台服务端中缓存所述特定的格式的序列化文件;
或者,
在所述动态更新的页面用于替换所述原生应用程序中的旧页面的情况下,在后台服务端中使用所述特定的格式的序列化文件替换所述旧页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
第三方面,本申请示出了一种数据处理方法,应用于用户终端,所述用户终端中部署有原生操作系统,所述用户终端中安装有原生应用程序,所述方法包括:
在需要在所述原生应用程序中显示动态更新的页面的情况下,向所述原生应用程序对应的后台服务端中发送下载请求;所述下载请求用于下载所述动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
接收所述后台服务端根据所述下载请求返回的所述特定的格式的序列化文件;所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在所述原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的并上传至所述后台服务端中以在所述后台服务端中部署的;所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力;
使用在所述原生应用程序部署的特定的序列化工具读取所述特定的格式的序列化文件中的数据,并将所述数据还原为所述跨平台计算机程序代码;
基于在所述原生应用程序中部署的跨平台开发工具对应的跨平台引擎,将所述跨平台计算机程序代码转换为原生计算机程序代码;
使用在所述用户终端的操作系统中部署的原生开发工具对应的原生引擎对所述原生计算机程序代码编译,得到动态更新的页面的二进制文件;
根据所述原生引擎以及动态更新的页面的二进制文件显示动态更新的页面。
在一个可选的实现方式中,所述方法还包括:
在所述动态更新的页面包括用于在所述原生应用程序中添加的新页面的情况下,在所述原生应用程序中缓存动态更新的页面的二进制文件;
或者,
在所述动态更新的页面用于替换所述原生应用程序中的旧页面的情况下,在所述原生应用程序中使用所述动态更新的页面的二进制文件替换所述旧页面的二进制文件。
第四方面,本申请示出了一种数据处理方法,应用于后台服务端,所述方法包括:
接收用户终端发送的下载请求,所述下载请求是在用户终端在需要在原生应用程序中显示动态更新的页面的情况下发送的;所述下载请求用于下载所述动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
根据下载请求获取事先在所述后台服务端中部署的特定的格式的序列化文件,所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在所述原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的并上传至所述后台服务端中以在所述后台服务端中部署的;所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力;
向用户终端发送特定的格式的序列化文件;以使用户终端使用在所述原生应用程序部署的特定的序列化工具读取所述特定的格式的序列化文件中的数据,并将所述数据还原为所述跨平台计算机程序代码;基于在所述原生应用程序中部署的跨平台开发工具对应的跨平台引擎,将所述跨平台计算机程序代码转换为原生计算机程序代码;使用在所述用户终端的操作系统中部署的原生开发工具对应的原生引擎对所述原生计算机程序代码编译,得到动态更新的页面的二进制文件;根据所述原生引擎以及动态更新的页面的二进制文件显示动态更新的页面。
第五方面,本申请示出了一种数据处理装置,应用于开发终端,所述开发终端中部署有跨平台开发工具,所述装置包括:
第一获取模块,用于获取开发人员基于跨平台开发工具开发的跨平台计算机程序代码,所述跨平台计算机程序代码包括用于在原生应用程序中的动态更新的页面的计算机程序代码;
序列化模块,用于使用特定的序列化工具对所述跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
上传模块,用于向原生应用程序对应的后台服务端上传所述特定的格式的序列化文件,以使后台服务端在后台服务端中部署所述特定的格式的序列化文件;
其中,所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力。
第六方面,本申请示出了一种数据处理装置,应用于后台服务端,所述装置包括:
第一接收模块,用于接收开发终端上传的动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的;
部署模块,用于在后台服务端中部署所述特定的格式的序列化文件;
其中,所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力。
在一个可选的实现方式中,所述部署模块包括:
缓存单元,用于在所述动态更新的页面包括用于在所述原生应用程序中添加的新页面的情况下,在后台服务端中缓存所述特定的格式的序列化文件;
或者,
替换单元,用于在所述动态更新的页面用于替换所述原生应用程序中的旧页面的情况下,在后台服务端中使用所述特定的格式的序列化文件替换所述旧页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
第七方面,本申请示出了一种数据处理装置,应用于用户终端,所述用户终端中部署有原生操作系统,所述用户终端中安装有原生应用程序,所述装置包括:
第一发送模块,用于在需要在所述原生应用程序中显示动态更新的页面的情况下,向所述原生应用程序对应的后台服务端中发送下载请求;所述下载请求用于下载所述动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
第二接收模块,用于接收所述后台服务端根据所述下载请求返回的所述特定的格式的序列化文件;所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在所述原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的并上传至所述后台服务端中以在所述后台服务端中部署的;所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力;
读取模块,用于使用在所述原生应用程序部署的特定的序列化工具读取所述特定的格式的序列化文件中的数据,并将所述数据还原为所述跨平台计算机程序代码;
转换模块,用于基于在所述原生应用程序中部署的跨平台开发工具对应的跨平台引擎,将所述跨平台计算机程序代码转换为原生计算机程序代码;
编译模块,用于使用在所述用户终端的操作系统中部署的原生开发工具对应的原生引擎对所述原生计算机程序代码编译,得到动态更新的页面的二进制文件;
显示模块,用于根据所述原生引擎以及动态更新的页面的二进制文件显示动态更新的页面。
在一个可选的实现方式中,所述装置还包括:
缓存模块,用于在所述动态更新的页面包括用于在所述原生应用程序中添加的新页面的情况下,在所述原生应用程序中缓存动态更新的页面的二进制文件;
或者,
替换模块,用于在所述动态更新的页面用于替换所述原生应用程序中的旧页面的情况下,在所述原生应用程序中使用所述动态更新的页面的二进制文件替换所述旧页面的二进制文件。
第八方面,本申请示出了一种数据处理装置,应用于后台服务端,所述装置包括:
第三接收模块,用于接收用户终端发送的下载请求,所述下载请求是在用户终端在需要在原生应用程序中显示动态更新的页面的情况下发送的;所述下载请求用于下载所述动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
第二获取模块,用于根据下载请求获取事先在所述后台服务端中部署的特定的格式的序列化文件,所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在所述原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的并上传至所述后台服务端中以在所述后台服务端中部署的;所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力;
第二发送模块,用于向用户终端发送特定的格式的序列化文件;以使用户终端使用在所述原生应用程序部署的特定的序列化工具读取所述特定的格式的序列化文件中的数据,并将所述数据还原为所述跨平台计算机程序代码;基于在所述原生应用程序中部署的跨平台开发工具对应的跨平台引擎,将所述跨平台计算机程序代码转换为原生计算机程序代码;使用在所述用户终端的操作系统中部署的原生开发工具对应的原生引擎对所述原生计算机程序代码编译,得到动态更新的页面的二进制文件;根据所述原生引擎以及动态更新的页面的二进制文件显示动态更新的页面。
第九方面,本申请示出了一种电子设备,所述电子设备包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行如上述任一方面所述的方法。
第十方面,本申请示出了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一方面所述的方法。
第十一方面,本申请示出了一种计算机程序产品,当所述计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行如上述任一方面所述的方法。
本申请提供的技术方案可以包括以下有益效果:
在本申请中,在需要在原生应用程序中动态更新页面的情况下,可以基于跨平台开发工具编写动态更新的页面的跨平台计算机程序代码,动态更新的页面的跨平台计算机程序代码中包括动态更新的页面中的Widget(微件)数据等,可以对动态更新的页面的跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。若原生应用程序中事先部署有特定的序列化工具等,则基于原生应用程序中的特定的序列化工具可以识别特定的格式的序列化文件中的各个数据的意义,也即,基于原生应用程序中的特定的序列化工具具有识别特定的格式的序列化文件中的数据的能力。特定的格式的序列化文件为二进制文件,且特定的格式的序列化文件可以在网络中传输。之后可以通过网络向原生应用程序对应的后台服务端传输特定的格式的序列化文件,以使原生应用程序对应的后台服务端在原生应用程序对应的后台服务端中部署特定的格式的序列化文件,以实现将动态更新的页面的跨平台计算机程序代码部署在原生应用程序对应的后台服务端中。
之后,在用户终端中运行原生应用程序的情况下,若需要在原生应用程序中显示动态更新的页面,则用户终端可以基于原生应用程序可以通过网络从原生应用程序对应的后台服务端中下载特定的格式的序列化文件,然后在原生应用程序中基于特定的序列化工具从特定的格式的序列化文件中提取动态更新的页面的跨平台计算机程序代码,然后将动态更新的页面的跨平台计算机程序代码转换为动态更新的页面的原生计算机程序代码,再对动态更新的页面的原生计算机程序代码编译,得到动态更新的页面的二进制文件(能够在终端中执行的二进制文件等),然后根据动态更新的页面的二进制文件在原生应用程序中显示动态更新的页面。
可见,在需要在原生应用程序中显示动态更新的页面的情况下,用户终端在基于原生应用程序从后台服务端中下载到特定的格式的序列化文件之后,由于原生应用程序中事先部署有特定的序列化工具等,因此用户终端基于原生应用程序中的特定的序列化工具可以识别特定的格式的序列化文件中的各个数据的意义,用户终端基于原生应用程序中的特定的序列化工具具有识别特定的格式的序列化文件中的数据的能力。如此用户终端基于原生应用程序中的特定的序列化工具可以从特定的格式的序列化文件中直接提取出动态更新的页面的跨平台计算机程序代码,如此不需要对特定的格式的序列化文件反序列化,节省了反序列化的过程。
一方面,由于不需要反序列化,如此可以降低在原生应用程序中显示动态更新的页面的过程耗费的时长,降低用户等待在原生应用程序中显示动态更新的页面的等待时长,以提高用户体验。
另一方面,由于不需要反序列化,如此不会因反序列化而产生很多数据,进而用户终端也不需要因反序列化而分配额外的内存,可以节省用户终端的内存,可以尽可能地避免用户终端卡顿。
又一方面,同一计算机程序代码对应的特定的格式的序列化文件所占空间小于同一计算机程序代码对应的json格式的序列化文件所占空间,且特定的格式的序列化文件在网络上传输的速度更快,如此,在本申请中,可以节省网络资源以及后台服务端的存储资源等,以及可以提高在原生应用程序中动态更新页面的效率。
附图说明
图1是本申请的一种数据处理系统的结构框图。
图2是本申请的一种数据处理方法的步骤流程图。
图3是本申请的一种数据处理方法的步骤流程图。
图4是本申请的一种数据处理装置的结构框图。
图5是本申请的一种数据处理装置的结构框图。
图6是本申请的一种数据处理装置的结构框图。
图7是本申请的一种数据处理装置的结构框图。
图8是本申请的一种电子设备的框图。
图9是本申请的一种电子设备的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
其中,随着业务的发展,(原生应用程序的开发人员)有时候需要在原生应用程序中更新页面。
若需要在原生应用程序中更新页面,一个可行的方式包括:可以在Flutter框架中使用Dart计算机程序语言编写原生应用程序的新版本的Flutter计算机程序代码(其中包括有更新的页面的Flutter计算机程序代码)。
之后将新版本的Flutter计算机程序代码转换为新版本的原生计算机程序代码(例如包括诸如iOS或安卓等原生操作系统能够处理的计算机程序代码等),并对新版本的原生计算机程序代码编译,得到新版本的原生应用程序的可执行文件(安装包),然后发布新版本的原生应用程序的可执行文件。
然而,发明人发现,原生应用程序的厂商对发布原生应用程序的可执行文件是有发布周期的,如此,受原生应用程序的可执行文件的发布周期较长的影响,在需要在原生应用程序中更新页面时,基于上述方式往往无法在原生应用程序中及时更新页面,导致动态更新的页面涉及的业务无法及时上线。
如此,提出了如下需求:在需要在原生应用程序中更新页面时,在原生应用程序中能够及时更新页面,以使得更新的页面涉及的业务能够及时上线。
为了实现“在需要在原生应用程序中更新页面时,在原生应用程序中能够及时更新页面,以使得更新的页面涉及的业务能够及时上线”的目的,发明人想到了另一种方式:
可以在Flutter框架中使用Dart计算机程序语言编写动态更新的页面的Flutter计算机程序代码,动态更新的页面的Flutter计算机程序代码中包括动态更新的页面中的Widget(微件)数据等,之后需要将动态更新的页面的Flutter计算机程序代码部署在原生应用程序对应的后台服务端中。
其中,为了将动态更新的页面的Flutter计算机程序代码部署在原生应用程序对应的后台服务端中,则需要通过网络向原生应用程序对应的后台服务端传输更新的页面的Flutter计算机程序代码。
但是,动态更新的页面的Flutter计算机程序代码是无法在网络中传输的,如此,为了能够通过网络向原生应用程序对应的后台服务端传输更新的页面的Flutter计算机程序代码,可以对动态更新的页面的Flutter计算机程序代码序列化,得到动态更新的页面的Flutter计算机程序代码对应的json格式的序列化文件,json格式的序列化文件可以在网络中传输,如此,可以通过网络向原生应用程序对应的后台服务端传输json格式的序列化文件,以使原生应用程序对应的后台服务端在原生应用程序对应的后台服务端中部署json格式的序列化文件,以实现将动态更新的页面的Flutter计算机程序代码部署在原生应用程序对应的后台服务端中。
之后,在终端中运行原生应用程序的情况下,若需要在原生应用程序中显示动态更新的页面,则原生应用程序可以通过网络从原生应用程序对应的后台服务端中下载json格式的序列化文件,并对json格式的序列化文件反序列化,得到反序列化后的数据,然后从反序列化后的数据中提取动态更新的页面的Flutter计算机程序代码,然后将动态更新的页面的Flutter计算机程序代码转换为动态更新的页面的原生计算机程序代码,再对动态更新的页面的原生计算机程序代码编译,得到动态更新的页面的二进制文件(能够在终端中执行的二进制文件等),然后根据动态更新的页面的二进制文件在原生应用程序中显示动态更新的页面。
然而,在使用了上述另一种方式动态更新页面之后,发明人接收到了大量用户反馈了如下情况:大量用户在使用原生应用程序的过程中,有时候原生应用程序显示页面的过程耗费的时长很长,导致用户等待原生应用程序显示页面的等待时长很长,导致用户体验低;且在原生应用程序显示页面的过程中原生应用程序所在的终端卡顿,导致用户无法流畅地使用终端,导致用户体验低。
例如,用户在原生应用程序输入一个操作,该操作用于控制原生应用程序根据该操作显示页面,但是,原生应用程序在接收到该操作之后,需要耗费较长的时长才能显示出页面,也即,用户在原生应用程序中输入该操作之后需要等待较长的时长才能看到显示的页面,且会感到终端卡顿,导致用户体验低。
如此,提出了在原生应用程序显示页面的过程中提高用户体验的需求。
为了在原生应用程序显示页面的过程中提高用户体验,在一种方式中,在原生应用程序显示页面的过程中,可以降低在原生应用程序显示页面的过程耗费的时长,以及,避免终端卡顿。
为了在原生应用程序显示页面的过程中,可以降低在原生应用程序显示页面的过程耗费的时长,以及,避免终端卡顿。
发明人对大量用户反馈的在原生应用程序显示页面的过程耗费的时长很长且终端卡顿的情况进行了统计分析并发现:
在原生应用程序显示未动态更新的页面的过程耗费的时长往往较短,在原生应用程序中显示动态更新的页面的过程耗费的时长往往较长。在原生应用程序显示未动态更新的页面的过程中终端往往不卡顿,在原生应用程序中显示动态更新的页面的过程中终端往往卡顿。
鉴于此,发明人又对在原生应用程序中显示动态更新的页面的情况进行了统计分析,并发现:
原生应用程序中显示动态更新的页面的过程包括:原生应用程序通过网络从原生应用程序对应的后台服务端中下载的json格式的序列化文件。
原生应用程序无法识别json格式的序列化文件中的各个数据的意义,json格式的序列化文件中的各个数据对于原生应用程序而言可以看作是乱码,原生应用程序没有识别json格式的序列化文件中的数据的能力。
如此,原生应用程序无法直接根据json格式的序列化文件显示动态更新的页面,原生应用程序需要对json格式的序列化文件反序列化,得到反序列化后的数据,然后从反序列化后的数据中提取动态更新的页面的Flutter计算机程序代码,然后将动态更新的页面的Flutter计算机程序代码转换为动态更新的页面的原生计算机程序代码,再对动态更新的页面的原生计算机程序代码编译,得到动态更新的页面的二进制文件(能够在终端中执行的二进制文件等),然后根据动态更新的页面的二进制文件在原生应用程序中显示动态更新的页面。
针对上述情况,发明人分析了在原生应用程序中显示动态更新的页面的过程的堆栈信息,并发现:原生应用程序对json格式的序列化文件反序列化的过程耗费的时间较长,而在原生应用程序中显示动态更新的页面的过程的其他步骤耗费的时长较短,如此,可以大致确定是由于原生应用程序对json格式的序列化文件反序列化的过程耗费的时长较长,而导致了在原生应用程序中显示动态更新的页面的过程耗费的时长较长。
另外,原生应用程序对json格式的序列化文件反序列化的过程中,会产生很多数据,例如包括动态更新的页面的Flutter计算机程序代码等,当然,也可以包括关于反序列化的数据等,原生应用程序所在的终端需要为这些数据分配内存,导致终端被占用的内存更多,进而导致终端卡顿。
鉴于此,为了在原生应用程序显示页面的过程中,降低在原生应用程序显示页面的过程耗费的时长,以及,避免终端卡顿,发明人想到了:
若原生应用程序从Flutter对应的后台服务端中下载到的是:对动态更新的页面的计算机程序代码序列化得到的另外的格式(与json格式不同)的序列化文件,且原生应用程序可以识别该另外的格式的序列化文件中的各个数据的意义,该另外的格式的序列化文件中的各个数据对于原生应用程序而言不是乱码,原生应用程序具有识别该另外的格式的序列化文件中的数据的能力。
则原生应用程序就可以不对该另外的格式的序列化文件反序列化,原生应用程序可以直接从该另外的格式的序列化文件读取出动态更新的页面的Flutter计算机程序代码,然后将动态更新的页面的Flutter计算机程序代码转换为动态更新的页面的原生计算机程序代码,再对动态更新的页面的原生计算机程序代码编译,得到动态更新的页面的二进制文件(能够在终端中执行的二进制文件等),然后根据动态更新的页面的二进制文件在原生应用程序中显示动态更新的页面。
如此,可见,可以节省反序列化的过程,例如,节省对序列化文件反序列化的过程。
为了使得原生应用程序可以直接从该另外的格式的序列化文件读取出动态更新的页面的Flutter计算机程序代码,在一个方式中,事先对动态更新的页面的Flutter计算机程序代码序列化时,可以将动态更新的页面的Flutter计算机程序代码序列化为该另外的格式的序列化文件。
例如,在需要在原生应用程序中动态更新页面的情况下,可以在Flutter框架中使用Dart计算机程序语言编写动态更新的页面的Flutter计算机程序代码,动态更新的页面的Flutter计算机程序代码中包括动态更新的页面中的Widget(微件)数据等,可以使用特定的序列化工具对动态更新的页面的Flutter计算机程序代码序列化,得到动态更新的页面的Flutter计算机程序代码对应的特定的格式的序列化文件。若原生应用程序中事先部署有一些特定的序列化工具,则原生应用程序基于特定的序列化工具可以识别特定的格式的序列化文件中的各个数据的意义,基于原生应用程序基于特定的序列化工具具有识别特定的格式的序列化文件中的数据的能力。特定的格式的序列化文件为二进制文件,且特定的格式的序列化文件可以在网络中传输。之后可以通过网络向原生应用程序对应的后台服务端传输特定的格式的序列化文件,以使原生应用程序对应的后台服务端在原生应用程序对应的后台服务端中部署特定的格式的序列化文件,以实现将动态更新的页面的Flutter计算机程序代码部署在原生应用程序对应的后台服务端中。
其中,原生应用程序中部署有特定的序列化工具,原生应用程序基于特定的序列化工具具有识别特定的格式的序列化文件中的各个数据的意义的能力。
特定的序列化工具包括FlatBuffers以及Protobuffer等。
特定的格式不为json格式,或者,特定的格式不包括json格式。
例如,特定的格式可以包括“.bin”格式、“.o”格式、“.elf”格式、“.axf”格式以及“.hex”格式等。
之后,在终端中运行原生应用程序的情况下,若需要在原生应用程序中显示动态更新的页面,则原生应用程序可以通过网络从原生应用程序对应的后台服务端中下载特定的格式的序列化文件,然后原生应用程序基于特定的序列化工具从特定的格式的序列化文件中提取动态更新的页面的Flutter计算机程序代码,然后将动态更新的页面的Flutter计算机程序代码转换为动态更新的页面的原生计算机程序代码,再对动态更新的页面的原生计算机程序代码编译,得到动态更新的页面的二进制文件(能够在终端中执行的二进制文件等),然后根据动态更新的页面的二进制文件在原生应用程序中显示动态更新的页面。
可见,在需要在原生应用程序中显示动态更新的页面的情况下,在原生应用程序从后台服务端中下载到特定的格式的序列化文件之后,由于原生应用程序中事先部署有特定的序列化工具,因此原生应用程序基于特定的序列化工具具有识别特定的格式的序列化文件中的各个数据的意义的能力。如此原生应用程序基于特定的序列化工具可以从特定的格式的序列化文件中直接提取出动态更新的页面的Flutter计算机程序代码,如此不需要对特定的格式的序列化文件反序列化,节省了反序列化的过程。
一方面,由于不需要反序列化,如此可以降低在原生应用程序中显示动态更新的页面的过程耗费的时长,降低用户等待原生应用程序中显示动态更新的页面的等待时长,以提高用户体验。
另一方面,由于不需要反序列化,如此不会因反序列化而产生很多数据,进而原生应用程序所在的终端也不需要因反序列化而分配额外的内存,可以节省终端的内存,可以尽可能地避免终端卡顿。
又一方面,同一计算机程序代码对应的特定的格式的序列化文件所占空间小于同一计算机程序代码对应的json格式的序列化文件所占空间,且特定的格式的序列化文件在网络上传输的速度更快,如此,在本申请中,可以节省网络资源以及后台服务端的存储资源等,以及可以提高在原生应用程序中动态更新页面的效率。
具体地,参照图1,示出了本申请的一种数据处理系统的结构框图,该系统包括开发终端01、后台服务端02以及用户终端03。
开发终端可以包括原生应用程序的开发人员使用的终端等,例如,包括台式电脑或笔记本电脑等。
后台服务端可以包括原生应用程序对应的后台服务端。
用户终端包括广大用户使用的终端,例如,包括手机或平板电脑等。
用户终端中安装有原生应用程序,用户终端基于原生应用程序可以与原生应用程序对应的后台服务端之间进行数据交互。
用户终端中部署有原生操作系统,例如包括iOS操作系统或安卓操作系统等,用于运行原生应用程序。原生应用程序包括能够在iOS操作系统中运行的应用程序或者能够在安卓操作系统中运行的应用程序等。
开发终端与后台服务端之间可以进行数据交互。
其中,在需要在原生应用程序中动态更新页面的情况下,可以通过本实施例的方式实现,例如,参照图2,示出了本申请的一种数据处理方法的步骤流程图,该方法应用于图1所示的开发终端以及后台服务端,该方法具体可以包括如下步骤:
在步骤S101中,开发终端获取开发人员基于跨平台开发工具开发的跨平台计算机程序代码,跨平台计算机程序代码包括用于在原生应用程序中的动态更新的页面的计算机程序代码。
开发终端中具有跨平台开发工具,例如包括Flutter框架等。跨平台计算机程序代码可以是Dart形式的代码等。
在需要在原生应用程序中动态更新页面的情况下,开发人员可以在跨平台开发工具中使用跨平台计算机程序语言编写动态更新的页面的跨平台计算机程序代码,动态更新的页面的跨平台计算机程序代码中包括动态更新的页面中的Widget(微件)数据等。开发终端可以获取开发人员基于跨平台开发工具开发的跨平台计算机程序代码。
在步骤S102中,开发终端使用特定的序列化工具对跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
为了实现在后台服务端中部署动态更新的页面的跨平台计算机程序代码,在本申请中,可以使用特定的序列化工具对跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
特定的序列化工具事先部署在开发终端中安装的跨平台开发工具中,如此,开发终端可以从跨平台开发工具中调用特定的序列化工具,然后使用特定的序列化工具对跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
特定的格式的序列化文件为二进制文件,且特定的格式的序列化文件可以在网络中传输。
FlatBuffers是一个开源的跨平台数据序列化库,可以应用于多种计算机程序语言中,例如包括:C++、C#、Go、Java、JavaScript、PHP以及Python等。
FlatBuffers可以把结构化的数据用一个扁平化(Flat)的缓冲区保存,即把数据保存在一个一维的数组中。可以使得FlatBuffers具有以下的优点:对序列化数据的访问不需要打包和拆包,FlatBuffers将序列化数据存储在缓存中,这些数据既可以存储在文件中,又可以通过网络原样传输,而没有任何解析开销;访问数据时唯一内存需求是缓冲区,不需要额外的内存分配,内存效率高,速度快;仅仅需要自动生成的少量代码和一个单一的头文件依赖,易于集成;能够跨平台使用,而且具有强类型设计,扩展性好。
在步骤S103中,开发终端向原生应用程序对应的后台服务端上传动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
可以将动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件部署在后台服务端中,以实现将动态更新的页面的跨平台计算机程序代码部署在后台服务端中,为此,开发终端可以向原生应用程序对应的后台服务端上传特定的格式的序列化文件。
在步骤S104中,后台服务端接收动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
在步骤S105中,后台服务端在后台服务端中部署动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
在本申请一个实施例中,后台服务端可以提取动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件中记录的原生应用程序的程序标识以及动态更新的页面的页面标识,并根据原生应用程序的程序标识获取之前记录的原生应用程序中的各个页面的页面标识,判断提取的动态更新的页面的页面标识是否为之前记录的原生应用程序中的各个页面的页面标识中的其中一个。
若提取的动态更新的页面的页面标识为之前记录的原生应用程序中的各个页面的页面标识中的其中一个页面标识,则可以确定动态更新的页面用于替换原生应用程序中的旧页面。
或者,若提取的动态更新的页面的页面标识不为之前记录的原生应用程序中的各个页面的页面标识中的任何一个页面标识,则可以确定动态更新的页面包括用于在原生应用程序中添加的新页面。
其中,原生应用程序中的不同的页面的页面标识不同。不用的应用程序的程序标识不同。
如此,在动态更新的页面包括用于在原生应用程序中添加的新页面的情况下,在后台服务端中缓存特定的格式的序列化文件。
或者,在动态更新的页面用于替换原生应用程序中的旧页面的情况下,旧页面的跨平台计算机程序代码对应的特定的格式的序列化文件之后往往不再使用,如此,可以在后台服务端中使用特定的格式的序列化文件替换旧页面的跨平台计算机程序代码对应的特定的格式的序列化文件。从而避免继续存储旧页面的跨平台计算机程序代码对应的特定的格式的序列化文件,可以节省后台服务端的存储空间。
在本申请中,在需要在原生应用程序中动态更新页面的情况下,可以基于跨平台开发工具编写动态更新的页面的跨平台计算机程序代码,动态更新的页面的跨平台计算机程序代码中包括动态更新的页面中的Widget(微件)数据等,可以对动态更新的页面的跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。若原生应用程序中事先部署有特定的序列化工具等,则基于原生应用程序中的特定的序列化工具可以识别特定的格式的序列化文件中的各个数据的意义,也即,基于原生应用程序中的特定的序列化工具具有识别特定的格式的序列化文件中的数据的能力。特定的格式的序列化文件为二进制文件,且特定的格式的序列化文件可以在网络中传输。之后可以通过网络向原生应用程序对应的后台服务端传输特定的格式的序列化文件,以使原生应用程序对应的后台服务端在原生应用程序对应的后台服务端中部署特定的格式的序列化文件,以实现将动态更新的页面的跨平台计算机程序代码部署在原生应用程序对应的后台服务端中。
如此支持在用户终端中运行原生应用程序的情况下,若需要在原生应用程序中显示动态更新的页面,则用户终端可以基于原生应用程序可以通过网络从原生应用程序对应的后台服务端中下载特定的格式的序列化文件,然后在原生应用程序中基于特定的序列化工具从特定的格式的序列化文件中提取动态更新的页面的跨平台计算机程序代码,然后将动态更新的页面的跨平台计算机程序代码转换为动态更新的页面的原生计算机程序代码,再对动态更新的页面的原生计算机程序代码编译,得到动态更新的页面的二进制文件(能够在终端中执行的二进制文件等),然后根据动态更新的页面的二进制文件在原生应用程序中显示动态更新的页面。
可见,在需要在原生应用程序中显示动态更新的页面的情况下,在原生应用程序从后台服务端中下载到特定的格式的序列化文件之后,由于原生应用程序中事先部署有特定的序列化工具,因此原生应用程序基于特定的序列化工具具有识别特定的格式的序列化文件中的各个数据的意义的能力。如此原生应用程序基于特定的序列化工具可以从特定的格式的序列化文件中直接提取出动态更新的页面的Flutter计算机程序代码,如此不需要对特定的格式的序列化文件反序列化,节省了反序列化的过程。
一方面,由于不需要反序列化,如此可以降低在原生应用程序中显示动态更新的页面的过程耗费的时长,降低用户等待在原生应用程序中显示动态更新的页面的等待时长,以提高用户体验。
另一方面,由于不需要反序列化,如此不会因反序列化而产生很多数据,进而用户终端也不需要因反序列化而分配额外的内存,可以节省用户终端的内存,可以尽可能地避免用户终端卡顿。
又一方面,同一计算机程序代码对应的特定的格式的序列化文件所占空间小于同一计算机程序代码对应的json格式的序列化文件所占空间,且特定的格式的序列化文件在网络上传输的速度更快,如此,在本申请中,可以节省网络资源以及后台服务端的存储资源等,以及可以提高在原生应用程序中动态更新页面的效率。
之后,在终端中运行原生应用程序的情况下,若需要在原生应用程序中显示动态更新的页面,此时原生应用程序中并不具有动态更新的页面的Widget数据等,如此,原生应用程序此时是无法显示动态更新的页面。
而在本申请中,在不重新在用户终端中安装原生应用程序的情况下,为了使得原生应用程序可以显示动态更新的页面,则可以通过本实施例的方式使得原生应用程序可以显示动态更新的页面。
例如,参照图3,示出了本申请的一种数据处理方法的步骤流程图,该方法应用于图1所示的用户终端以及后台服务端,该方法具体可以包括如下步骤:
在步骤S201中,在需要在原生应用程序中显示动态更新的页面的情况下,用户终端向原生应用程序对应的后台服务端中发送下载请求。下载请求用于下载动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
用户终端基于原生应用程序可以通过网络从原生应用程序对应的后台服务端中下载特定的格式的序列化文件,然后用户终端可以从原生应用程序中调取特定的序列化工具,并使用特定的序列化工具从特定的格式的序列化文件中提取动态更新的页面的Flutter计算机程序代码,然后将动态更新的页面的Flutter计算机程序代码转换为动态更新的页面的原生计算机程序代码,再对动态更新的页面的原生计算机程序代码编译,得到动态更新的页面的二进制文件(能够在终端中执行的二进制文件等),然后根据动态更新的页面的二进制文件在原生应用程序中显示动态更新的页面,以完成对动态更新的页面的动态更新。
在步骤S202中,后台服务端接收下载请求。
下载请求可以携带原生应用程序的程序标识以及动态更新的页面的页面标识等。
在步骤S203中,后台服务端根据下载请求获取事先在后台服务端中部署的、动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
后台服务端可以原生应用程序的程序标识以及动态更新的页面的页面标识在后台服务端中检索出动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
在步骤S204中,后台服务端向用户终端发送动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
在步骤S205中,用户终端接收动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
在步骤S206中,用户终端使用在原生应用程序部署的特定的序列化工具读取特定的格式的序列化文件中的数据,并将数据还原为跨平台计算机程序代码。
基于特定的序列化工具可以识别特定的格式的序列化文件中的各个数据的意义,如此基于特定的序列化工具具有识别特定的格式的序列化文件中的数据的能力。
特定的序列化工具事先部署在用户终端中安装的原生应用程序中,如此,用户终端可以从原生应用程序中调用特定的序列化工具,然后使用序列化工具读取特定的格式的序列化文件中的数据,并将数据还原为跨平台计算机程序代码。
在步骤S207中,用户终端基于在原生应用程序中部署的跨平台开发工具对应的跨平台引擎,将跨平台计算机程序代码转换为原生计算机程序代码。
跨平台开发工具对应的跨平台引擎可以包括Flutter引擎等。
原生计算机程序代码可以被用户终端的原生操作系统中部署的原生开发工具对应的原生引擎识别,以使得用户终端的操作系统中部署的原生开发工具对应的原生引擎能够对原生计算机程序代码编译。
在步骤S208中,用户终端使用在用户终端的操作系统中部署的原生开发工具对应的原生引擎对原生计算机程序代码编译,得到动态更新的页面的二进制文件。
在一个实施例中,原生开发工具包括安卓操作系统对应的安卓开发工具,原生开发工具对应的原生引擎包括安卓操作系统对应的安卓开发工具对应的安卓引擎。
在另一个实施例中,原生开发工具包括iOS操作系统对应的iOS开发工具,原生开发工具对应的原生引擎包括iOS操作系统对应的iOS开发工具对应的iOS引擎。
在步骤S209中,用户终端根据原生引擎以及动态更新的页面的二进制文件显示动态更新的页面。
用户终端可以控制原生引擎在原生应用程序中运行动态更新的页面的二进制文件,以实现在原生应用程序中显示动态更新的页面。
在本申请另一实施例中,在步骤S205用户终端接收动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件之后,可以在原生应用程序中缓存动态更新的页面的二进制文件,以使在下一次需要在原生应用程序中显示动态更新的页面的情况下,可以直接从原生应用程序中调取动态更新的页面的二进制文件,并根据原生引擎以及动态更新的页面的二进制文件显示动态更新的页面,而不需要再重复经过步骤S201~步骤S208的流程来获取动态更新的页面的二进制文件,可以提高获取动态更新的页面的二进制文件的效率以及网络资源。
具体地,在本申请一个实施例中,用户终端可以提取动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件中记录的动态更新的页面的页面标识,并获取原生应用程序中记录的原生应用程序中的各个页面的页面标识,判断提取的动态更新的页面的页面标识是否为原生应用程序中记录的原生应用程序中的各个页面的页面标识中的其中一个。
若提取的动态更新的页面的页面标识为原生应用程序中记录的原生应用程序中的各个页面的页面标识中的其中一个页面标识,则可以确定动态更新的页面用于替换原生应用程序中的旧页面。
或者,若提取的动态更新的页面的页面标识不为原生应用程序中记录的原生应用程序中的各个页面的页面标识中的任何一个页面标识,则可以确定动态更新的页面包括用于在原生应用程序中添加的新页面。
其中,原生应用程序中的不同的页面的页面标识不同。
如此,在动态更新的页面包括用于在原生应用程序中添加的新页面的情况下,在原生应用程序中缓存动态更新的页面的二进制文件。
或者,在动态更新的页面用于替换原生应用程序中的旧页面的情况下,在原生应用程序中使用动态更新的页面的二进制文件替换旧页面的二进制文件。在动态更新的页面用于替换原生应用程序中的旧页面的情况下,旧页面的二进制文件之后往往不再使用,如此,可以避免继续存储之后可以不再使用,可以节省用户终端的存储空间。
在本申请中,在需要在原生应用程序中动态更新页面的情况下,可以基于跨平台开发工具编写动态更新的页面的跨平台计算机程序代码,动态更新的页面的跨平台计算机程序代码中包括动态更新的页面中的Widget(微件)数据等,可以对动态更新的页面的跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。若原生应用程序中事先部署有特定的序列化工具等,则基于原生应用程序中的特定的序列化工具可以识别特定的格式的序列化文件中的各个数据的意义,也即,基于原生应用程序中的特定的序列化工具具有识别特定的格式的序列化文件中的数据的能力。特定的格式的序列化文件为二进制文件,且特定的格式的序列化文件可以在网络中传输。之后可以通过网络向原生应用程序对应的后台服务端传输特定的格式的序列化文件,以使原生应用程序对应的后台服务端在原生应用程序对应的后台服务端中部署特定的格式的序列化文件,以实现将动态更新的页面的跨平台计算机程序代码部署在原生应用程序对应的后台服务端中。
之后,在用户终端中运行原生应用程序的情况下,若需要在原生应用程序中显示动态更新的页面,则用户终端可以基于原生应用程序可以通过网络从原生应用程序对应的后台服务端中下载特定的格式的序列化文件,然后在原生应用程序中基于特定的序列化工具从特定的格式的序列化文件中提取动态更新的页面的跨平台计算机程序代码,然后将动态更新的页面的跨平台计算机程序代码转换为动态更新的页面的原生计算机程序代码,再对动态更新的页面的原生计算机程序代码编译,得到动态更新的页面的二进制文件(能够在终端中执行的二进制文件等),然后根据动态更新的页面的二进制文件在原生应用程序中显示动态更新的页面。
可见,在需要在原生应用程序中显示动态更新的页面的情况下,在原生应用程序从后台服务端中下载到特定的格式的序列化文件之后,由于原生应用程序中事先部署有特定的序列化工具,因此原生应用程序基于特定的序列化工具具有识别特定的格式的序列化文件中的各个数据的意义的能力。如此原生应用程序基于特定的序列化工具可以从特定的格式的序列化文件中直接提取出动态更新的页面的Flutter计算机程序代码,如此不需要对特定的格式的序列化文件反序列化,节省了反序列化的过程。
一方面,由于不需要反序列化,如此可以降低在原生应用程序中显示动态更新的页面的过程耗费的时长,降低用户等待在原生应用程序中显示动态更新的页面的等待时长,以提高用户体验。
另一方面,由于不需要反序列化,如此不会因反序列化而产生很多数据,进而用户终端也不需要因反序列化而分配额外的内存,可以节省用户终端的内存,可以尽可能地避免用户终端卡顿。
又一方面,同一计算机程序代码对应的特定的格式的序列化文件所占空间小于同一计算机程序代码对应的json格式的序列化文件所占空间,且特定的格式的序列化文件在网络上传输的速度更快,如此,在本申请中,可以节省网络资源以及后台服务端的存储资源等,以及可以提高在原生应用程序中动态更新页面的效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作并不一定是本申请所必须的。
参照图4,示出了本申请的一种数据处理装置的结构框图,应用于开发终端,所述开发终端中部署有跨平台开发工具,所述装置包括:
第一获取模块11,用于获取开发人员基于跨平台开发工具开发的跨平台计算机程序代码,所述跨平台计算机程序代码包括用于在原生应用程序中的动态更新的页面的计算机程序代码;
序列化模块12,用于使用特定的序列化工具对所述跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
上传模块13,用于向原生应用程序对应的后台服务端上传所述特定的格式的序列化文件,以使后台服务端在后台服务端中部署所述特定的格式的序列化文件;
其中,所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力。
在本申请中,在需要在原生应用程序中动态更新页面的情况下,可以基于跨平台开发工具编写动态更新的页面的跨平台计算机程序代码,动态更新的页面的跨平台计算机程序代码中包括动态更新的页面中的Widget(微件)数据等,可以对动态更新的页面的跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。若原生应用程序中事先部署有特定的序列化工具等,则基于原生应用程序中的特定的序列化工具可以识别特定的格式的序列化文件中的各个数据的意义,也即,基于原生应用程序中的特定的序列化工具具有识别特定的格式的序列化文件中的数据的能力。特定的格式的序列化文件为二进制文件,且特定的格式的序列化文件可以在网络中传输。之后可以通过网络向原生应用程序对应的后台服务端传输特定的格式的序列化文件,以使原生应用程序对应的后台服务端在原生应用程序对应的后台服务端中部署特定的格式的序列化文件,以实现将动态更新的页面的跨平台计算机程序代码部署在原生应用程序对应的后台服务端中。
如此支持之后在用户终端中运行原生应用程序的情况下,若需要在原生应用程序中显示动态更新的页面,则用户终端可以基于原生应用程序可以通过网络从原生应用程序对应的后台服务端中下载特定的格式的序列化文件,然后在原生应用程序中基于特定的序列化工具从特定的格式的序列化文件中提取动态更新的页面的跨平台计算机程序代码,然后将动态更新的页面的跨平台计算机程序代码转换为动态更新的页面的原生计算机程序代码,再对动态更新的页面的原生计算机程序代码编译,得到动态更新的页面的二进制文件(能够在终端中执行的二进制文件等),然后根据动态更新的页面的二进制文件在原生应用程序中显示动态更新的页面。
可见,在需要在原生应用程序中显示动态更新的页面的情况下,在原生应用程序从后台服务端中下载到特定的格式的序列化文件之后,由于原生应用程序中事先部署有特定的序列化工具,因此原生应用程序基于特定的序列化工具具有识别特定的格式的序列化文件中的各个数据的意义的能力。如此原生应用程序基于特定的序列化工具可以从特定的格式的序列化文件中直接提取出动态更新的页面的Flutter计算机程序代码,如此不需要对特定的格式的序列化文件反序列化,节省了反序列化的过程。
一方面,由于不需要反序列化,如此可以降低在原生应用程序中显示动态更新的页面的过程耗费的时长,降低用户等待在原生应用程序中显示动态更新的页面的等待时长,以提高用户体验。
另一方面,由于不需要反序列化,如此不会因反序列化而产生很多数据,进而用户终端也不需要因反序列化而分配额外的内存,可以节省用户终端的内存,可以尽可能地避免用户终端卡顿。
又一方面,同一计算机程序代码对应的特定的格式的序列化文件所占空间小于同一计算机程序代码对应的json格式的序列化文件所占空间,且特定的格式的序列化文件在网络上传输的速度更快,如此,在本申请中,可以节省网络资源以及后台服务端的存储资源等,以及可以提高在原生应用程序中动态更新页面的效率。
参照图5,示出了本申请的一种数据处理装置的结构框图,应用于后台服务端,所述装置包括:
第一接收模块21,用于接收开发终端上传的动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的;
部署模块22,用于在后台服务端中部署所述特定的格式的序列化文件;
其中,所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力。
在一个可选的实现方式中,所述部署模块包括:
缓存单元,用于在所述动态更新的页面包括用于在所述原生应用程序中添加的新页面的情况下,在后台服务端中缓存所述特定的格式的序列化文件;
或者,
替换单元,用于在所述动态更新的页面用于替换所述原生应用程序中的旧页面的情况下,在后台服务端中使用所述特定的格式的序列化文件替换所述旧页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
在本申请中,在需要在原生应用程序中动态更新页面的情况下,可以基于跨平台开发工具编写动态更新的页面的跨平台计算机程序代码,动态更新的页面的跨平台计算机程序代码中包括动态更新的页面中的Widget(微件)数据等,可以对动态更新的页面的跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。若原生应用程序中事先部署有特定的序列化工具等,则基于原生应用程序中的特定的序列化工具可以识别特定的格式的序列化文件中的各个数据的意义,也即,基于原生应用程序中的特定的序列化工具具有识别特定的格式的序列化文件中的数据的能力。特定的格式的序列化文件为二进制文件,且特定的格式的序列化文件可以在网络中传输。之后可以通过网络向原生应用程序对应的后台服务端传输特定的格式的序列化文件,以使原生应用程序对应的后台服务端在原生应用程序对应的后台服务端中部署特定的格式的序列化文件,以实现将动态更新的页面的跨平台计算机程序代码部署在原生应用程序对应的后台服务端中。
之后,在用户终端中运行原生应用程序的情况下,若需要在原生应用程序中显示动态更新的页面,则用户终端可以基于原生应用程序可以通过网络从原生应用程序对应的后台服务端中下载特定的格式的序列化文件,然后在原生应用程序中基于特定的序列化工具从特定的格式的序列化文件中提取动态更新的页面的跨平台计算机程序代码,然后将动态更新的页面的跨平台计算机程序代码转换为动态更新的页面的原生计算机程序代码,再对动态更新的页面的原生计算机程序代码编译,得到动态更新的页面的二进制文件(能够在终端中执行的二进制文件等),然后根据动态更新的页面的二进制文件在原生应用程序中显示动态更新的页面。
可见,在需要在原生应用程序中显示动态更新的页面的情况下,在原生应用程序从后台服务端中下载到特定的格式的序列化文件之后,由于原生应用程序中事先部署有特定的序列化工具,因此原生应用程序基于特定的序列化工具具有识别特定的格式的序列化文件中的各个数据的意义的能力。如此原生应用程序基于特定的序列化工具可以从特定的格式的序列化文件中直接提取出动态更新的页面的Flutter计算机程序代码,如此不需要对特定的格式的序列化文件反序列化,节省了反序列化的过程。
一方面,由于不需要反序列化,如此可以降低在原生应用程序中显示动态更新的页面的过程耗费的时长,降低用户等待在原生应用程序中显示动态更新的页面的等待时长,以提高用户体验。
另一方面,由于不需要反序列化,如此不会因反序列化而产生很多数据,进而用户终端也不需要因反序列化而分配额外的内存,可以节省用户终端的内存,可以尽可能地避免用户终端卡顿。
又一方面,同一计算机程序代码对应的特定的格式的序列化文件所占空间小于同一计算机程序代码对应的json格式的序列化文件所占空间,且特定的格式的序列化文件在网络上传输的速度更快,如此,在本申请中,可以节省网络资源以及后台服务端的存储资源等,以及可以提高在原生应用程序中动态更新页面的效率。
参照图6,示出了本申请的一种数据处理装置的结构框图,应用于用户终端,所述用户终端中部署有原生操作系统,所述用户终端中安装有原生应用程序,所述装置包括:
第一发送模块31,用于在需要在所述原生应用程序中显示动态更新的页面的情况下,向所述原生应用程序对应的后台服务端中发送下载请求;所述下载请求用于下载所述动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
第二接收模块32,用于接收所述后台服务端根据所述下载请求返回的所述特定的格式的序列化文件;所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在所述原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的并上传至所述后台服务端中以在所述后台服务端中部署的;所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力;
读取模块33,用于使用在所述原生应用程序部署的特定的序列化工具读取所述特定的格式的序列化文件中的数据,并将所述数据还原为所述跨平台计算机程序代码;
转换模块34,用于基于在所述原生应用程序中部署的跨平台开发工具对应的跨平台引擎,将所述跨平台计算机程序代码转换为原生计算机程序代码;
编译模块35,用于使用在所述用户终端的操作系统中部署的原生开发工具对应的原生引擎对所述原生计算机程序代码编译,得到动态更新的页面的二进制文件;
显示模块36,用于根据所述原生引擎以及动态更新的页面的二进制文件显示动态更新的页面。
在一个可选的实现方式中,所述装置还包括:
缓存模块,用于在所述动态更新的页面包括用于在所述原生应用程序中添加的新页面的情况下,在所述原生应用程序中缓存动态更新的页面的二进制文件;
或者,
替换模块,用于在所述动态更新的页面用于替换所述原生应用程序中的旧页面的情况下,在所述原生应用程序中使用所述动态更新的页面的二进制文件替换所述旧页面的二进制文件。
在本申请中,在需要在原生应用程序中动态更新页面的情况下,可以基于跨平台开发工具编写动态更新的页面的跨平台计算机程序代码,动态更新的页面的跨平台计算机程序代码中包括动态更新的页面中的Widget(微件)数据等,可以对动态更新的页面的跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。若原生应用程序中事先部署有特定的序列化工具等,则基于原生应用程序中的特定的序列化工具可以识别特定的格式的序列化文件中的各个数据的意义,也即,基于原生应用程序中的特定的序列化工具具有识别特定的格式的序列化文件中的数据的能力。特定的格式的序列化文件为二进制文件,且特定的格式的序列化文件可以在网络中传输。之后可以通过网络向原生应用程序对应的后台服务端传输特定的格式的序列化文件,以使原生应用程序对应的后台服务端在原生应用程序对应的后台服务端中部署特定的格式的序列化文件,以实现将动态更新的页面的跨平台计算机程序代码部署在原生应用程序对应的后台服务端中。
如此支持之后在用户终端中运行原生应用程序的情况下,若需要在原生应用程序中显示动态更新的页面,则用户终端可以基于原生应用程序可以通过网络从原生应用程序对应的后台服务端中下载特定的格式的序列化文件,然后在原生应用程序中基于特定的序列化工具从特定的格式的序列化文件中提取动态更新的页面的跨平台计算机程序代码,然后将动态更新的页面的跨平台计算机程序代码转换为动态更新的页面的原生计算机程序代码,再对动态更新的页面的原生计算机程序代码编译,得到动态更新的页面的二进制文件(能够在终端中执行的二进制文件等),然后根据动态更新的页面的二进制文件在原生应用程序中显示动态更新的页面。
可见,在需要在原生应用程序中显示动态更新的页面的情况下,在原生应用程序从后台服务端中下载到特定的格式的序列化文件之后,由于原生应用程序中事先部署有特定的序列化工具,因此原生应用程序基于特定的序列化工具具有识别特定的格式的序列化文件中的各个数据的意义的能力。如此原生应用程序基于特定的序列化工具可以从特定的格式的序列化文件中直接提取出动态更新的页面的Flutter计算机程序代码,如此不需要对特定的格式的序列化文件反序列化,节省了反序列化的过程。
一方面,由于不需要反序列化,如此可以降低在原生应用程序中显示动态更新的页面的过程耗费的时长,降低用户等待在原生应用程序中显示动态更新的页面的等待时长,以提高用户体验。
另一方面,由于不需要反序列化,如此不会因反序列化而产生很多数据,进而用户终端也不需要因反序列化而分配额外的内存,可以节省用户终端的内存,可以尽可能地避免用户终端卡顿。
又一方面,同一计算机程序代码对应的特定的格式的序列化文件所占空间小于同一计算机程序代码对应的json格式的序列化文件所占空间,且特定的格式的序列化文件在网络上传输的速度更快,如此,在本申请中,可以节省网络资源以及后台服务端的存储资源等,以及可以提高在原生应用程序中动态更新页面的效率。
参照图7,示出了本申请的一种数据处理装置的结构框图,应用于后台服务端,所述装置包括:
第三接收模块41,用于接收用户终端发送的下载请求,所述下载请求是在用户终端在需要在原生应用程序中显示动态更新的页面的情况下发送的;所述下载请求用于下载所述动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
第二获取模块42,用于根据下载请求获取事先在所述后台服务端中部署的特定的格式的序列化文件,所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在所述原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的并上传至所述后台服务端中以在所述后台服务端中部署的;所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力;
第二发送模块43,用于向用户终端发送特定的格式的序列化文件;以使用户终端使用在所述原生应用程序部署的特定的序列化工具读取所述特定的格式的序列化文件中的数据,并将所述数据还原为所述跨平台计算机程序代码;基于在所述原生应用程序中部署的跨平台开发工具对应的跨平台引擎,将所述跨平台计算机程序代码转换为原生计算机程序代码;使用在所述用户终端的操作系统中部署的原生开发工具对应的原生引擎对所述原生计算机程序代码编译,得到动态更新的页面的二进制文件;根据所述原生引擎以及动态更新的页面的二进制文件显示动态更新的页面。
在本申请中,在需要在原生应用程序中动态更新页面的情况下,可以基于跨平台开发工具编写动态更新的页面的跨平台计算机程序代码,动态更新的页面的跨平台计算机程序代码中包括动态更新的页面中的Widget(微件)数据等,可以对动态更新的页面的跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件。若原生应用程序中事先部署有特定的序列化工具等,则基于原生应用程序中的特定的序列化工具可以识别特定的格式的序列化文件中的各个数据的意义,也即,基于原生应用程序中的特定的序列化工具具有识别特定的格式的序列化文件中的数据的能力。特定的格式的序列化文件为二进制文件,且特定的格式的序列化文件可以在网络中传输。之后可以通过网络向原生应用程序对应的后台服务端传输特定的格式的序列化文件,以使原生应用程序对应的后台服务端在原生应用程序对应的后台服务端中部署特定的格式的序列化文件,以实现将动态更新的页面的跨平台计算机程序代码部署在原生应用程序对应的后台服务端中。
之后,在用户终端中运行原生应用程序的情况下,若需要在原生应用程序中显示动态更新的页面,则用户终端可以基于原生应用程序可以通过网络从原生应用程序对应的后台服务端中下载特定的格式的序列化文件,然后在原生应用程序中基于特定的序列化工具从特定的格式的序列化文件中提取动态更新的页面的跨平台计算机程序代码,然后将动态更新的页面的跨平台计算机程序代码转换为动态更新的页面的原生计算机程序代码,再对动态更新的页面的原生计算机程序代码编译,得到动态更新的页面的二进制文件(能够在终端中执行的二进制文件等),然后根据动态更新的页面的二进制文件在原生应用程序中显示动态更新的页面。
可见,在需要在原生应用程序中显示动态更新的页面的情况下,在原生应用程序从后台服务端中下载到特定的格式的序列化文件之后,由于原生应用程序中事先部署有特定的序列化工具,因此原生应用程序基于特定的序列化工具具有识别特定的格式的序列化文件中的各个数据的意义的能力。如此原生应用程序基于特定的序列化工具可以从特定的格式的序列化文件中直接提取出动态更新的页面的Flutter计算机程序代码,如此不需要对特定的格式的序列化文件反序列化,节省了反序列化的过程。
一方面,由于不需要反序列化,如此可以降低在原生应用程序中显示动态更新的页面的过程耗费的时长,降低用户等待在原生应用程序中显示动态更新的页面的等待时长,以提高用户体验。
另一方面,由于不需要反序列化,如此不会因反序列化而产生很多数据,进而用户终端也不需要因反序列化而分配额外的内存,可以节省用户终端的内存,可以尽可能地避免用户终端卡顿。
又一方面,同一计算机程序代码对应的特定的格式的序列化文件所占空间小于同一计算机程序代码对应的json格式的序列化文件所占空间,且特定的格式的序列化文件在网络上传输的速度更快,如此,在本申请中,可以节省网络资源以及后台服务端的存储资源等,以及可以提高在原生应用程序中动态更新页面的效率。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可选的,本发明实施例还提供了一种电子设备,包括:处理器,存储器,存储在存储器上并可在处理器上运行的计算机程序,该计算机程序被处理器执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
图8是本申请示出的一种电子设备800的框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图像,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收到的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播操作信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图9是本申请示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。
参照图9,电子设备1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理组件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述方法。
电子设备1900还可以包括一个电源组件1926被配置为执行电子设备1900的电源管理,一个有线或无线网络接口1950被配置为将电子设备1900连接到网络,和一个输入输出(I/O)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种数据处理方法,其特征在于,应用于开发终端,所述开发终端中部署有跨平台开发工具,所述方法包括:
获取开发人员基于跨平台开发工具开发的跨平台计算机程序代码,所述跨平台计算机程序代码包括用于在原生应用程序中的动态更新的页面的计算机程序代码;
使用特定的序列化工具对所述跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
向原生应用程序对应的后台服务端上传所述特定的格式的序列化文件,以使后台服务端在后台服务端中部署所述特定的格式的序列化文件;
其中,所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力;
特定的序列化工具包括FlatBuffers以及Protobuffer;
特定的格式不为json格式,特定的格式的序列化文件能够在网络中传输。
2.一种数据处理方法,其特征在于,应用于后台服务端,所述方法包括:
接收开发终端上传的动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的;
在后台服务端中部署所述特定的格式的序列化文件;
其中,所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力;
特定的序列化工具包括FlatBuffers以及Protobuffer;
特定的格式不为json格式,特定的格式的序列化文件能够在网络中传输。
3.根据权利要求2所述的方法,其特征在于,所述在后台服务端中部署所述特定的格式的序列化文件,包括:
在所述动态更新的页面包括用于在所述原生应用程序中添加的新页面的情况下,在后台服务端中缓存所述特定的格式的序列化文件;
或者,
在所述动态更新的页面用于替换所述原生应用程序中的旧页面的情况下,在后台服务端中使用所述特定的格式的序列化文件替换所述旧页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
4.一种数据处理方法,其特征在于,应用于用户终端,所述用户终端中部署有原生操作系统,所述用户终端中安装有原生应用程序,所述方法包括:
在需要在所述原生应用程序中显示动态更新的页面的情况下,向所述原生应用程序对应的后台服务端中发送下载请求;所述下载请求用于下载所述动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
接收所述后台服务端根据所述下载请求返回的所述特定的格式的序列化文件;所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在所述原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的并上传至所述后台服务端中以在所述后台服务端中部署的;所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力;
使用在所述原生应用程序部署的特定的序列化工具读取所述特定的格式的序列化文件中的数据,并将所述数据还原为所述跨平台计算机程序代码;
基于在所述原生应用程序中部署的跨平台开发工具对应的跨平台引擎,将所述跨平台计算机程序代码转换为原生计算机程序代码;
使用在所述用户终端的操作系统中部署的原生开发工具对应的原生引擎对所述原生计算机程序代码编译,得到动态更新的页面的二进制文件;
根据所述原生引擎以及动态更新的页面的二进制文件显示动态更新的页面;
特定的序列化工具包括FlatBuffers以及Protobuffer;
特定的格式不为json格式,特定的格式的序列化文件能够在网络中传输。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述动态更新的页面包括用于在所述原生应用程序中添加的新页面的情况下,在所述原生应用程序中缓存动态更新的页面的二进制文件;
或者,
在所述动态更新的页面用于替换所述原生应用程序中的旧页面的情况下,在所述原生应用程序中使用所述动态更新的页面的二进制文件替换所述旧页面的二进制文件。
6.一种数据处理方法,其特征在于,应用于后台服务端,所述方法包括:
接收用户终端发送的下载请求,所述下载请求是在用户终端在需要在原生应用程序中显示动态更新的页面的情况下发送的;所述下载请求用于下载所述动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
根据下载请求获取事先在所述后台服务端中部署的特定的格式的序列化文件,所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在所述原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的并上传至所述后台服务端中以在所述后台服务端中部署的;所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力;
向用户终端发送特定的格式的序列化文件;以使用户终端使用在所述原生应用程序部署的特定的序列化工具读取所述特定的格式的序列化文件中的数据,并将所述数据还原为所述跨平台计算机程序代码;基于在所述原生应用程序中部署的跨平台开发工具对应的跨平台引擎,将所述跨平台计算机程序代码转换为原生计算机程序代码;使用在所述用户终端的操作系统中部署的原生开发工具对应的原生引擎对所述原生计算机程序代码编译,得到动态更新的页面的二进制文件;根据所述原生引擎以及动态更新的页面的二进制文件显示动态更新的页面;
特定的序列化工具包括FlatBuffers以及Protobuffer;
特定的格式不为json格式,特定的格式的序列化文件能够在网络中传输。
7.一种数据处理装置,其特征在于,应用于开发终端,所述开发终端中部署有跨平台开发工具,所述装置包括:
第一获取模块,用于获取开发人员基于跨平台开发工具开发的跨平台计算机程序代码,所述跨平台计算机程序代码包括用于在原生应用程序中的动态更新的页面的计算机程序代码;
序列化模块,用于使用特定的序列化工具对所述跨平台计算机程序代码序列化,得到动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
上传模块,用于向原生应用程序对应的后台服务端上传所述特定的格式的序列化文件,以使后台服务端在后台服务端中部署所述特定的格式的序列化文件;
其中,所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力;
特定的序列化工具包括FlatBuffers以及Protobuffer;
特定的格式不为json格式,特定的格式的序列化文件能够在网络中传输。
8.一种数据处理装置,其特征在于,应用于后台服务端,所述装置包括:
第一接收模块,用于接收开发终端上传的动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的;
部署模块,用于在后台服务端中部署所述特定的格式的序列化文件;
其中,所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力;
特定的序列化工具包括FlatBuffers以及Protobuffer;
特定的格式不为json格式,特定的格式的序列化文件能够在网络中传输。
9.根据权利要求8所述的装置,其特征在于,所述部署模块包括:
缓存单元,用于在所述动态更新的页面包括用于在所述原生应用程序中添加的新页面的情况下,在后台服务端中缓存所述特定的格式的序列化文件;
或者,
替换单元,用于在所述动态更新的页面用于替换所述原生应用程序中的旧页面的情况下,在后台服务端中使用所述特定的格式的序列化文件替换所述旧页面的跨平台计算机程序代码对应的特定的格式的序列化文件。
10.一种数据处理装置,其特征在于,应用于用户终端,所述用户终端中部署有原生操作系统,所述用户终端中安装有原生应用程序,所述装置包括:
第一发送模块,用于在需要在所述原生应用程序中显示动态更新的页面的情况下,向所述原生应用程序对应的后台服务端中发送下载请求;所述下载请求用于下载所述动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
第二接收模块,用于接收所述后台服务端根据所述下载请求返回的所述特定的格式的序列化文件;所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在所述原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的并上传至所述后台服务端中以在所述后台服务端中部署的;所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力;
读取模块,用于使用在所述原生应用程序部署的特定的序列化工具读取所述特定的格式的序列化文件中的数据,并将所述数据还原为所述跨平台计算机程序代码;
转换模块,用于基于在所述原生应用程序中部署的跨平台开发工具对应的跨平台引擎,将所述跨平台计算机程序代码转换为原生计算机程序代码;
编译模块,用于使用在所述用户终端的操作系统中部署的原生开发工具对应的原生引擎对所述原生计算机程序代码编译,得到动态更新的页面的二进制文件;
显示模块,用于根据所述原生引擎以及动态更新的页面的二进制文件显示动态更新的页面;
特定的序列化工具包括FlatBuffers以及Protobuffer;
特定的格式不为json格式,特定的格式的序列化文件能够在网络中传输。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
缓存模块,用于在所述动态更新的页面包括用于在所述原生应用程序中添加的新页面的情况下,在所述原生应用程序中缓存动态更新的页面的二进制文件;
或者,
替换模块,用于在所述动态更新的页面用于替换所述原生应用程序中的旧页面的情况下,在所述原生应用程序中使用所述动态更新的页面的二进制文件替换所述旧页面的二进制文件。
12.一种数据处理装置,其特征在于,应用于后台服务端,所述装置包括:
第三接收模块,用于接收用户终端发送的下载请求,所述下载请求是在用户终端在需要在原生应用程序中显示动态更新的页面的情况下发送的;所述下载请求用于下载所述动态更新的页面的跨平台计算机程序代码对应的特定的格式的序列化文件;
第二获取模块,用于根据下载请求获取事先在所述后台服务端中部署的特定的格式的序列化文件,所述跨平台计算机程序代码是开发人员基于在开发终端中部署的跨平台开发工具开发的,所述跨平台计算机程序代码包括用于在所述原生应用程序中的动态更新的页面的计算机程序代码;所述特定的格式的序列化文件是所述开发终端使用特定的序列化工具对所述跨平台计算机程序代码序列化得到的并上传至所述后台服务端中以在所述后台服务端中部署的;所述原生应用程序中部署有所述特定的序列化工具,所述原生应用程序基于所述特定的序列化工具具有识别所述特定的格式的序列化文件中的各个数据的意义的能力;
第二发送模块,用于向用户终端发送特定的格式的序列化文件;以使用户终端使用在所述原生应用程序部署的特定的序列化工具读取所述特定的格式的序列化文件中的数据,并将所述数据还原为所述跨平台计算机程序代码;基于在所述原生应用程序中部署的跨平台开发工具对应的跨平台引擎,将所述跨平台计算机程序代码转换为原生计算机程序代码;使用在所述用户终端的操作系统中部署的原生开发工具对应的原生引擎对所述原生计算机程序代码编译,得到动态更新的页面的二进制文件;根据所述原生引擎以及动态更新的页面的二进制文件显示动态更新的页面;
特定的序列化工具包括FlatBuffers以及Protobuffer;
特定的格式不为json格式,特定的格式的序列化文件能够在网络中传输。
13.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210753981.1A CN115129325B (zh) | 2022-06-29 | 2022-06-29 | 一种数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210753981.1A CN115129325B (zh) | 2022-06-29 | 2022-06-29 | 一种数据处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115129325A CN115129325A (zh) | 2022-09-30 |
CN115129325B true CN115129325B (zh) | 2023-05-23 |
Family
ID=83381637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210753981.1A Active CN115129325B (zh) | 2022-06-29 | 2022-06-29 | 一种数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115129325B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104714830A (zh) * | 2015-04-03 | 2015-06-17 | 普元信息技术股份有限公司 | 基于原生开发语言实现跨平台应用开发的系统及方法 |
US9460198B1 (en) * | 2012-07-26 | 2016-10-04 | Google Inc. | Process for serializing and deserializing data described by a schema |
CN110597500A (zh) * | 2019-07-26 | 2019-12-20 | 北京柠檬微趣科技股份有限公司 | 消息结构的序列化和反序列化方法及装置 |
CN112130837A (zh) * | 2020-09-25 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 一种代码处理方法、装置及存储介质 |
CN112162755A (zh) * | 2020-09-28 | 2021-01-01 | 北京字节跳动网络技术有限公司 | 一种数据处理方法、装置、介质和电子设备 |
CN112468585A (zh) * | 2020-11-26 | 2021-03-09 | 五八同城信息技术有限公司 | 数据传输方法、装置、电子设备及存储介质 |
WO2022001209A1 (zh) * | 2020-06-30 | 2022-01-06 | 深圳前海微众银行股份有限公司 | 作业执行方法、装置、系统及计算机可读存储介质 |
CN113934554A (zh) * | 2021-10-18 | 2022-01-14 | 山西和脉互联网智慧中医产业技术研究院有限公司 | Rpc跨语言通信方法、装置、存储介质和电子设备 |
CN114356341A (zh) * | 2022-01-04 | 2022-04-15 | 腾讯科技(成都)有限公司 | 一种数据处理方法、装置、设备、存储介质及产品 |
CN114564509A (zh) * | 2020-11-27 | 2022-05-31 | Oppo广东移动通信有限公司 | 序列化方法、反序列化方法、设备、芯片以及介质 |
-
2022
- 2022-06-29 CN CN202210753981.1A patent/CN115129325B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9460198B1 (en) * | 2012-07-26 | 2016-10-04 | Google Inc. | Process for serializing and deserializing data described by a schema |
CN104714830A (zh) * | 2015-04-03 | 2015-06-17 | 普元信息技术股份有限公司 | 基于原生开发语言实现跨平台应用开发的系统及方法 |
CN110597500A (zh) * | 2019-07-26 | 2019-12-20 | 北京柠檬微趣科技股份有限公司 | 消息结构的序列化和反序列化方法及装置 |
WO2022001209A1 (zh) * | 2020-06-30 | 2022-01-06 | 深圳前海微众银行股份有限公司 | 作业执行方法、装置、系统及计算机可读存储介质 |
CN112130837A (zh) * | 2020-09-25 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 一种代码处理方法、装置及存储介质 |
CN112162755A (zh) * | 2020-09-28 | 2021-01-01 | 北京字节跳动网络技术有限公司 | 一种数据处理方法、装置、介质和电子设备 |
CN112468585A (zh) * | 2020-11-26 | 2021-03-09 | 五八同城信息技术有限公司 | 数据传输方法、装置、电子设备及存储介质 |
CN114564509A (zh) * | 2020-11-27 | 2022-05-31 | Oppo广东移动通信有限公司 | 序列化方法、反序列化方法、设备、芯片以及介质 |
CN113934554A (zh) * | 2021-10-18 | 2022-01-14 | 山西和脉互联网智慧中医产业技术研究院有限公司 | Rpc跨语言通信方法、装置、存储介质和电子设备 |
CN114356341A (zh) * | 2022-01-04 | 2022-04-15 | 腾讯科技(成都)有限公司 | 一种数据处理方法、装置、设备、存储介质及产品 |
Non-Patent Citations (2)
Title |
---|
OWL2Go: Auto-generation of Go data models for OWL ontologies with integrated serialization and deserialization functionality;Stefan Dähling 等;《SoftwareX》;第22卷;第1-9页 * |
基于Flutter的跨平台的工业移动应用软件设计;汪若彪 等;《仪表技术》(第2期);第1-3、70页 * |
Also Published As
Publication number | Publication date |
---|---|
CN115129325A (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109032606B (zh) | 原生应用程序的编译处理方法、装置及终端 | |
CN110990075B (zh) | 快应用的启动方法、装置、设备及存储介质 | |
CN112003893B (zh) | 一种资源下载方法和装置 | |
US20160019046A1 (en) | Light app offline updating method, device and terminal | |
CN107463372B (zh) | 一种数据驱动的页面更新方法和装置 | |
CN111767058A (zh) | 程序编译方法及装置、电子设备和存储介质 | |
CN114443051A (zh) | 应用程序编译和运行方法及装置、存储介质 | |
CN111913756B (zh) | 应用程序的优化方法、装置、系统、电子设备及存储介质 | |
CN111580824B (zh) | 程序优化方法、装置及存储介质 | |
CN115129325B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN114546436A (zh) | 一种微前端服务更新方法、装置、电子设备及存储介质 | |
CN111488267B (zh) | 一种接口测试脚本的生成方法、装置及电子设备 | |
CN110489679B (zh) | 一种浏览器内核的处理方法、装置及存储介质 | |
CN109413714B (zh) | 用户代理信息的处理方法、装置、存储介质及终端 | |
CN111597106A (zh) | 一种埋点管理方法及装置 | |
CN112181406A (zh) | 一种渲染引擎的共享方法和装置 | |
CN114416218B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN114020505B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN114528037B (zh) | 一种应用启动方法、装置、电子设备及存储介质 | |
CN113934452B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN111596949B (zh) | 一种开发应用程序的方法及装置 | |
CN107463414B (zh) | 应用安装方法及装置 | |
KR20100060799A (ko) | 휴대단말의 펌웨어 업데이트 방법 및 장치 | |
CN116126320A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN112825035A (zh) | 一种程序安装文件的生成、处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |