Movatterモバイル変換


[0]ホーム

URL:


CN111966396A - Data processing method and device, computer system and computer readable storage medium - Google Patents

Data processing method and device, computer system and computer readable storage medium
Download PDF

Info

Publication number
CN111966396A
CN111966396ACN201910423014.7ACN201910423014ACN111966396ACN 111966396 ACN111966396 ACN 111966396ACN 201910423014 ACN201910423014 ACN 201910423014ACN 111966396 ACN111966396 ACN 111966396A
Authority
CN
China
Prior art keywords
cross
platform
code
client
module
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.)
Pending
Application number
CN201910423014.7A
Other languages
Chinese (zh)
Inventor
熊文源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co LtdfiledCriticalBeijing Jingdong Century Trading Co Ltd
Priority to CN201910423014.7ApriorityCriticalpatent/CN111966396A/en
Publication of CN111966396ApublicationCriticalpatent/CN111966396A/en
Pendinglegal-statusCriticalCurrent

Links

Images

Classifications

Landscapes

Abstract

Translated fromChinese

本公开提供了一种数据处理方法,包括响应于创建操作,创建用于存储跨平台代码的跨平台代码仓库和用于存储客户端代码的客户端代码仓库,其中,上述跨平台代码是基于支持跨平台通讯的应用程序开发框架开发的;将跨平台代码仓库作为子模块嵌套在客户端代码仓库中,以使得将客户端代码与跨平台代码进行关联;以及响应于用于编译目标跨平台代码工程的的编译操作,调用跨平台代码仓库中的跨平台代码,生成目标跨平台代码。本公开还提供了一种数据处理装置、一种计算机系统和一种计算机可读存储介质。

Figure 201910423014

The present disclosure provides a data processing method, including creating a cross-platform code repository for storing cross-platform code and a client-side code repository for storing client code in response to a creation operation, wherein the cross-platform code is based on support Developed by an application development framework for cross-platform communication; nesting the cross-platform code repository as a submodule in the client-side code repository so as to associate the client-side code with the cross-platform code; and in response to a target cross-platform for compiling The compilation operation of the code project calls the cross-platform code in the cross-platform code repository to generate the target cross-platform code. The present disclosure also provides a data processing apparatus, a computer system, and a computer-readable storage medium.

Figure 201910423014

Description

Translated fromChinese
数据处理方法及装置、计算机系统和计算机可读存储介质Data processing method and apparatus, computer system and computer-readable storage medium

技术领域technical field

本公开涉及计算机技术领域,更具体地,涉及一种数据处理方法、一种数据处理装置、一种计算机系统和一种计算机可读存储介质。The present disclosure relates to the field of computer technology, and more particularly, to a data processing method, a data processing apparatus, a computer system, and a computer-readable storage medium.

背景技术Background technique

目前,跨平台开发解决方案越来越多,包括基于h5/weex/reactnative的平台。目前又有了一个跨平台性能相对较优的解决方案flutter,该方案基于Dart语言设计,支持JIT和AOT模式,Dart采用预编译的方式编译成多个平台的原生代码,允许Flutter可以直接与平台通讯,同时使用SKia图形引擎完成图像界面的绘制,完全独立于平台系统,不依赖原生,可以较好的做到一套代码运行在android/IOS等平台。Currently, there are more and more cross-platform development solutions, including platforms based on h5/weex/reactnative. At present, there is another solution with relatively good cross-platform performance, flutter. This solution is based on Dart language design and supports JIT and AOT modes. Dart is compiled into native code for multiple platforms in a pre-compiled way, allowing Flutter to directly interact with the platform. At the same time, the SKia graphics engine is used to complete the drawing of the image interface, which is completely independent of the platform system and does not depend on the native.

发明人发现,在通过不同的解决方案编译好代码后,一般基于h5/weex/reactnative的解决方案,集成在底层引擎,需要打包代码到客户端,可以解决编译集成的问题。因为这些平台跨平台的特性是在运行过程中可以解析语法,有独立的运行环境,对原生平台依赖不大。而跨平台代码(例如,flutter代码)需要编译成原生代码,并且需要在编译期就完成转换,所以对原生客户端的编译有依赖。The inventor found that after compiling the code through different solutions, the solution based on h5/weex/reactnative is generally integrated in the underlying engine, and the code needs to be packaged to the client, which can solve the problem of compilation and integration. Because the cross-platform feature of these platforms is that they can parse the grammar during operation, have an independent operating environment, and have little dependence on the native platform. Cross-platform code (for example, flutter code) needs to be compiled into native code, and the conversion needs to be completed at compile time, so it depends on native client compilation.

然而,跨平台代码的编译是需要很庞大复杂的编译环境的,对于较为复杂的客户端,很多开发人员可能并不会涉及跨平台代码开发(例如flutter开发),导致这些开发人员需要大量的配置环境,浪费太多人力成本和时间成本。However, the compilation of cross-platform code requires a very large and complex compilation environment. For more complex clients, many developers may not involve cross-platform code development (such as flutter development), resulting in these developers needing a lot of configuration. environment, waste too much labor cost and time cost.

在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:基于跨平台代码解决方案开发代码时需要将跨平台代码混合到原生代码中,使得参与工程开发的开发者都需要配置完整的跨平台运行环境,导致不利于开发,影响打包调试效率。In the process of realizing the concept of the present disclosure, the inventor found that there are at least the following problems in the related art: when developing code based on the cross-platform code solution, the cross-platform code needs to be mixed into the native code, so that the developers involved in the project development all need to configure The complete cross-platform operating environment is not conducive to development and affects the efficiency of packaging and debugging.

发明内容SUMMARY OF THE INVENTION

有鉴于此,本公开提供了一种数据处理方法、一种数据处理装置、一种计算机系统和一种计算机可读存储介质。In view of this, the present disclosure provides a data processing method, a data processing apparatus, a computer system, and a computer-readable storage medium.

本公开的一个方面提供了一种数据处理方法,包括响应于创建操作,创建用于存储跨平台代码的跨平台代码仓库和用于存储客户端代码的客户端代码仓库,其中,上述跨平台代码是基于支持跨平台通讯的应用程序开发框架开发的;将上述跨平台代码仓库作为子模块嵌套在上述客户端代码仓库中,以使得将上述客户端代码与上述跨平台代码进行关联;以及响应于用于编译目标跨平台代码工程的的编译操作,调用上述跨平台代码仓库中的跨平台代码,生成目标跨平台代码。One aspect of the present disclosure provides a data processing method, including creating a cross-platform code repository for storing cross-platform code and a client-side code repository for storing client code in response to a creation operation, wherein the above-mentioned cross-platform code It is developed based on an application development framework that supports cross-platform communication; the above-mentioned cross-platform code warehouse is embedded as a sub-module in the above-mentioned client code warehouse, so that the above-mentioned client code is associated with the above-mentioned cross-platform code; and response For the compilation operation used to compile the target cross-platform code project, the cross-platform code in the above-mentioned cross-platform code repository is called to generate the target cross-platform code.

