A hybrid application development method, system, device, storage medium and program product
Patent Information
- Application Number
- CN202510320106.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-18
- Publication Date
- 2026-09-25
AI Technical Summary
[0003]相关技术中,混合应用在运行时需要调用到多个系统原生接口和设备硬件接口,而在现有的混合应用开发技术方案下并没有合适的提供方式
[0013]本公开的示例性实施例,通过生成混合应用的Web应用内容模板、系统原生接口和硬件接口插件模板,并将它们与基础库混合编译得到混合应用,提高了混合应用开发效率和用户体验,增强跨平台兼容性。
Smart Images

Figure CN122816635A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of software development technology, and in particular to a hybrid application development method, system, device, storage medium, and program product. Background Technology
[0002] Applications running on terminal devices can be categorized into native applications, web applications, and hybrid applications. Hybrid applications combine the advantages of both native and web applications, offering significant advantages in cross-platform consistency, application content scalability, and agile engineering development.
[0003] In related technologies, hybrid applications need to call multiple system native interfaces and device hardware interfaces during runtime, but there is no suitable way to do so under existing hybrid application development technology solutions.
[0004] It should be noted that the statements herein provide background information in connection with this disclosure only and do not necessarily constitute prior art. Summary of the Invention
[0005] In view of the above problems, a hybrid application development method, system, device, storage medium and program product is proposed to overcome the above problems or at least partially solve the above problems.
[0006] The embodiments disclosed herein employ the following technical solutions:
[0007] In a first aspect, a hybrid application development method is provided, comprising: in response to an application creation instruction, generating a Web application content template for the hybrid application, wherein the hybrid application includes a native layer natively supported by the operating system, and a base library including a Web view component and a communication bridge is implemented in the native layer, the Web view component being a working component that is supported by default in the native layer and can embed and display Web application content blocks, and the communication bridge being used for bidirectional communication between the Web view component and the Web application content blocks; in response to a plugin loading instruction, generating system native interface and hardware interface plugin templates for the hybrid application, the system native interface and hardware interface plugin templates being used to call system native interfaces and hardware interfaces; and compiling the base library, the Web application content template, and the system native interface and hardware interface plugin template together to obtain the hybrid application.
[0008] Secondly, a hybrid application development apparatus is provided. The hybrid application development system includes: a first unit, which, in response to an application creation instruction, generates a Web application content template for the hybrid application, wherein the hybrid application includes a native layer natively supported by the operating system, and a basic library including a Web view component and a communication bridge is implemented in the native layer. The Web view component is a working component that is supported by default in the native layer and can embed and display Web application content blocks. The communication bridge is used for bidirectional communication between the Web view component and the Web application content blocks; a second unit, which, in response to a plugin loading instruction, generates system native interface and hardware interface plugin templates for the hybrid application, wherein the system native interface and hardware interface plugin templates are used to call system native interfaces and hardware interfaces; and a third unit, which compiles the basic library, the Web application content template, and the system native interface and hardware interface plugin template together to obtain the hybrid application.
[0009] In a third aspect, a computing device is provided, comprising: at least one processor; and at least one memory storing instructions thereon, which, when executed individually or jointly by the at least one processor, cause the computing device to perform the method according to any one of the first aspects.
[0010] Fourthly, a computer storage medium is provided that stores instructions thereon, which, when executed individually or jointly by at least one processor of a computing device, cause the computing device to perform the method according to any one of the first aspects.
[0011] Fifthly, a computer program product includes instructions, characterized in that, when executed individually or jointly by at least one processor of a computing device, the instructions cause the computing device to perform the method according to any one of the first aspects.
[0012] The above-described at least one technical solution adopted in the exemplary embodiment can achieve the following beneficial effects:
[0013] The exemplary embodiments of this disclosure improve hybrid application development efficiency and user experience, and enhance cross-platform compatibility by generating web application content templates, system native interfaces, and hardware interface plugin templates for hybrid applications, and compiling them with base libraries.
[0014] It should be understood that the summary section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0015] The above and other objects, features, and advantages of this disclosure will become more apparent from the more detailed description of some embodiments thereof in the accompanying drawings, in which:
[0016] Figure 1 This is a schematic diagram of the hybrid application development method in the embodiments of this disclosure;
[0017] Figure 2 This is a schematic diagram of a hybrid application architecture in an embodiment of this disclosure;
[0018] Figure 3 This is a schematic diagram of the development process of hybrid applications in this disclosure embodiment;
[0019] Figure 4 This is a schematic diagram of a hybrid application development device in an embodiment of this disclosure;
[0020] Figure 5 This is a schematic diagram of the structure of the computing device in an embodiment of this disclosure. Detailed Implementation
[0021] The principles of this disclosure will now be described with reference to some embodiments. It should be understood that these embodiments are described for illustrative purposes only and to assist those skilled in the art in understanding and implementing this disclosure, and do not impose any limitation on the scope of this disclosure. The disclosure described herein may be implemented in ways other than those described below.
[0022] In the following description and claims, unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains.
[0023] References to "an embodiment," "embodiment," "exemplary embodiment," etc., in this disclosure indicate that the described embodiments may include specific features, structures, or characteristics, but not every embodiment needs to include specific features, structures, or characteristics. Furthermore, such phrases do not necessarily refer to the same embodiment. Moreover, when a specific feature, structure, or characteristic is described in connection with an exemplary embodiment, whether explicitly described or not, those skilled in the art will recognize that such a feature, structure, or characteristic affects its connection to other embodiments.
[0024] It should be understood that while the terms “first” and “second”, etc., may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used only to distinguish one element from another. For example, without departing from the scope of the exemplary embodiments, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. The term “and / or” as used herein includes any and all combinations of one or more of the listed terms.
[0025] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the exemplary embodiments. The singular forms “a,” “an,” and “the” used herein also include the plural forms unless the context clearly indicates otherwise. The terms “a group of elements” or “a collection of elements” as used herein are intended to include one or more elements. It should also be understood that the terms “comprising,” “including,” “having,” “possessing,” “including,” and / or “comprising,” when used herein, specify the presence of the stated features, elements, and / or components, but do not exclude the presence or addition of one or more other features, elements, components, and / or combinations thereof.
[0026] As used in this disclosure, the term "circuit" may refer to one or more of the following:
[0027] (a) Implemented only in hardware circuitry (e.g., implemented only in analog and / or digital circuitry)
[0028] (b) A combination of hardware circuitry and software, such as (if applicable):
[0029] (i) a combination of analog and / or digital hardware circuitry with software / firmware; and
[0030] (ii) Any part of a hardware processor (including a digital signal processor), software, and memory that work together to enable a device such as a mobile phone or server to perform various functions, and
[0031] (c) Hardware circuitry and / or processors, such as microprocessors or a portion thereof, which require software (e.g., firmware) to operate, but may be absent when the software is not required to operate.
[0032] The definition of "circuit" applies to all uses of the term in this disclosure, including in any claim. As another example, as used in this disclosure, the term "circuit" also includes implementations of hardware circuitry or a processor (or processors) or a portion thereof and its accompanying software and / or firmware. The term "circuit" also includes, for example, a baseband integrated circuit or processor integrated circuit for a mobile device, or a similar integrated circuit in a server, cellular network device, or other computing network device, if applicable to a particular claim element.
[0033] While the functions described herein may be implemented in fixed and / or wireless network nodes in various exemplary embodiments, in other exemplary embodiments, they may be implemented in user equipment devices (such as cellular phones, tablet computers, laptop computers, desktop computers, mobile IoT devices, or fixed IoT devices). For example, the user equipment device may suitably have the corresponding capabilities described in relation to fixed and / or wireless network nodes. The user equipment device may be user equipment and / or control devices, such as chipsets or processors, configured to control the user equipment when it is installed therein. Examples of these functions include boot server functions and / or home subscriber servers, which may be implemented in the user equipment device by providing the user equipment device with software configured to cause the user equipment device to perform from the perspective of these functions / nodes.
[0034] The technical terms used in this disclosure are as follows:
[0035] Web: (World Wide Web)
[0036] Android: An open-source operating system based on the Linux kernel;
[0037] android.webkit.WebView: A view component in the Android system used to display web page content within an application;
[0038] React Native: An open-source, cross-platform mobile application development framework developed by Facebook;
[0039] UniApp: A framework for developing all front-end applications using Vue.js;
[0040] Cordova: An open-source mobile application development framework;
[0041] WKWebView: A view class interface introduced by Apple in iOS 8 and OS X 10.10 and later versions for displaying web page content in applications;
[0042] UIWebView: A view class interface provided by Apple for displaying web page content in iOS and macOS applications;
[0043] HTML: Hypertext Markup Language.
[0044] The applicant conducted relevant research and analysis on hybrid application development technologies. The research revealed that hybrid applications, with their rich functionality, require calls to multiple native system interfaces and device hardware interfaces at runtime, but existing hybrid application development solutions lack suitable methods for addressing these needs. For example, React Native requires extensive native code development of UI bridging components, resulting in high costs and lengthy testing cycles. UniApp itself provides a limited number of native system interfaces and device hardware interfaces, and using external third-party interface plugins offers lower levels of security and reliability assurance. Cordova, due to efficiency and ecosystem considerations, has gradually become out of step with the latest hybrid application development technologies, exhibiting poor support for debuggability and testability. Furthermore, development methodologies such as React Native and UniApp are tied to specific web application development frameworks, further limiting developers' ability to select appropriate web application frameworks.
[0045] As can be seen from the above, from the technical perspective of hybrid application development, how to improve development efficiency, not restrict web application templates, and efficiently and conveniently use system native interfaces and device hardware interfaces has become an urgent problem to be solved.
[0046] Given that hybrid application development in related technologies cannot call multiple system native interfaces and device hardware interfaces, a universal hybrid application development method is designed. This method uses a plug-in management architecture to organize system interfaces and hardware interfaces in a unified and efficient manner and provide them to Web content, thereby improving the convenience and versatility of software development and debugging.
[0047] The technical solutions provided by the embodiments of this disclosure are described in detail below with reference to the accompanying drawings.
[0048] The disclosed embodiments provide a hybrid application development method, system, device, storage medium, and program product. For example... Figure 1 As shown, a schematic diagram of the hybrid application development method 100 in this embodiment of the present disclosure is provided. The hybrid application development method 100 includes at least the following steps S110 to S130.
[0049] Step S110: In response to the application creation instruction, a Web application content template for a hybrid application is generated. The hybrid application includes a native layer natively supported by the operating system. The native layer implements a basic library including a Web view component and a communication bridge. The Web view component is a working component that is supported by default in the native layer and can embed and display Web application content blocks. The communication bridge is used for bidirectional communication between the Web view component and the Web application content blocks.
[0050] like Figure 2The schematic diagram of the hybrid application architecture shown includes an application layer comprising a Web application content block 210. The middle layer comprises Web view components and a communication bridge 220. The native layer comprises a native content block 230. Below the native layer are a platform architecture layer and a hardware interface. Below the platform architecture layer and hardware interface is a hardware adaptation layer, which runs on the hardware.
[0051] Hybrid applications include application layers natively supported by the operating system and those not natively supported. The application layer implements the Web interface type definitions for system interfaces and hardware interfaces. After connecting to the communication bridge function library, the application layer can be used for convenient calls and interface constraints during application development. The Web interface type definitions are automatically generated based on the function templates of the interfaces exposed in the plugin after plugin creation. In one example, the Web interface is an interface generated using TypeScript, containing interface constraint behavior that standardizes application calls to the plugin interface, with input and output limited to the corresponding type definitions.
[0052] The application layer of a hybrid application includes web application content blocks containing web applications, while the native layer includes native content blocks containing native code. The native code encompasses both system native interfaces provided by the system platform framework layer and hardware interfaces provided by the system hardware adaptation layer. Hybrid applications can access hardware interfaces by calling hardware function plugins developed in C / C++, and access system native interfaces through system interface plugins developed using native code.
[0053] The native layer includes the native content portion of the hybrid application, which is natively supported by the operating system. In one example, the native layer implements a base library centered around Web view components and a communication bridge. The Web view components are used to load the Web application content blocks of the hybrid application, and the communication bridge supports communication data formats including Boolean, integer, long integer, floating-point, date, and object types, using JSON data format for transmission.
[0054] Web view components are view controls provided by the operating system that allow embedding web page content in the native layer for display and interaction. For example, in Android, they are provided through the android.webkit.WebView interface; in iOS, through the WKWebView or UIWebView interface; and in HarmonyOS, through the @ohos.web.webview interface.
[0055] Web application content blocks are the web page content portions of a hybrid application. Their typical file structure consists of HTML, CSS, and JavaScript files. The HTML file serves as the entry point for the web view components to load the application, the CSS file defines the application's basic styles, and the JavaScript file contains dynamically executable code that can call the web interface provided by the communication bridge and perform communication.
[0056] A communication bridge is a working mechanism that uses the operating system to call Web view component interfaces at the native layer and further encapsulates them according to the required functions. It usually adds interfaces such as loadWebView and launchIntent to it.
[0057] Step S120: In response to the plugin loading instruction, generate system native interface and hardware interface plugin templates for the hybrid application. The system native interface and hardware interface plugin templates are used to call the system native interface and hardware interface.
[0058] The interface plugin template is generated by the interface plugin generation unit. This unit can add plugins that call system interfaces and hardware interfaces using languages supported by the native system. A separate plugin template containing sample code for calling system interfaces and hardware interfaces can be created using the command-line interactive tool in the development device. Users can customize new plugins by modifying the sample code. The generated plugins include at least one of the following corresponding to the hybrid application template: a functional plugin library, a UI plugin library, a utility function library, custom plugins, and third-party plugins.
[0059] The plugin management mechanism is implemented in the middle layer, supporting the dynamic installation and uninstallation of system interface and hardware interface plugins. It also supports intercepting interface call layer information and can pass the execution results, execution callbacks, and debugging information of the called interfaces.
[0060] Step S130: Compile the base library, the web application content template, and the system native interface and hardware interface plugin template together to obtain the hybrid application.
[0061] It is understood that the hybrid application development method disclosed herein provides a basic framework for web applications by generating web application content templates, enabling the embedding and display of web content and bidirectional communication within the native layer through web view components and communication bridges, generating system native interface and hardware interface plugin templates to call system and hardware interfaces, and integrating all components into a hybrid application through hybrid compilation. These technical features improve the efficiency of calling multiple system native interfaces and device hardware interfaces within hybrid applications, thereby improving the development efficiency of hybrid applications.
[0062] In some embodiments, generating the web application content template for a hybrid application includes building the web application content template using native web technologies or a front-end framework. The front-end framework includes Vue or React.
[0063] Native web technologies include standard technologies such as HTML, CSS, and JavaScript, which are widely supported and optimized in major browsers. These technologies allow for the direct creation of web application content templates, ensuring consistency and performance across different platforms.
[0064] Web application content is built using a modern front-end engineering system, supporting the ECMAScript 6 standard and allowing module dependencies to be determined at compile time. Web application content templates are not limited to any particular template type; they can be built using native web technologies, or using front-end frameworks such as Vue or React.
[0065] Front-end frameworks such as Vue and React offer higher levels of abstraction and component-based development models, enabling developers to build complex web application content templates more efficiently. These frameworks improve development efficiency and code maintainability by providing features such as data binding and component lifecycle management.
[0066] It's understandable that building web application content templates using native web technologies or front-end frameworks not only improves development efficiency but also ensures consistency and performance across different platforms. This enhances both development efficiency and cross-platform consistency. By using frameworks like Vue or React to build web application content templates, the advantages of these front-end frameworks can be fully utilized to quickly construct efficient, flexible, and easy-to-maintain web application content, thereby improving development efficiency and enhancing application maintainability and scalability.
[0067] In some embodiments, system native interface plugins that call system native interfaces and hardware interface plugins that call hardware interfaces are added to the system native interface and hardware interface plugin templates using languages natively supported by the operating system.
[0068] This disclosure utilizes languages natively supported by the operating system to add system native interface plugins and hardware interface plugins to the system native interface and hardware interface plugin templates. This ensures the reliability and consistency of hybrid applications when calling system native interfaces and hardware interfaces. By adding these plugins, hybrid applications can better interact with the operating system and hardware, thereby improving application functionality and user experience.
[0069] In one example, system native interface plugins and hardware interface plugins can be developed and integrated using programming languages natively supported by the operating system (such as Java, Swift, or Kotlin). System native interface plugins encapsulate system-provided APIs, allowing these interfaces to be directly invoked by hybrid applications. Hardware interface plugins encapsulate device hardware driver interfaces, enabling applications to interact directly with hardware devices. Furthermore, these plugins can be described and managed using standardized interface definition files, ensuring consistency and compatibility across different platforms. A unified interface invocation method simplifies support and maintenance across different platforms.
[0070] It is understood that this disclosure, by adding plugins that call system native interfaces and hardware interfaces to the system native interface and hardware interface plugin templates, not only improves the functionality and user experience of hybrid applications, but also enhances the consistency and compatibility of applications across different platforms. Furthermore, through standardized interface definitions and management, it simplifies development and maintenance work and improves development efficiency.
[0071] In some embodiments, the step of compiling the base library, the web application content template, and the system native interface and hardware interface plugin template together to obtain the hybrid application includes: compiling the base library, the web application content template, and the system native interface and hardware interface plugin template together to obtain multiple versions of the hybrid application, wherein the multiple versions of the hybrid application are run on different target platforms.
[0072] like Figure 3 The diagram illustrates the development process of a hybrid application. When developers create a hybrid application using a command-line interactive tool, they create application modules under the corresponding framework through the application template generation unit 310. This template does not restrict the application template type; it is dynamically created by filling in the required template type during use, supporting Vue, React, and native application templates. "Not restricting the application template type" means that application templates can be built using either native web technologies or various front-end frameworks.
[0073] After the application template is generated, the framework core layer and system platform layer are loaded, followed by the plugin loading process. Plugin loading is completed by the interface plugin generation unit 320. This unit generates system interface and hardware interface plugin templates that integrate native application content. Plugins that call system and hardware interfaces can be added to these templates using languages supported by the native system. A separate plugin template containing sample code for calling system and hardware interfaces can be created using the command-line interactive tool in the development device. Users can then customize new plugins by modifying the sample code.
[0074] Next, the UI components are loaded, the hybrid application is configured, and then the base library, plugin management package and Web content block application resources are mixed, compiled and packaged into an application for the target platform through the resource translation and packaging unit 330.
[0075] It should be understood that this disclosure, by adding system native interface plugins that call system native interfaces and hardware interface plugins that call hardware interfaces to system native interface and hardware interface plugin templates, enables the construction of web application content templates using native web technologies or front-end frameworks such as Vue or React. This improves development efficiency and application stability, and enhances the compatibility and consistency of hybrid applications across different target platforms. Taking streaming media applications as an example, through the embodiments of this disclosure, streaming media applications can be efficiently migrated from web to native hybrid applications, while also conveniently adding system and hardware interface functions such as file reading and saving, and hardware acceleration.
[0076] In some embodiments, the hybrid application further includes an application layer not natively supported by the operating system, and the method further includes: automatically generating an interface type constraint file, wherein the interface type constraint file defines the Web interface types of the system native interface and the hardware interface in the application layer.
[0077] The automatic generation of interface type constraint files solves the problem of defining Web interface types for system native interfaces and hardware interfaces at the application layer. This effectively defines the Web interface types for both system native interfaces and hardware interfaces, resolving the issue of ambiguous interface type definitions in hybrid applications and improving application compatibility and development efficiency.
[0078] The process of automatically generating interface type constraint files can be achieved by writing scripts or using specific tools. For example, code generator tools can be used to automatically generate interface type constraint files based on predefined interface specifications. This file can be in JSON, XML, or other formats, describing the web interface types of the system's native interfaces and hardware interfaces. The application layer reads this constraint file at load time, enabling it to correctly call and process these interfaces during runtime. Furthermore, the generation of interface type constraint files can be integrated with the compilation process of hybrid applications, ensuring that the latest constraint file is generated on each compilation.
[0079] This disclosure solves the problem of ambiguous interface type definitions in hybrid applications by automatically generating interface type constraint files in the application layer. This improves application compatibility and development efficiency, reduces the workload of developers manually defining interface types, and lowers the risk of errors.
[0080] This disclosure also provides a hybrid application development apparatus 400, such as... Figure 4As shown, the hybrid application development apparatus 400 includes at least: a first unit 410, a second unit 420, and a third unit 430. Wherein:
[0081] The first unit 410 is specifically used to: generate a Web application content template for a hybrid application in response to an application creation instruction, wherein the hybrid application includes a native layer natively supported by the operating system, and a basic library including a Web view component and a communication bridge is implemented in the native layer. The Web view component is a working component that is supported by default in the native layer and can embed and display Web application content blocks. The communication bridge is used for bidirectional communication between the Web view component and the Web application content blocks.
[0082] The second unit 420 is specifically used to: in response to the plugin loading instruction, generate system native interface and hardware interface plugin templates for the hybrid application, wherein the system native interface and hardware interface plugin templates are used to call the system native interface and hardware interface.
[0083] The third unit 430 is specifically used to: compile the basic library, the Web application content template, and the system native interface and hardware interface plugin template together to obtain the hybrid application.
[0084] The hybrid application development apparatus described above can implement each step of the hybrid application development method provided in the foregoing embodiments. The relevant explanations of the hybrid application development method are applicable to the hybrid application development apparatus and will not be repeated here.
[0085] While specific functions have been discussed above with reference to specific units, it should be noted that the functions of the units discussed herein may be divided into multiple units, and / or at least some functions of multiple units may be combined into a single unit. The specific unit performing an action discussed herein includes the specific unit itself performing the action, or alternatively, the specific unit calling or otherwise accessing another component or unit that performs the action (or performs the action in conjunction with the specific unit). Therefore, a specific unit performing an action may include the specific unit performing the action itself and / or another unit that performs the action, called or otherwise accessed by the specific unit.
[0086] It should also be understood that this article can describe various technologies in the general context of software and hardware components or program units. The above regarding... Figure 4 The described units can be implemented in hardware or in hardware in combination with software and / or firmware. For example, these units can be implemented as computer program code / instructions configured to execute in one or more processors and stored in a computer-readable storage medium. Alternatively, these units can be implemented as hardware logic / circuit.
[0087] A computing device is provided, comprising: at least one processor; and at least one memory storing instructions thereon, wherein the instructions, when executed individually or jointly by the at least one processor, cause the computing device to perform the hybrid application development method described above. It should be noted that the computing device includes, but is not limited to, terminal devices, and any device capable of implementing the hybrid application development method described above falls within the scope of this disclosure.
[0088] A computer storage medium is provided that stores instructions thereon, which, when executed individually or jointly by at least one processor of a computing device, cause the computing device to perform the hybrid application development method described above.
[0089] A computer program product includes instructions, characterized in that the instructions, when executed individually or jointly by at least one processor of a computing device, cause the computing device to perform the aforementioned hybrid application development method.
[0090] Figure 5 This is a simplified block diagram of a computing device 500 suitable for implementing embodiments of the present disclosure. As shown, the computing device 500 includes one or more processors 510, one or more memories 520 coupled to the processors 510, and one or more communication modules 540 coupled to the processors 510.
[0091] Communication module 540 is used for bidirectional communication. Communication module 540 has at least one antenna to facilitate communication. The communication interface can represent any interface necessary for communication with other network elements.
[0092] Processor 510 can be of any type suitable for a local technology network, and as a non-limiting example, can include one or more of the following: general-purpose computer, special-purpose computer, microprocessor, digital signal processor (DSP), and processor based on a multi-core processor architecture. Computing device 500 can have multiple processors, such as application-specific integrated circuit (ASIC) chips, which are timely driven to a clock that synchronizes with the main processor.
[0093] Memory 520 may include one or more non-volatile memories and one or more volatile memories. Examples of non-volatile memories include, but are not limited to, read-only memory (ROM) 524, electrically programmable read-only memory (EPROM), flash memory, hard disk, optical disc (CD), digital video disc (DVD), and other magnetic and / or optical storage. Examples of volatile memories include, but are not limited to, random access memory (RAM) 522 and other volatile memories that do not persist during power-off periods.
[0094] Computer program 530 includes computer-executable instructions that are executed by the associated processor 510. Program 530 may be stored in ROM 524. Processor 510 may perform any appropriate actions and processes by loading program 530 into RAM 522.
[0095] The embodiments of this disclosure can be implemented by program 530, enabling computing device 500 to execute reference... Figure 1 Any process disclosed herein. Embodiments of this disclosure may also be implemented in hardware or by a combination of software and hardware.
[0096] In some embodiments, program 530 may be tangibly contained in a computer-readable medium, which may be contained in a computing device 500 (e.g., memory 520) or other storage device accessible to the computing device 500. The computing device 500 may load program 530 from the computer-readable medium into RAM 522 for execution. The computer-readable medium may include any type of tangible non-volatile memory, such as ROM, EPROM, flash memory, hard disk, CD, DVD, etc. Program 530 is stored on the computer-readable medium.
[0097] Generally, the various embodiments of this disclosure can be implemented in hardware or dedicated circuitry, software, logic, or any combination thereof. Some aspects may be implemented in hardware, while others may be implemented in firmware or software, which may be executed by a controller, microprocessor, or other computing device. Although various aspects of the embodiments of this disclosure are shown and described as block diagrams, flowcharts, or other graphical representations, it should be understood that, as non-limiting examples, the blocks, devices, systems, techniques, or methods described herein may be implemented in hardware, software, firmware, dedicated circuitry or logic, general-purpose hardware or controllers or other computing devices, or some combination thereof.
[0098] This disclosure also provides at least one computer program product tangibly stored on a non-transitory computer-readable storage medium. The computer program product includes computer-executable instructions, such as instructions included in program modules, which execute in a device on a target real or virtual processor. Typically, program modules include routines, programs, libraries, objects, classes, components, data structures, etc., that perform specific tasks or implement specific abstract data types. In various embodiments, the functionality of program modules can be combined or separated as needed among program modules. The machine-executable instructions for the program modules can execute within a local or distributed device. In a distributed device, the program modules can reside in both local and remote storage media.
[0099] Program code used to perform the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor or controller, the functions / operations specified in the flowcharts and / or block diagrams are implemented. The program code may be executed entirely on a machine, partially on a machine, partially on a remote machine, partially on a remote machine, or entirely on a remote machine or server as a standalone software package.
[0100] In the context of this disclosure, computer program code or related data may be carried by any suitable carrier to enable a device, apparatus, or processor to perform the various processes and operations described above. Examples of carriers include signals, computer-readable media, etc.
[0101] Computer-readable media can be computer-readable signal media or computer-readable storage media. Computer-readable media can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or apparatuses, or any suitable combination thereof. More specific examples of computer-readable storage media include electrical connections having one or more wires, portable computer floppy disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable optical disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0102] Furthermore, although the operations are described in a specific order, this should not be construed as requiring that these operations be performed in the specific order or sequence shown, or that all of the operations shown be performed to obtain the desired result. In some cases, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the foregoing discussion, these details should not be construed as limiting the scope of this disclosure, but rather as descriptions of features specific to particular embodiments. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0103] Although this disclosure has been described in language specific to structural features and / or methodological behavior, it should be understood that this disclosure as defined in the appended claims is not necessarily limited to the specific features or behaviors described above. Rather, the specific features and actions described above are disclosed as exemplary forms for implementing the claims.
[0104] It should be fully understood that the use of personally identifiable information should follow privacy policies and practices that are generally considered to meet or exceed industry requirements for protecting user privacy. In particular, personally identifiable information data should be managed and processed to minimize the risk of unintentional or unauthorized access or use, and the nature of authorized use should be clearly indicated to the user.
Claims
1. A hybrid application development method, characterized in that, The hybrid application development method includes: In response to an application creation command, a web application content template for a hybrid application is generated. The hybrid application includes a native layer natively supported by the operating system. The native layer contains a basic library including a web view component and a communication bridge. The web view component is a working component that is supported by default in the native layer and can embed and display web application content blocks. The communication bridge is used for bidirectional communication between the web view component and the web application content blocks. In response to the plugin loading instruction, system native interface and hardware interface plugin templates of the hybrid application are generated, and the system native interface and hardware interface plugin templates are used to call the system native interface and hardware interface; The hybrid application is obtained by compiling the base library, the web application content template, and the system native interface and hardware interface plugin template together.
2. The hybrid application development method as described in claim 1, characterized in that, The web application content template for generating hybrid applications includes: The web application content template is built using native web technologies or front-end frameworks.
3. The hybrid application development method as described in claim 2, characterized in that, The front-end framework includes either the Vue framework or the React framework.
4. The hybrid application development method as described in claim 1, characterized in that, The method further includes: By using languages natively supported by the operating system, add system native interface plugins that call system native interfaces and hardware interface plugins that call hardware interfaces to the system native interface and hardware interface plugin templates.
5. The hybrid application development method as described in claim 1, characterized in that, The process of compiling the base library, the web application content template, and the system native interface and hardware interface plugin template together to obtain the hybrid application includes: The base library, the web application content template, and the system native interface and hardware interface plugin template are mixed and compiled to obtain multiple versions of the hybrid application, which are run on different target platforms.
6. The hybrid application development method as described in any one of claims 1-5, characterized in that, The hybrid application also includes an application layer not natively supported by the operating system, and the method further includes: An interface type constraint file is automatically generated, which defines the Web interface types of the system's native interfaces and hardware interfaces in the application layer.
7. A hybrid application development system, characterized in that, The hybrid application development system includes: The first unit, in response to the application creation command, generates a Web application content template for a hybrid application, wherein the hybrid application includes a native layer natively supported by the operating system, and a basic library including a Web view component and a communication bridge is implemented in the native layer. The Web view component is a working component that is supported by default in the native layer and can embed and display Web application content blocks. The communication bridge is used for bidirectional communication between the Web view component and the Web application content blocks. The second unit, in response to the plugin loading instruction, generates system native interface and hardware interface plugin templates for the hybrid application, which are used to call system native interfaces and hardware interfaces. The third unit involves compiling the base library, the web application content template, and the system native interface and hardware interface plugin template together to obtain the hybrid application.
8. A computing device, characterized in that, include: At least one processor; as well as At least one memory storing instructions that, when executed individually or jointly by the at least one processor, cause the computing device to perform the method according to any one of claims 1 to 6.
9. A computer storage medium storing instructions thereon, characterized in that, When the instructions are executed individually or jointly by at least one processor of the computing device, the computing device performs the method according to any one of claims 1 to 6.
10. A computer program product, comprising instructions, characterized in that, When the instructions are executed individually or jointly by at least one processor of the computing device, the computing device performs the method according to any one of claims 1 to 6.