根据本公开的实施例,数据处理方法还包括在响应于用于编译目标跨平台代码工程的的编译操作之前,获取编译开关的状态信息;在上述编译开关的状态信息为打开的情况下,配置跨平台编译环境;以及在配置完上述跨平台编译环境之后,获取上述编译操作。According to an embodiment of the present disclosure, the data processing method further includes, before responding to a compiling operation for compiling a target cross-platform code project, obtaining state information of a compile switch; in the case that the state information of the above compile switch is on, configuring cross-platform compilation environment; and after configuring the above-mentioned cross-platform compilation environment, obtain the above-mentioned compilation operation.

根据本公开的实施例,数据处理方法还包括在生成上述目标跨平台代码之后,将上述目标跨平台代码转换为二进制文件;以及向云端传输上述二进制文件。According to an embodiment of the present disclosure, the data processing method further includes converting the target cross-platform code into a binary file after generating the target cross-platform code; and transmitting the binary file to the cloud.

根据本公开的实施例,数据处理方法还包括在向云端传输上述二进制文件之前,将上述二进制文件与对应的版本信息进行关联,以使得在客户端本地基于上述二进制文件的版本信息从上述云端获取上述二进制文件。According to an embodiment of the present disclosure, the data processing method further includes associating the binary file with corresponding version information before transmitting the binary file to the cloud, so that the client locally obtains the binary file from the cloud based on the version information of the binary file The above binaries.

根据本公开的实施例,数据处理方法还包括在生成上述目标跨平台代码之后,关闭上述编译开关;以及在上述客户端本地基于上述二进制文件的版本信息从上述云端获取上述二进制文件。According to an embodiment of the present disclosure, the data processing method further includes turning off the compilation switch after generating the target cross-platform code; and obtaining the binary file from the cloud based on the version information of the binary file locally on the client side.

本公开的另一个方面提供了一种数据处理装置,包括第一响应模块,用于响应创建操作,创建用于存储跨平台代码的跨平台代码仓库和用于存储客户端代码的客户端代码仓库,其中,上述跨平台代码是基于支持跨平台通讯的应用程序开发框架开发的;第一关联模块,用于将上述跨平台代码仓库作为子模块嵌套在上述客户端代码仓库中,以使得将客户端代码与跨平台代码进行关联;以及第二响应模块,用于响应用于编译目标跨平台代码工程的的编译操作,调用上述跨平台代码仓库中的跨平台代码,生成目标跨平台代码。Another aspect of the present disclosure provides a data processing apparatus, including a first response module for responding to a creation operation, creating a cross-platform code repository for storing cross-platform codes and a client code repository for storing client codes , wherein the above-mentioned cross-platform code is developed based on an application development framework that supports cross-platform communication; the first association module is used to nest the above-mentioned cross-platform code warehouse as a sub-module in the above-mentioned client code warehouse, so that the The client code is associated with the cross-platform code; and the second response module is used to respond to the compilation operation for compiling the target cross-platform code project, and call the cross-platform code in the above-mentioned cross-platform code repository to generate the target cross-platform code.

根据本公开的实施例,数据处理装置还包括第一获取模块,用于在响应于用于编译目标跨平台代码工程的的编译操作之前,获取编译开关的状态信息;配置模块,用于在上述编译开关的状态信息为打开的情况下,配置跨平台编译环境;以及第二获取模块,用于在配置完上述跨平台编译环境之后,获取上述编译操作。According to an embodiment of the present disclosure, the data processing apparatus further includes a first acquisition module for acquiring the state information of the compilation switch before responding to the compilation operation for compiling the target cross-platform code project; a configuration module for acquiring the state information of the compilation switch in the above-mentioned When the state information of the compilation switch is ON, a cross-platform compilation environment is configured; and a second acquisition module is used for acquiring the above-mentioned compilation operation after the above-mentioned cross-platform compilation environment is configured.

根据本公开的实施例,数据处理装置还包括转换模块,用于在生成上述目标跨平台代码之后,将上述目标跨平台代码转换为二进制文件;以及传输模块,用于向云端传输上述二进制文件。According to an embodiment of the present disclosure, the data processing apparatus further includes a conversion module for converting the target cross-platform code into a binary file after the target cross-platform code is generated; and a transmission module for transmitting the binary file to the cloud.

根据本公开的实施例,数据处理装置还包括第二关联模块,用于在向云端传输上述二进制文件之前,将上述二进制文件与对应的版本信息进行关联,以使得在客户端本地基于上述二进制文件的版本信息从上述云端获取上述二进制文件。According to an embodiment of the present disclosure, the data processing apparatus further includes a second association module, configured to associate the binary file with the corresponding version information before transmitting the binary file to the cloud, so that the client locally based on the binary file The version information for the above binaries is obtained from the above cloud.

根据本公开的实施例,数据处理装置还包括控制模块,用于在生成上述目标跨平台代码之后,关闭上述编译开关;以及第三获取模块,用于在上述客户端本地基于上述二进制文件的版本信息从上述云端获取上述二进制文件。According to an embodiment of the present disclosure, the data processing apparatus further includes a control module for turning off the compilation switch after generating the target cross-platform code; and a third acquisition module for locally based on the version of the binary file in the client The information is obtained from the above-mentioned binaries from the above-mentioned cloud.

本公开的另一个方面提供了一种计算机系统,包括一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上上述的数据处理方法。Another aspect of the present disclosure provides a computer system including one or more processors; a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors When the above-mentioned one or more processors are made to implement the above-mentioned data processing method.

本公开的另一个方面提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现如上所述的数据处理方法。Another aspect of the present disclosure provides a computer-readable storage medium having executable instructions stored thereon, the instructions, when executed by a processor, cause the processor to implement the data processing method as described above.

本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。Another aspect of the present disclosure provides a computer program comprising computer-executable instructions, which when executed, are used to implement the method as described above.

根据本公开的实施例,可以基于现有的原生客户端的架构,将跨平台代码工程以子模块的方式嵌入到原生客户端中,所以至少部分地克服了跨平台代码开发者开发/调试/发布工作,而不影响原生客户端开发的技术问题,进而达到了简化开发架构的技术效果。According to the embodiments of the present disclosure, based on the existing native client architecture, cross-platform code engineering can be embedded into the native client in the form of sub-modules, so at least part of the problem can be overcome in cross-platform code developers developing/debugging/publishing Work without affecting the technical issues of native client development, thereby achieving the technical effect of simplifying the development architecture.

附图说明Description of drawings

通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:The above and other objects, features and advantages of the present disclosure will become more apparent from the following description of embodiments of the present disclosure with reference to the accompanying drawings, in which:

图1示意性示出了根据本公开实施例的可以应用数据处理方法及装置的示例性系统架构;FIG. 1 schematically shows an exemplary system architecture to which a data processing method and apparatus can be applied according to an embodiment of the present disclosure;

图2示意性示出了根据本公开实施例的数据处理方法的流程图;FIG. 2 schematically shows a flowchart of a data processing method according to an embodiment of the present disclosure;

图3示意性示出了根据本公开另一实施例的数据处理方法的流程图;FIG. 3 schematically shows a flowchart of a data processing method according to another embodiment of the present disclosure;

图4示意性示出了根据本公开另一实施例的数据处理方法的流程图;FIG. 4 schematically shows a flowchart of a data processing method according to another embodiment of the present disclosure;

图5示意性示出了根据本公开另一实施例的数据处理方法的流程图;FIG. 5 schematically shows a flowchart of a data processing method according to another embodiment of the present disclosure;

图6示意性示出了根据本公开实施例的数据处理装置的框图;以及FIG. 6 schematically shows a block diagram of a data processing apparatus according to an embodiment of the present disclosure; and

图7示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。Figure 7 schematically shows a block diagram of a computer system suitable for implementing the methods described above, according to an embodiment of the present disclosure.

具体实施方式Detailed ways

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood, however, that these descriptions are exemplary only, and are not intended to limit the scope of the present disclosure. In the following detailed description, for convenience of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the present disclosure. It will be apparent, however, that one or more embodiments may be practiced without these specific details. Also, in the following description, descriptions of well-known structures and techniques are omitted to avoid unnecessarily obscuring the concepts of the present disclosure.

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the present disclosure. The terms "comprising", "comprising" and the like as used herein indicate the presence of stated features, steps, operations and/or components, but do not preclude the presence or addition of one or more other features, steps, operations or components.

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。All terms (including technical and scientific terms) used herein have the meaning as commonly understood by one of ordinary skill in the art, unless otherwise defined. It should be noted that terms used herein should be construed to have meanings consistent with the context of the present specification and should not be construed in an idealized or overly rigid manner.

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。Where expressions like "at least one of A, B, and C, etc.," are used, they should generally be interpreted in accordance with the meaning of the expression as commonly understood by those skilled in the art (eg, "has A, B, and C") At least one of the "systems" shall include, but not be limited to, systems with A alone, B alone, C alone, A and B, A and C, B and C, and/or A, B, C, etc. ). Where expressions like "at least one of A, B, or C, etc.," are used, they should generally be interpreted in accordance with the meaning of the expression as commonly understood by those skilled in the art (eg, "has A, B, or C, etc." At least one of the "systems" shall include, but not be limited to, systems with A alone, B alone, C alone, A and B, A and C, B and C, and/or A, B, C, etc. ).

本公开的实施例提供了一种数据处理方法,包括响应于创建操作,创建用于存储跨平台代码的跨平台代码仓库和用于存储客户端代码的客户端代码仓库,其中,上述跨平台代码是基于支持跨平台通讯的应用程序开发框架开发的;将跨平台代码仓库作为子模块嵌套在客户端代码仓库中,以使得将客户端代码与跨平台代码进行关联;以及响应于用于编译目标跨平台代码工程的的编译操作,调用跨平台代码仓库中的跨平台代码,生成目标跨平台代码。Embodiments of the present disclosure provide a data processing method, including creating a cross-platform code repository for storing cross-platform code and a client-side code repository for storing client code in response to a creation operation, wherein the above-mentioned cross-platform code is developed based on an application development framework that supports cross-platform communication; nests the cross-platform code repository as a submodule in the client-side code repository to associate client-side code with cross-platform code; The compilation operation of the target cross-platform code project calls the cross-platform code in the cross-platform code repository to generate the target cross-platform code.

在相关技术中,无法做到跨平台代码的单独开发,需要混合到原生客户端开发,例如,跨平台代码为flutter代码,这样的问题是所有开发者必须配置完整的flutter运行环境。但对于复杂的客户端,项目中的部分开发人员可能不会涉及flutter开发,导致这些用户需要大量的配置环境,浪费太多人力,不利于开发,影响打包调试效率。In related technologies, the independent development of cross-platform code cannot be achieved, and it needs to be mixed into the native client development. For example, the cross-platform code is flutter code. The problem is that all developers must configure a complete flutter operating environment. However, for complex clients, some developers in the project may not be involved in flutter development. As a result, these users need a lot of configuration environments, waste too much manpower, which is not conducive to development and affects the efficiency of packaging and debugging.

本公开实施例可以解决flutter开发者开发/调试/发布工作,而不影响原生客户端开发的问题,从而简化开发架构。本公开可以基于现有的原生客户端的架构,将跨平台代码工程以子模块的方式嵌入到原生客户端中。可选地,例如,跨平台代码为flutter代码,可以配置编译开关,运行开发者不需要配置flutter环境,直接运行云端maven的flutter二进制代码,flutter开发者可以打开编译开关,运行跨平台代码工程中的代码。The embodiments of the present disclosure can solve the development/debug/release work of flutter developers without affecting the development of native clients, thereby simplifying the development architecture. The present disclosure can embed cross-platform code engineering into the native client in the form of sub-modules based on the existing native client architecture. Optionally, for example, if the cross-platform code is flutter code, the compile switch can be configured, and the developer does not need to configure the flutter environment to run the flutter binary code of the cloud maven directly. The flutter developer can turn on the compile switch and run the cross-platform code in the project. code.

图1示意性示出了根据本公开实施例的可以应用数据处理方法及装置的示例性系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。FIG. 1 schematically shows an exemplary system architecture to which a data processing method and apparatus according to an embodiment of the present disclosure can be applied. It should be noted that FIG. 1 is only an example of a system architecture to which the embodiments of the present disclosure can be applied, so as to help those skilled in the art to understand the technical content of the present disclosure, but it does not mean that the embodiments of the present disclosure cannot be used for other A device, system, environment or scene.

以跨平台代码为flutter代码为例,根据该实施例的系统架构可以基于代码仓库git的子模块sub moulde/ci/jenkin/maven来共同管理维护flutter代码工程,如此可以使得发布/调试/打包flutter代码更加简单。Taking the cross-platform code as the flutter code as an example, the system architecture according to this embodiment can jointly manage and maintain the flutter code project based on the sub-module sub moulde/ci/jenkin/maven of the code warehouse git, so that the release/debug/package of the flutter can be made The code is simpler.

如图1所示,flutter代码工程可以以子工程嵌套在主工程代码仓库中。在打开flutter编译开关之后,可以直接编译flutter子工程,在编译完成所有的flutter子工程之后,通过ci/jenkin发布flutter编译的二进制文件aar到云端maven。在关闭flutter编译开关之后,可以在客户端直接向云端拉取二进制文件aar。As shown in Figure 1, the flutter code project can be nested in the main project code repository as sub-projects. After turning on the flutter compilation switch, you can directly compile the flutter sub-projects. After compiling all the flutter sub-projects, release the flutter-compiled binary file aar to the cloud maven through ci/jenkin. After the flutter compilation switch is turned off, the binary file aar can be pulled directly from the cloud on the client side.

具体地,根据本公开的实施例,主工程代码仓库可以是客户端代码仓库,flutter代码工程可以存储在flutter代码仓库中,flutter代码仓库即为跨平台代码仓库,然后以子工程嵌套在主工程代码仓库中,即以子模块工程嵌套在客户端代码仓库中。Specifically, according to the embodiment of the present disclosure, the main project code warehouse may be the client code warehouse, the flutter code project may be stored in the flutter code warehouse, and the flutter code warehouse is the cross-platform code warehouse, and then sub-projects are nested in the main project. In the project code warehouse, that is, the sub-module project is nested in the client code warehouse.

根据本公开的实施例,可以利用模块化的管理方式创建独立的代码管理仓库,创建的代码管理仓库可以用于flutter的开发,配置flutter编译脚本,做到分离开发,分离调试,最终flutter代码以maven方式发布。其中,maven方式是指android端库的发布方式,将独立编译出来的jar/aar文件,用版本号区分不同的版,发布到云端,在android客户端,只需要加入该云端和版本的依赖,就能编译到客户端应用中。According to the embodiments of the present disclosure, an independent code management warehouse can be created by using a modular management method, and the created code management warehouse can be used for flutter development, and the flutter compilation script can be configured to separate development and debugging. Published by maven. Among them, the maven method refers to the release method of the android-side library. The independently compiled jar/aar files are distinguished from different versions by the version number and released to the cloud. In the android client, only the dependencies of the cloud and the version need to be added. can be compiled into the client application.

根据本公开的实施例,将flutter代码的发布放到服务端的jenkin/ci工具,而且编译过程是不依赖客户端代码的,可以精确控制版本和分支,减少了和客户端代码一起发布的风险,并通过maven发布,同样可以支持hot fix flutter的代码。According to the embodiments of the present disclosure, the release of the flutter code is placed on the jenkin/ci tool on the server side, and the compilation process does not depend on the client code, the version and branch can be precisely controlled, and the risk of releasing together with the client code is reduced, And released through maven, it can also support the code of hot fix flutter.

根据本公开的实施例,在需要获取flutter代码时,可以直接从云端拉取二进制文件aar,而无需每个开发人员都配置flutter环境,简化了开发架构。According to the embodiments of the present disclosure, when the flutter code needs to be obtained, the binary file aar can be directly pulled from the cloud without requiring each developer to configure the flutter environment, which simplifies the development architecture.

图2示意性示出了根据本公开实施例的数据处理方法的流程图。FIG. 2 schematically shows a flowchart of a data processing method according to an embodiment of the present disclosure.

如图2所示,该方法包括操作S201~S203。As shown in FIG. 2, the method includes operations S201-S203.

在操作S201,响应于创建操作,创建用于存储跨平台代码的跨平台代码仓库和用于存储客户端代码的客户端代码仓库,其中,跨平台代码是基于支持跨平台通讯的应用程序开发框架开发的。In operation S201, in response to the creation operation, a cross-platform code repository for storing cross-platform code and a client-side code repository for storing client code are created, wherein the cross-platform code is based on an application development framework supporting cross-platform communication developing.

根据本公开的实施例,以跨平台代码为flutter代码为例,用户可以使用终端设备在本地创建用于存储flutter代码的flutter代码仓库和用于存储客户端代码的客户端代码仓库。According to an embodiment of the present disclosure, taking the cross-platform code as flutter code as an example, a user can use a terminal device to locally create a flutter code repository for storing flutter code and a client code repository for storing client code.

根据本公开的实施例,可以分开创建flutter代码仓库和客户端代码仓库,并且创建顺序不做限定。例如,可以是先创建客户端代码仓库,再创建flutter代码仓库,或者同时创建flutter代码仓库和客户端代码仓库。According to the embodiments of the present disclosure, the flutter code repository and the client code repository can be created separately, and the creation order is not limited. For example, you can create a client code repository first, and then create a flutter code repository, or create a flutter code repository and a client code repository at the same time.

根据本公开的实施例,也可以在已有的客户端代码下,使用命令flutter create-t module my_flutter。该命令是flutter sdk提供的功能,这样就可以在工程下生成一个my_flutter的目录,可以将这个目录单独拷贝到独立目录下,并放到新的git代码仓库。According to the embodiment of the present disclosure, the command flutter create-t module my_flutter can also be used under the existing client code. This command is a function provided by flutter sdk, so that a my_flutter directory can be generated under the project, and this directory can be copied to a separate directory and placed in a new git code repository.

在操作S202,将跨平台代码仓库作为子模块嵌套在客户端代码仓库中,以使得将客户端代码与跨平台代码进行关联。In operation S202, the cross-platform code repository is nested in the client code repository as a sub-module, so that the client code and the cross-platform code are associated.

根据本公开的实施例,以跨平台代码为flutter代码为例,将原有的客户端代码仓库和my_flutter的代码仓库以sub module(即子模块)的方式管理,即父代码仓库中包含flutter子代码仓库,或者直接将flutter代码仓库与客户端代码仓库关联起来,做到同步客户端代码,同时也能同步my_flutter的仓库代码。进一步地,可以指定my_flutter的分支,为flutter单独开发做准备。According to an embodiment of the present disclosure, taking the cross-platform code as flutter code as an example, the original client code warehouse and the code warehouse of my_flutter are managed in the form of sub modules (ie sub modules), that is, the parent code warehouse contains flutter sub-modules. code warehouse, or directly associate the flutter code warehouse with the client code warehouse, so as to synchronize the client code and the warehouse code of my_flutter. Further, you can specify the branch of my_flutter to prepare for separate development of flutter.

在操作S203,响应于用于编译目标跨平台代码工程的的编译操作,调用跨平台代码仓库中的跨平台代码,生成目标跨平台代码。In operation S203, in response to the compilation operation for compiling the target cross-platform code project, the cross-platform code in the cross-platform code repository is called to generate the target cross-platform code.

根据本公开的实施例,以跨平台代码为flutter代码为例,可以基于现有的原生客户端的架构,将flutter代码工程以子模块的方式嵌入到原生客户端中,可以解决flutter开发者开发/调试/发布工作,而不影响原生客户端开发的问题,从而简化开发架构。According to the embodiments of the present disclosure, taking the cross-platform code as the flutter code as an example, the flutter code project can be embedded in the native client in the form of sub-modules based on the existing native client architecture, which can solve the problem of developing/developing/developing the flutter developer. Debug/release work without affecting native client development issues, simplifying development architecture.

下面参考图3~图5,结合具体实施例对图2所示的方法做进一步说明。The method shown in FIG. 2 will be further described below with reference to FIG. 3 to FIG. 5 in conjunction with specific embodiments.

图3示意性示出了根据本公开另一实施例的数据处理方法的流程图。FIG. 3 schematically shows a flowchart of a data processing method according to another embodiment of the present disclosure.

如图3所示,该方法包括操作S301~S303。As shown in FIG. 3 , the method includes operations S301 to S303.

在操作S301,在响应于用于编译目标跨平台代码工程的的编译操作之前,获取编译开关的状态信息。In operation S301, before responding to the compilation operation for compiling the target cross-platform code project, state information of the compilation switch is acquired.

在操作S302,在编译开关的状态信息为打开的情况下,配置跨平台编译环境。In operation S302, if the state information of the compilation switch is ON, configure a cross-platform compilation environment.

在操作S303,在配置完跨平台编译环境之后,获取编译操作。In operation S303, after the cross-platform compilation environment is configured, a compilation operation is acquired.

根据本公开的实施例,以跨平台代码为flutter代码为例,可以在loacl.pro中设置新的环境变量,flutter.debug(即编译开关)默认情况下为fase,在需要进行flutter开发的开发者可以打开flutter.debug。According to the embodiment of the present disclosure, taking the cross-platform code as the flutter code as an example, a new environment variable can be set in loacl.pro, and flutter.debug (that is, the compilation switch) is false by default. You can open flutter.debug.

根据本公开的实施例,在创建好模块moudle之后,为了在打开flutter.debug环境下能做到动态编译flutter代码到客户端,需要挂载这个模块moudle到客户端编译系统中,配置fluttre sdk,并在工程中加入,该代码在打开flutter.debug环境下就编译创建好的flutter子模块目录代码到客户端中。而在非调试模式下,会直接在云端拉取最新的编译好的代码。According to the embodiment of the present disclosure, after the module moudle is created, in order to dynamically compile the flutter code to the client when the flutter.debug environment is opened, it is necessary to mount the module moudle to the client compilation system, and configure the flutter sdk, And add it to the project. The code compiles the created flutter submodule directory code to the client when the flutter.debug environment is opened. In non-debugging mode, the latest compiled code will be pulled directly from the cloud.

根据本公开的实施例,通过local.properties的flutter.debug编译开关可以区分非flutter开发者和flutter开发者,从而可以减少非flutter开发者的环境配置的麻烦。According to the embodiments of the present disclosure, non-flutter developers and flutter developers can be distinguished through the flutter.debug compilation switch of local.properties, thereby reducing the trouble of environment configuration for non-flutter developers.

根据本公开的实施例,在打开flutter.debug模式下,客户端release包支持打包release的flutter.aot包,方便调试性能。According to the embodiment of the present disclosure, when the flutter.debug mode is turned on, the client release package supports packaging the released flutter.aot package, which is convenient for debugging performance.

根据本公开的实施例,以跨平台代码为flutter代码为例,在打开flutter.debug模式下,运行的是本地submodule(即子模块)下的flutter代码,解决了flutter中因为框架的改动而不能hot reload的问题。According to the embodiment of the present disclosure, taking the cross-platform code as the flutter code as an example, when the flutter.debug mode is turned on, the flutter code in the local submodule (ie the submodule) is run, which solves the problem that the flutter cannot fail due to changes in the framework. problem with hot reload.

根据本公开的实施例,为了让不参与flutter开发的开发者减少对flutter的依赖,需要加上如下依赖,即flutter module单独编译后生成aar库,最终发布到maven,并作版本控制。According to the embodiments of the present disclosure, in order to reduce the dependence on flutter for developers who do not participate in flutter development, the following dependencies need to be added, that is, the flutter module is compiled independently to generate an aar library, which is finally released to maven and version controlled.

if(!flutter.debug){if(!flutter.debug){

compile′com.your.company:my-flutter:flutter-r1′compile' com.your.company:my-flutter:flutter-r1'

}。}.

图4示意性示出了根据本公开另一实施例的数据处理方法的流程图。FIG. 4 schematically shows a flowchart of a data processing method according to another embodiment of the present disclosure.

如图4所示,该方法包括操作S401~S402。As shown in FIG. 4 , the method includes operations S401-S402.

在操作S401,在生成目标跨平台代码之后,将目标跨平台代码转换为二进制文件。In operation S401, after the target cross-platform code is generated, the target cross-platform code is converted into a binary file.

在操作S402,向云端传输二进制文件。In operation S402, the binary file is transmitted to the cloud.

根据本公开的实施例,在向云端传输二进制文件之前,将二进制文件与对应的版本信息进行关联,以使得在客户端本地基于二进制文件的版本信息从云端获取二进制文件。According to an embodiment of the present disclosure, before transferring the binary file to the cloud, the binary file is associated with corresponding version information, so that the client locally obtains the binary file from the cloud based on the version information of the binary file.

根据本公开的实施例,可以打包my_flutter下的业务代码,用于最终发布用。打包前需要在云端建立Ci/jenkin平台,在云端的服务器上配置好flutter sdk运行环境。由于my_flutter是个完整的工程目录,可以直接用gradle的方式编译生成aar,而且不依赖客户端工程代码,所以云端要编写完成的编译gradle的脚本,并通过maven工具,发布到maven上,以完成jenkin任务的部署。因为打包的代码最终是aar,同时也可以生成auru插件,所以可以完整的支持flutter代码的热修复。According to the embodiments of the present disclosure, the business code under my_flutter can be packaged for final release. Before packaging, you need to establish a Ci/jenkin platform in the cloud, and configure the flutter sdk running environment on the server in the cloud. Since my_flutter is a complete project directory, it can be compiled directly with gradle to generate aar, and does not depend on the client project code, so the cloud needs to write the completed gradle compilation script, and publish it to maven through the maven tool to complete jenkin Deployment of tasks. Because the packaged code is finally aar, and the auru plugin can also be generated, it can fully support the hot repair of flutter code.

图5示意性示出了根据本公开另一实施例的数据处理方法的流程图。FIG. 5 schematically shows a flowchart of a data processing method according to another embodiment of the present disclosure.

如图5所示,该方法包括操作S501~S502。As shown in FIG. 5, the method includes operations S501-S502.

在操作S501,在生成目标跨平台代码之后,关闭编译开关。In operation S501, after the target cross-platform code is generated, the compile switch is turned off.

在操作S502,在客户端本地基于二进制文件的版本信息从云端获取二进制文件。In operation S502, the client locally obtains the binary file from the cloud based on the version information of the binary file.

根据本公开的实施例,以跨平台代码为flutter代码为例,在关闭flutter.debug模式下,客户端本地可以直接运行maven云端正式发布的flutter包,无需配置flutter环境。According to the embodiment of the present disclosure, taking the cross-platform code as the flutter code as an example, when the flutter.debug mode is turned off, the client can directly run the flutter package officially released by the maven cloud locally without configuring the flutter environment.

根据本公开的实施例,可以将flutter代码开发和原生客户端代码开发进行分离,flutter开发者可以使用flutter.debug模式,配置flutter开发环境,在进行整个客户端的编译过程中,调用子模块的flutter代码进行编译,并将生成的二进制文件打包到客户端应用中。According to the embodiments of the present disclosure, flutter code development and native client code development can be separated, and flutter developers can use flutter.debug mode to configure the flutter development environment, and call the flutter of the sub-module during the entire client-side compilation process. The code is compiled and the resulting binary is packaged into the client app.

而非flutter开发人员可以使用flutter.debug开关关闭flutter开发模式,直接调用云端已经编译好的flutter代码到客户端应用中,因为是云端编译好的二进制代码,所以不涉及flutterd编译问题,不需要flutter的环境编译配置。对这些开发者而言,这些flutter的代码和普通的android平台的jar/aar文件使用一样,因flutter只能单例运行,使用flutter.debug开关同样解决了该问题。Non-flutter developers can use the flutter.debug switch to turn off the flutter development mode, and directly call the cloud-compiled flutter code to the client application. Because it is the cloud-compiled binary code, it does not involve flutterd compilation issues, and flutter is not required. environment build configuration. For these developers, the code of these flutters is the same as the jar/aar files of the common android platform. Because flutter can only run as a single instance, using the flutter.debug switch also solves the problem.

图6示意性示出了根据本公开实施例的数据处理装置的框图。FIG. 6 schematically shows a block diagram of a data processing apparatus according to an embodiment of the present disclosure.

如图6所示,数据处理装置600包括第一响应模块601、第一关联模块602和第二响应模块603。As shown in FIG. 6 , thedata processing apparatus 600 includes afirst response module 601 , afirst association module 602 and asecond response module 603 .

第一响应模块601用于响应创建操作,创建用于存储跨平台代码的跨平台代码仓库和用于存储客户端代码的客户端代码仓库,其中,跨平台代码是基于支持跨平台通讯的应用程序开发框架开发的。Thefirst response module 601 is used to respond to the creation operation, and create a cross-platform code repository for storing cross-platform codes and a client-side code repository for storing client codes, wherein the cross-platform code is based on an application program that supports cross-platform communication Developed by the development framework.

第一关联模块602用于将跨平台代码仓库作为子模块嵌套在客户端代码仓库中,以使得将客户端代码与跨平台代码进行关联。Thefirst association module 602 is configured to nest the cross-platform code repository as a sub-module in the client-side code repository, so as to associate the client-side code with the cross-platform code.

第二响应模块603用于响应用于编译目标跨平台代码工程的的编译操作,调用跨平台代码仓库中的跨平台代码,生成目标跨平台代码。Thesecond response module 603 is configured to respond to the compilation operation for compiling the target cross-platform code project, call the cross-platform code in the cross-platform code repository, and generate the target cross-platform code.

根据本公开的实施例,可以基于现有的原生客户端的架构,将跨平台代码工程以子模块的方式嵌入到原生客户端中,可以解决跨平台代码开发者开发/调试/发布工作,而不影响原生客户端开发的问题,从而简化开发架构。According to the embodiments of the present disclosure, based on the existing native client architecture, cross-platform code engineering can be embedded in the native client in the form of sub-modules, which can solve the development/debugging/release work of cross-platform code developers without Issues affecting native client development, thereby simplifying the development architecture.

根据本公开的实施例,数据处理装置600还包括第一获取模块、配置模块和第二获取模块。According to an embodiment of the present disclosure, thedata processing apparatus 600 further includes a first acquisition module, a configuration module, and a second acquisition module.

第一获取模块用于在响应于用于编译目标跨平台代码工程的的编译操作之前,获取编译开关的状态信息。The first obtaining module is used to obtain the state information of the compilation switch before responding to the compilation operation for compiling the target cross-platform code project.

配置模块用于在编译开关的状态信息为打开的情况下,配置跨平台编译环境。The configuration module is used to configure the cross-platform compilation environment when the state information of the compilation switch is ON.

第二获取模块用于在配置完跨平台编译环境之后,获取编译操作。The second acquisition module is used to acquire the compilation operation after the cross-platform compilation environment is configured.

根据本公开的实施例,数据处理装置600还包括转换模块和传输模块。According to an embodiment of the present disclosure, thedata processing apparatus 600 further includes a conversion module and a transmission module.

转换模块用于在生成目标跨平台代码之后,将目标跨平台代码转换为二进制文件。The conversion module is used to convert the target cross-platform code into a binary file after the target cross-platform code is generated.

传输模块用于向云端传输二进制文件。The transfer module is used to transfer binary files to the cloud.

根据本公开的实施例,数据处理装置600还包括第二关联模块,用于在向云端传输二进制文件之前,将二进制文件与对应的版本信息进行关联,以使得在客户端本地基于二进制文件的版本信息从云端获取二进制文件。According to an embodiment of the present disclosure, thedata processing apparatus 600 further includes a second association module, configured to associate the binary file with the corresponding version information before transmitting the binary file to the cloud, so that the version based on the binary file locally on the client Information fetches binaries from the cloud.

根据本公开的实施例,数据处理装置600还包括控制模块和第三获取模块。According to an embodiment of the present disclosure, thedata processing apparatus 600 further includes a control module and a third acquisition module.

控制模块用于在生成目标跨平台代码之后,关闭编译开关。The control module is used to turn off the compile switch after generating the target cross-platform code.

第三获取模块,用于在客户端本地基于二进制文件的版本信息从云端获取二进制文件。The third obtaining module is used to obtain the binary file from the cloud locally on the client side based on the version information of the binary file.

根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。Any of the modules, sub-modules, units, sub-units, or at least part of the functions of any of them according to embodiments of the present disclosure may be implemented in one module. Any one or more of the modules, sub-modules, units, and sub-units according to the embodiments of the present disclosure may be divided into multiple modules for implementation. Any one or more of the modules, sub-modules, units, sub-units according to embodiments of the present disclosure may be implemented at least in part as hardware circuits, such as field programmable gate arrays (FPGA), programmable logic arrays (PLA), A system on a chip, a system on a substrate, a system on a package, an application specific integrated circuit (ASIC), or any other reasonable means of hardware or firmware that integrates or packages circuits, or can be implemented in software, hardware, and firmware Any one of these implementations or an appropriate combination of any of them is implemented. Alternatively, one or more of the modules, sub-modules, units, and sub-units according to embodiments of the present disclosure may be implemented at least in part as computer program modules that, when executed, may perform corresponding functions.

例如,第一响应模块601、第一关联模块602和第二响应模块603中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一响应模块601、第一关联模块602和第二响应模块603中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一响应模块601、第一关联模块602和第二响应模块603中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。For example, any one of thefirst response module 601, thefirst association module 602, and thesecond response module 603 may be combined and implemented in one module/unit/subunit, or any one of the modules/units/subunits may be implemented by Split into multiple modules/units/subunits. Alternatively, at least part of the functionality of one or more of these modules/units/subunits may be combined with at least part of the functionality of other modules/units/subunits and combined in one module/unit/subunit realized in. According to an embodiment of the present disclosure, at least one of thefirst response module 601, thefirst association module 602, and thesecond response module 603 may be implemented at least partially as a hardware circuit, such as a field programmable gate array (FPGA), programmable Logic array (PLA), system-on-chip, system-on-substrate, system-on-package, application-specific integrated circuit (ASIC), or any other reasonable means of integrating or packaging circuits, implemented in hardware or firmware, or in It can be implemented in any one of the three implementation manners of software, hardware and firmware or in a suitable combination of any of them. Alternatively, at least one of thefirst response module 601, thefirst association module 602, and thesecond response module 603 may be implemented at least in part as a computer program module that, when executed, may perform corresponding functions.

本公开实施例所提供的数据处理方法可以由终端设备执行。相应地,本公开实施例所提供的数据处理装置也可以设置于终端设备中。The data processing method provided by the embodiments of the present disclosure may be executed by a terminal device. Correspondingly, the data processing apparatus provided by the embodiments of the present disclosure may also be provided in a terminal device.

需要说明的是,本公开的实施例中数据处理装置部分与本公开的实施例中数据处理方法部分是相对应的,数据处理装置部分的描述具体参考数据处理方法部分,在此不再赘述。It should be noted that the part of the data processing apparatus in the embodiment of the present disclosure corresponds to the part of the data processing method in the embodiment of the present disclosure, and the description of the part of the data processing apparatus refers to the part of the data processing method, which will not be repeated here.

图7示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的框图。图7示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。Figure 7 schematically shows a block diagram of a computer system suitable for implementing the methods described above, according to an embodiment of the present disclosure. The computer system shown in FIG. 7 is only an example, and should not impose any limitation on the function and scope of use of the embodiments of the present disclosure.

如图7所示,根据本公开实施例的计算机系统700包括处理器701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。处理器701例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器701还可以包括用于缓存用途的板载存储器。处理器701可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。As shown in FIG. 7 , acomputer system 700 according to an embodiment of the present disclosure includes aprocessor 701 that can be loaded into a random access memory (RAM) 703 according to a program stored in a read only memory (ROM) 702 or from astorage portion 708 program to perform various appropriate actions and processes. Theprocessor 701 may include, for example, a general-purpose microprocessor (eg, a CPU), an instruction set processor and/or a related chipset, and/or a special-purpose microprocessor (eg, an application specific integrated circuit (ASIC)), among others. Theprocessor 701 may also include on-board memory for caching purposes. Theprocessor 701 may include a single processing unit or multiple processing units for performing different actions of the method flow according to the embodiments of the present disclosure.

在RAM 703中,存储有系统700操作所需的各种程序和数据。处理器701、ROM 702以及RAM 703通过总线704彼此相连。处理器701通过执行ROM 702和/或RAM 703中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 702和RAM 703以外的一个或多个存储器中。处理器701也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。In theRAM 703, various programs and data necessary for the operation of thesystem 700 are stored. Theprocessor 701 , theROM 702 and theRAM 703 are connected to each other through abus 704 . Theprocessor 701 performs various operations of the method flow according to the embodiment of the present disclosure by executing the programs in theROM 702 and/or theRAM 703 . Note that the program may also be stored in one or more memories other than theROM 702 and theRAM 703 . Theprocessor 701 may also perform various operations of the method flow according to the embodiments of the present disclosure by executing programs stored in the one or more memories.

根据本公开的实施例,系统700还可以包括输入/输出(I/O)接口705,输入/输出(I/O)接口705也连接至总线704。系统700还可以包括连接至I/O接口705的以下部件中的一项或多项:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。According to an embodiment of the present disclosure, thesystem 700 may also include an input/output (I/O)interface 705 that is also connected to thebus 704 .System 700 may also include one or more of the following components connected to I/O interface 705:input portion 706 including keyboard, mouse, etc.; including components such as cathode ray tubes (CRT), liquid crystal displays (LCD), etc., and speakers Anoutput section 707 including a hard disk, etc.; astorage section 708 including a hard disk, etc.; and acommunication section 709 including a network interface card such as a LAN card, a modem, and the like. Thecommunication section 709 performs communication processing via a network such as the Internet. Adrive 710 is also connected to the I/O interface 705 as needed. Aremovable medium 711, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is mounted on thedrive 710 as needed so that a computer program read therefrom is installed into thestorage section 708 as needed.

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被处理器701执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。According to the embodiments of the present disclosure, the method flow according to the embodiments of the present disclosure may be implemented as a computer software program. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a computer-readable storage medium, the computer program containing program code for performing the method illustrated in the flowchart. In such an embodiment, the computer program may be downloaded and installed from the network via thecommunication portion 709 and/or installed from theremovable medium 711 . When the computer program is executed by theprocessor 701, the above-described functions defined in the system of the embodiment of the present disclosure are performed. According to embodiments of the present disclosure, the above-described systems, apparatuses, apparatuses, modules, units, etc. may be implemented by computer program modules.

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。The present disclosure also provides a computer-readable storage medium. The computer-readable storage medium may be included in the device/apparatus/system described in the above embodiments; it may also exist alone without being assembled into the device/system. device/system. The above-mentioned computer-readable storage medium carries one or more programs, and when the above-mentioned one or more programs are executed, implement the method according to the embodiment of the present disclosure.

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。According to an embodiment of the present disclosure, the computer-readable storage medium may be a non-volatile computer-readable storage medium. Examples may include, but are not limited to, portable computer disks, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), portable compact disk read only memory (CD- ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above. In this disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.

例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 702和/或RAM 703和/或ROM 702和RAM 703以外的一个或多个存储器。For example, according to embodiments of the present disclosure, a computer-readable storage medium may include one or more memories other thanROM 702 and/orRAM 703 and/orROM 702 andRAM 703 described above.

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code that contains one or more logical functions for implementing the specified functions executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It is also noted that each block of the block diagrams or flowchart illustrations, and combinations of blocks in the block diagrams or flowchart illustrations, can be implemented in special purpose hardware-based systems that perform the specified functions or operations, or can be implemented using A combination of dedicated hardware and computer instructions is implemented.

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。Those skilled in the art will appreciate that various combinations and/or combinations of features recited in various embodiments and/or claims of the present disclosure are possible, even if such combinations or combinations are not expressly recited in the present disclosure. In particular, various combinations and/or combinations of the features recited in the various embodiments of the present disclosure and/or the claims may be made without departing from the spirit and teachings of the present disclosure. All such combinations and/or combinations fall within the scope of this disclosure.

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。Embodiments of the present disclosure have been described above. However, these examples are for illustrative purposes only, and are not intended to limit the scope of the present disclosure. Although the various embodiments are described above separately, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. The scope of the present disclosure is defined by the appended claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art can make various substitutions and modifications, and these substitutions and modifications should all fall within the scope of the present disclosure.

Claims (12)

CN201910423014.7A2019-05-202019-05-20Data processing method and device, computer system and computer readable storage mediumPendingCN111966396A (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
CN201910423014.7ACN111966396A (en)2019-05-202019-05-20Data processing method and device, computer system and computer readable storage medium

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
CN201910423014.7ACN111966396A (en)2019-05-202019-05-20Data processing method and device, computer system and computer readable storage medium

Publications (1)

Publication NumberPublication Date
CN111966396Atrue CN111966396A (en)2020-11-20

Family

ID=73358244

Family Applications (1)

Application NumberTitlePriority DateFiling Date
CN201910423014.7APendingCN111966396A (en)2019-05-202019-05-20Data processing method and device, computer system and computer readable storage medium

Country Status (1)

CountryLink
CN (1)CN111966396A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN112631600A (en)*2020-12-242021-04-09上海哔哩哔哩科技有限公司Software construction method and system based on Flutter
CN113254027A (en)*2021-05-202021-08-13西安华讯科技有限责任公司Method, system, equipment and storage medium for converting control program of semiconductor equipment
CN113515300A (en)*2021-07-092021-10-19北京字节跳动网络技术有限公司Code viewing method and device, electronic equipment and storage medium
CN113760323A (en)*2021-02-102021-12-07北京沃东天骏信息技术有限公司Method, device and system for developing application
CN113760384A (en)*2021-01-042021-12-07北京沃东天骏信息技术有限公司 Application environment switching method, device, computer system and readable storage medium
CN113821212A (en)*2021-09-282021-12-21五八同城信息技术有限公司Information processing method and device, electronic equipment and storage medium
CN117194735A (en)*2023-09-082023-12-08东风汽车集团股份有限公司 Cross-platform shared software implementation management and control methods, systems, equipment and storage media
CN117591175A (en)*2023-11-212024-02-23中航信移动科技有限公司Weex-based method, medium and equipment for cross-platform compatibility of hong Monte systems
CN117724726A (en)*2024-02-052024-03-19腾讯科技(深圳)有限公司Data processing method and related device

Citations (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN103853589A (en)*2014-02-262014-06-11上海爱数软件有限公司Cross-platform system compiling and building method
US9678726B1 (en)*2015-03-272017-06-13Amazon Technologies, Inc.Automatic generation of plugins for development tools
CN109582316A (en)*2018-11-152019-04-05北京深思数盾科技股份有限公司A kind of cross-platform Compilation Method, device, system, server and storage medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN103853589A (en)*2014-02-262014-06-11上海爱数软件有限公司Cross-platform system compiling and building method
US9678726B1 (en)*2015-03-272017-06-13Amazon Technologies, Inc.Automatic generation of plugins for development tools
CN109582316A (en)*2018-11-152019-04-05北京深思数盾科技股份有限公司A kind of cross-platform Compilation Method, device, system, server and storage medium

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
RQPANWEI: "Flutter-Android填坑之旅", Retrieved from the Internet <URL:https://juejin.cn/post/6844903734560948237>*
WEIXIN_33910759: "原生App项目集成flutter混合开发详细指南", pages 1 - 8, Retrieved from the Internet <URL:https://blog.csdn.net/weixin_33910759/article/details/91361726>*
WEIXIN_34001430: "闲鱼Flutter混合工程持续集成的最佳实践", pages 1 - 6, Retrieved from the Internet <URL:https://blog.csdn.net/weixin_34001430/article/details/87942062>*
听话哥: "Flutter 混合开发(Android)项目搭建", Retrieved from the Internet <URL:https://www.jianshu.com/p/cbd40a0c4511>*
爱奇艺技术产品团队: "Flutter跨平台Hybrid实践 爱奇艺技术产品团队 2018/12/10 17:22 原创", Retrieved from the Internet <URL:https://www.jiqizhixin.com/articles/2018-12-10>*

Cited By (12)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
CN112631600A (en)*2020-12-242021-04-09上海哔哩哔哩科技有限公司Software construction method and system based on Flutter
CN113760384A (en)*2021-01-042021-12-07北京沃东天骏信息技术有限公司 Application environment switching method, device, computer system and readable storage medium
CN113760323A (en)*2021-02-102021-12-07北京沃东天骏信息技术有限公司Method, device and system for developing application
CN113254027A (en)*2021-05-202021-08-13西安华讯科技有限责任公司Method, system, equipment and storage medium for converting control program of semiconductor equipment
CN113254027B (en)*2021-05-202024-05-14西安华讯科技有限责任公司Semiconductor device control program conversion method, system, device and storage medium
CN113515300A (en)*2021-07-092021-10-19北京字节跳动网络技术有限公司Code viewing method and device, electronic equipment and storage medium
CN113515300B (en)*2021-07-092023-08-22北京字节跳动网络技术有限公司Code viewing method, device, electronic equipment and storage medium
CN113821212A (en)*2021-09-282021-12-21五八同城信息技术有限公司Information processing method and device, electronic equipment and storage medium
CN117194735A (en)*2023-09-082023-12-08东风汽车集团股份有限公司 Cross-platform shared software implementation management and control methods, systems, equipment and storage media
CN117591175A (en)*2023-11-212024-02-23中航信移动科技有限公司Weex-based method, medium and equipment for cross-platform compatibility of hong Monte systems
CN117724726A (en)*2024-02-052024-03-19腾讯科技(深圳)有限公司Data processing method and related device
CN117724726B (en)*2024-02-052024-05-28腾讯科技(深圳)有限公司Data processing method and related device

Similar Documents

PublicationPublication DateTitle
CN111966396A (en)Data processing method and device, computer system and computer readable storage medium
RU2658190C2 (en)Controlling runtime access to application programming interfaces
CN110865889B (en)Method and device for transmitting event between components
US11385923B2 (en)Container-based virtualization system extending kernel functionality using kernel modules compiled by a compiling container and loaded by an application container
CN114816424B (en) A container-based continuous integration method, device and electronic device
US20220164216A1 (en)VIRTUALIZING HARDWARE COMPONENTS THAT IMPLEMENT Al APPLICATIONS
CN112328301B (en)Method and device for maintaining consistency of operating environments, storage medium and electronic equipment
CN113805882A (en)Method and device for developing application program, electronic equipment and storage medium
US11429372B2 (en)Application program updating method, apparatus, system, medium and device
Nüst et al.The Rockerverse: packages and applications for containerization with R
Solayman et al.Seamless integration of devops tools for provisioning automation of the iot application on multi-infrastructures
CN119440739A (en) A Serverless large model inference service system, method, device and medium
US12321734B2 (en)Method, apparatus, and computer-readable medium for intelligent execution of a solution on a computer network
Wenzel et al.Getting started with CAPI SNAP: Hardware development for software engineers
Venugopal et al.Serverless through cloud native architecture
JP2025519150A (en) System and method for platform host independent application design and deployment - Patents.com
US11573777B2 (en)Method and apparatus for enabling autonomous acceleration of dataflow AI applications
AlgarniManaging Deployed Containerized Web Application on AWS Using EKS on AWS Fargate
MéndezEdge Computing Systems with Kubernetes
CN113778451A (en)File loading method and device, computer system and computer readable storage medium
CN113760384A (en) Application environment switching method, device, computer system and readable storage medium
KissBuild automation systems against CI lock-in-A comparative study of Dagger and Mage
CN110673834A (en) A source code calling method, device, computer equipment and storage medium
CN117170738B (en)Method, system, equipment and storage medium for interaction of Python and Fortran
US20240103933A1 (en)Container image tooling storage migration

Legal Events

DateCodeTitleDescription
PB01Publication
PB01Publication
SE01Entry into force of request for substantive examination
SE01Entry into force of request for substantive examination

[8]ページ先頭

©2009-2025 Movatter.jp