CN115934074A - Hybrid development device and equipment - Google Patents
Hybrid development device and equipment Download PDFInfo
- Publication number
- CN115934074A CN115934074A CN202211501382.7A CN202211501382A CN115934074A CN 115934074 A CN115934074 A CN 115934074A CN 202211501382 A CN202211501382 A CN 202211501382A CN 115934074 A CN115934074 A CN 115934074A
- Authority
- CN
- China
- Prior art keywords
- flutter
- native
- interface
- stack
- container
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
The application discloses a hybrid development device and equipment. The hybrid skip module pushes a Flutter interface into a Flutter stack for storage in a stack element form, creates each Native container corresponding to each Flutter interface in the Flutter stack, and establishes a unique corresponding relation between the Flutter interface stored in the Flutter stack and the Native container, so that hybrid skip of the Native interface and the Flutter interface is realized. And the similar skipping module realizes skipping between the Flutter interfaces by adopting a single-case Flutter View multiplexing mode. The hybrid development device and the hybrid development equipment realize the capabilities of hybrid UI stack management, hybrid jump and the like between Native and flute through a flute plug-in mechanism, a user does not need to rely on specific implementation details, abstraction of bottom codes and deep decoupling between services can be easily realized, code quality is optimized, and development efficiency of operators is improved.
Description
Technical Field
The present application relates to the field of mobile application development technologies, and in particular, to a hybrid development apparatus and device.
Background
Nowadays, the development technology of the mobile terminal is changing day by day, and various functions required by the mobile terminal are also gradually increasing. However, the mobile terminal is divided into two major operations of Android and IOS, so that two sets of developers are needed for developing the mobile terminal, and the development of the developers needs to rapidly develop the requirements of the two terminals due to the increase of the functional demand, so that the cross-platform development technology is developed at the right moment.
However, since the cross-platform technology and the native technology cannot be used commonly, the native code needs to be rewritten if the cross-platform technology is used, and the development cost is higher, and this situation causes the generation of a hybrid development requirement.
Disclosure of Invention
In view of this, the present application provides a hybrid development apparatus and device, which implement capabilities such as hybrid UI stack management and hybrid jump between Native and flute through a flute plug-in mechanism, so that a user does not need to rely on specific implementation details.
A hybrid development device, comprising:
the hybrid skip module is used for pressing a Flutter interface into a Flutter stack for storage in a stack element form, creating each Native container corresponding to each Flutter interface in the Flutter stack, and constructing the unique corresponding relation between the Flutter interface stored in the Flutter stack and the Native container so as to realize hybrid skip of the Native interface and the Flutter interface;
and the similar skipping module realizes skipping between the Flutter interfaces by adopting a single-case Flutter View multiplexing mode.
Optionally, the hybrid skip module includes:
the relationship building module is used for requesting a Native layer to build a corresponding Native container in a Method Channel mode when a new Flutter interface is jumped to, and reversely requesting the Flutter layer to press the Flutter interface into a Flutter stack for storage;
and the interface skip module is used for performing mixed skip of the Native interface and the Flutter interface according to the skip instruction based on the unique corresponding relation between the Flutter interface and the Native container stored in the Flutter stack after the skip instruction is obtained.
Optionally, the interface skip module includes:
the Flutter skip module extracts a corresponding Native container by requesting the Native layer and reversely requests the Flutter layer to pop up the corresponding Flutter interface in the Flutter stack when the skip instruction is to pop up the Flutter interface, so that the skipping from the Native interface to the Flutter interface is realized;
and the Native skip module pops the corresponding Flutter interface in the Flutter stack by requesting the Flutter layer and reversely requests the Native layer to extract the corresponding Native container when the skip instruction is for popping the Native interface, so that the skip from the Flutter interface to the Native interface is realized.
Optionally, the Flutter skip module includes a first native-side component, a first route parser, a native skip processor, a Flutter plug-in component, and a first Flutter-side component;
the first Native side component responds to the jump instruction and processes jump based on a Native interface and an address path obtained by analysis of the first route analyzer;
the Native jump processor creates jumps and extracts a corresponding Native container;
the Flutter plug-in pops up the Flutter interface corresponding to the extracted Native container in the Flutter stack;
and the first Flutter side component skips and displays the Flutter interface after data analysis.
Optionally, the Native jump module includes a second Flutter-side component, a Native plug-in, a second Native-side component, a second route parser, and a route jump processor;
the second Flutter side component responds to the jump instruction, pops up a corresponding Flutter interface in the Flutter stack, and transmits information to the native plug-in;
the second Native side component extracts a corresponding Native container based on the Native plug-in, and processes and skips according to the address path obtained by analysis of the second route analyzer;
and the route jump processor creates jumps and extracts a corresponding Native interface.
Optionally, the same-class skip module includes a third Flutter-side component and a third native plug-in;
the third Flutter side component sends notification information to the third Native plug-in after popping up the Flutter interface, extracts a corresponding Native container, and analyzes an address path after obtaining the notification information of the third Native plug-in, so as to realize skip among the Flutter interfaces;
and the third Native plug-in forms notification information from the identification information acquired by the corresponding Native container and sends the notification information to the third Flutter-side component.
Optionally, the system further comprises a transition animation unit, which is used for performing unified management on transition animations in the process that the Flutter interface enters the Flutter stack and exits the Flutter stack, and the transition animations are realized by the Native container transition animations corresponding to the Flutter interface.
Optionally, the system further comprises a forced switching unit, configured to switch the current Native container to a visible interactive state after the current Native container is covered, and force a stack element at the top of the Flutter stack to be a Flutter interface corresponding to the current Native container.
Optionally, the system further comprises a forced emptying unit, configured to forcibly empty the Flutter stack in the case that the Native container is fully popped.
A hybrid development apparatus comprising a hybrid development device as claimed in any preceding claim.
It can be seen from the foregoing technical solutions that the hybrid development apparatus and device provided in the embodiments of the present application are composed of a hybrid skip module and a skip module of the same kind. The hybrid skip module pushes a Flutter interface into a Flutter stack for storage in a stack element form, creates each Native container corresponding to each Flutter interface in the Flutter stack, and establishes a unique corresponding relation between the Flutter interface stored in the Flutter stack and the Native container, so that hybrid skip of the Native interface and the Flutter interface is realized. The similar skipping module adopts a single-case Flutter View multiplexing mode to skip among the Flutter interfaces.
The utility model provides a mixed development device and equipment are through the plug-in components of Native and Flutter mixed development, bridge Native and Flutter's data, unified Native and Flutter's route is jumped, realize the multiplexing of memory, through Flutter plug-in components mechanism realized the mixed UI stack management between Native and the Flutter and mixed ability such as jump, thereby solve the difficult point of mixed development, improve the development efficiency of mixed development, provide the basic ability of mixed development for mobile application development. Based on the application, operators do not need to rely on specific implementation details, abstraction of bottom layer codes and deep decoupling between services can be easily achieved, code quality is optimized, and development efficiency of the operators is improved. Meanwhile, the URL is used as a uniform interface target description, the implementation details of navigation jumping are shielded from the UI interface, and the functions of redirecting jumping interface and degrading in operation can be easily realized by combining with configuration management. And a single-case Flutter View mode is adopted for multiplexing, so that the official operation mode of the Flutter is optimized, the resource use is reduced, and the use efficiency of unit resources is improved.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the embodiments or the prior art descriptions will be briefly described below, it is obvious that the drawings in the following description are only the embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
Fig. 1 is a block diagram illustrating a hybrid development apparatus according to an embodiment of the present disclosure;
fig. 2 is a schematic diagram illustrating an operation manner of a Flutter skip module disclosed in an embodiment of the present application;
fig. 3 is a schematic diagram of a working method of a Native skip module disclosed in an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present application without making any creative effort belong to the protection scope of the present application.
The embodiment of the application provides a hybrid development device, which can be applied to various mobile application development processes and provides hybrid development, so that the online application dynamic configuration skip is realized, the online app of an operator control line does not need to be re-published to solve the problem, and the development efficiency can be improved and the code quality can be optimized.
The following is a description of the present application, which proposes the following technical solutions, and is referred to in detail below.
Fig. 1 is a block diagram of a hybrid development apparatus disclosed in an embodiment of the present application, and as shown in fig. 1, the apparatus may include a hybrid skip module 1 and a homogeneous skip module 2.
The hybrid skip module 1 is used for pressing the Flutter interface into the Flutter stack for storage in a stack element form, creating each Native container corresponding to each Flutter interface in the Flutter stack, and constructing the unique corresponding relation between the Flutter interface and the Native container stored in the Flutter stack to realize hybrid skip of the Native interface and the Flutter interface.
The similar skip module 2 realizes skip among the Flutter interfaces by adopting a single-case Flutter View multiplexing mode.
Specifically, flutter supports cross-end developed software with a corresponding rendering engine. Because the flute takes the Native View as a container, all interfaces in the flute belong to self-drawing and management in the container, although the flute already supports embedding Native View at present, the rendering picture in the Native View is only mapped into the flute, the processing cost is high, a large amount of use is not available, and the requirement on the system is high at the stage of previewing version at present, and the Android is required to be more than API 20. Therefore, to realize the mixed skip of Native and flute, the mixed skip device provided by the application pushes the flute interface into the flute stack for storage in a stack element form, creates each Native container corresponding to the flute interface in the flute stack, and establishes the unique corresponding relation between the flute interface and the Native container stored in the flute stack.
And a new Native container (Activity, UI Viewcontroller) is used when the interface jumps to a new Flutter interface every time, and the Native container and the Flutter interface pop up together when the interface jumps out, so that the one-to-one correspondence relationship between the Native container and the Flutter interface is actually established. The simplest form is that each Native container creates a fluter View, where the fluter View is actually a real View container of the fluter on the Native side, and corresponding to the real View container, the fliter View is consistent with the skip management of the Native layer when skipping, that is, the fluter stack does not need to be managed.
Meanwhile, in order to better compatible with Android and iOS and unify a jump management mechanism, the device is multiplexed in a single-case Flutter View mode. And the multiplexing Flutter View is adopted, so that the problem that the expenditure of a memory, a thread and the like is very large due to the fact that the current Flutter View and the Flutter Engine have a one-to-one relationship, namely, the creation of a new Flutter View means the creation of a new Engine.
It can be seen from the foregoing technical solutions that the hybrid development apparatus and device provided in the embodiments of the present application are composed of a hybrid skip module and a skip module of the same kind. The hybrid skip module pushes the Flutter interface into the Flutter stack for storage in a stack element form, creates each Native container corresponding to each Flutter interface in the Flutter stack, and establishes the unique corresponding relation between the Flutter interface stored in the Flutter stack and the Native container, so that hybrid skip of the Native interface and the Flutter interface is realized. The similar skipping module adopts a single-case Flutter View multiplexing mode to skip among the Flutter interfaces.
The mixed development device and the equipment of this application are through Native and the plug-in components of flute mixed development, bridge Native and flute's data, unified Native and flute's route is jumped, realize the multiplexing of memory, mixed UI stack management and mixed ability such as jumping between Native and the flute have been realized through flute plug-in components mechanism, thereby solve the difficult point of mixed development, improve the development efficiency of mixed development, provide the basic ability of mixed development for mobile application development. Based on the application, operators do not need to rely on specific implementation details, abstraction of bottom layer codes and deep decoupling between services can be easily achieved, code quality is optimized, and development efficiency of the operators is improved. Meanwhile, the URL is used as a uniform interface target description, the implementation details of navigation jumping are shielded from the UI interface, and the functions of redirecting jumping interface and degrading in operation can be easily realized by combining with configuration management. And a single-case Flutter View mode is adopted for multiplexing, so that the official operation mode of the Flutter is optimized, the resource use is reduced, and the use efficiency of unit resources is improved.
In other embodiments of the present application, the hybrid skip module 1 is introduced, and may specifically include a relationship building module 10 and an interface skip module 20.
The relationship building module 10 is configured to, when a new Flutter interface is skipped, request the Native layer to create a corresponding Native container in a Method Channel manner, and reversely request the Flutter layer to push the Flutter interface into the Flutter stack for storage.
After the interface jump module 20 obtains the jump instruction, based on the unique corresponding relationship between the Flutter interface and the Native container stored in the Flutter stack, the hybrid jump between the Native interface and the Flutter interface is performed according to the jump instruction.
Specifically, when jumping to a new Flutter interface, a Native layer is requested to create a container first by a Method Channel, and then a Flutter layer is requested to press the Flutter interface into a Flutter stack for storage by a Method Channel reverse direction after the container is created. When the Native stack is required to be popped up, the Native layer is also required to operate, the container is output from the Native layer pop, and then the Flutter layer pop is reversely enabled, so that the relationship of each stack element of the Native container and the Flutter stack can be in one-to-one correspondence. Note that here correspondence is limited to between Native containers and Flutter, as Native itself may also have other non-container Native interfaces.
Optionally, the interface jump module 20 may be further divided into a Flutter jump module 210 and a Native jump module 220.
The Flutter skip module 210 extracts a corresponding Native container by requesting the Native layer and reversely requests the Flutter layer to pop up the corresponding Flutter interface in the Flutter stack when the skip instruction is to pop up the Flutter interface, so that skip from the Native interface to the Flutter interface is realized.
And the Native skip module 220 is used for popping the corresponding Flutter interface in the Flutter stack by requesting the Flutter layer and reversely requesting the Native layer to extract the corresponding Native container when the skip instruction is to pop the Native interface, so that the jump from the Flutter interface to the Native interface is realized.
Specifically, when the jump instruction is to pop up the Flutter interface, the Flutter jump module needs to execute a jump from the Flutter interface to the Native interface. The method specifically comprises the steps of requesting a Native layer to extract a corresponding Native container through a Flutter skip module, and reversely requesting the Flutter layer to pop up a corresponding Flutter interface in a Flutter stack, so that skipping from the Native interface to the Flutter interface is realized.
When the jump instruction is to pop up the Native interface, the Native jump module needs to execute the jump from the router interface to the Native interface. The specific mode of the skip is that a Native skip module requests a Flutter layer to pop up a corresponding Flutter interface in a Flutter stack and reversely requests the Native layer to extract a corresponding Native container, so that the skip from the Flutter interface to the Native interface is realized.
In other embodiments of the present application, the Flutter jump module 210 is described.
Fig. 2 is a schematic diagram of a working manner of the Flutter skip module, and the following describes the Flutter skip module 210 in detail with reference to fig. 2, where the Flutter skip module 210 may include:
the Flutter skip module comprises a first native side component, a first route resolver, a native skip processor, a Flutter plug-in and a first Flutter side component;
the first Native side component responds to the jump instruction and processes jump based on a Native interface and an address path obtained by analysis of the first route analyzer;
the Native jump processor creates jumps and extracts corresponding Native containers;
the Flutter plug-in pops up the Flutter interface corresponding to the extracted Native container in the Flutter stack;
and the first Flutter side component skips and displays the Flutter interface after data analysis.
Specifically, the first Native-side component responds to the jump instruction, that is, the content is the jump instruction for controlling the jump from the Native interface to the Flutter interface. The first Native side component processes the jump based on a Native interface, namely an original Native interface to be jumped to a corresponding Flutter interface, and an address path obtained by analysis of the first route analyzer. And then the Native jump processor creates jumps and extracts the corresponding Native container. And the Flutter plug-in pops up the Flutter interface corresponding to the extracted Native container in the Flutter stack, and the first Flutter side component skips and displays the Flutter interface after data analysis, so that the skip from the Native interface to the Flutter interface is completed.
In other embodiments of the present application, the Native jump module 220 is described.
Fig. 3 is a schematic diagram of a working mode of the Native skip module, and the Native skip module 220 is specifically described below with reference to fig. 3, where the Native skip module 220 may include:
the Native skip module comprises a second Flutter side component, a Native plug-in, a second Native side component, a second route resolver and a route skip processor;
the second Flutter-side component responds to the jump instruction, pops up a corresponding Flutter interface in the Flutter stack, and transmits information to the native plug-in;
the second Native side component extracts a corresponding Native container based on the Native plug-in, and processes and skips according to the address path obtained by analysis of the second route analyzer;
and the route jump processor creates a jump and extracts a corresponding Native interface.
Specifically, the second Flutter-side component responds to the jump instruction, that is, the content is a jump from the Flutter interface to the Native interface. And the second Flutter side component pops up the corresponding Flutter interface in the Flutter stack and transmits information to the native plug-in. And the Native plug-in extracts a corresponding Native container based on the transparent transmission information. And the second Native side component extracts a corresponding Native container based on the Native plug-in, and processes and skips according to the address path obtained by analysis of the second route analyzer. And then the route jump processor creates a jump and extracts a corresponding Native interface, thereby completing the jump from the Flutter interface to the Native interface.
In other embodiments of the present application, the jump-of-the-same-kind module 2 is introduced, and the jump-of-the-same-kind module 2 specifically may include:
the same-class jump module comprises a third Flutter side component and a third native plug-in;
the third Flutter-side component sends notification information to the third Native plug-in after popping up the Flutter interface, extracts a corresponding Native container, analyzes an address path after obtaining the notification information of the third Native plug-in, and realizes jumping among the Flutter interfaces;
and the third Native plug-in forms notification information from the identification information acquired by the corresponding Native container and sends the notification information to the third Flutter-side component.
Specifically, in order to better compatible with Android and iOS and unify a jump management mechanism, the device is multiplexed in a single-case Flutter View manner. And a Flutter UI stack exists in the Flutter View single case, and the stack entry is carried out when a new Flutter interface is opened.
The similar skipping module is used for executing skipping inside the FLUTTER, and the skipping mode is as follows:
firstly, the third Flutter-side component sends notification information to the third Native plug-in unit after popping up the Flutter interface and extracts the corresponding Native container. And then, the third Native plug-in forms notification information from the identification information acquired by the corresponding Native container and sends the notification information to the third Flutter-side component. And finally, the third Flutter side component resolves the address path after acquiring the notification information of the third native plug-in, so as to realize the skip between the Flutter interfaces.
In other embodiments of the application, the hybrid development device may further include a transition animation unit, configured to uniformly manage transition animations in the processes of entering and exiting the Flutter stack from the Flutter interface, where the transition animations are implemented by the Native container transition animations corresponding to the Flutter interface.
Optionally, transition animations in the stacking and popping processes are uniformly realized by the transition animations of the Native container, and user experience is uniform. And removing the Flutter View single instance from the original Native container during the stacking, wherein the original Native container keeps the screenshot before the original Native container is removed and displays the screenshot in the Native container to ensure that the transition animation is visible.
The hybrid development device further comprises a forced switching unit, which is used for switching the current Native container into a visible interactive state after the current Native container is covered, and forcing the stack element at the top of the Flutter stack to be the Flutter interface corresponding to the current Native container.
The hybrid development device also comprises a forced emptying unit used for forcibly emptying the Flutter stack under the condition that the Native container is fully popped.
Specifically, since the process of Flutter and the process of Native are not in the same thread, the above call actually involves switching threads and is executed asynchronously. In addition, for insurance, when the Native container is switched to the visible interactive state (onResume, viewDidApper) again after being covered, the stack element at the top of the Flutter stack is forced to be the Flutter interface corresponding to the current container, and if other interfaces exist in the upper layer, the upper layer directly exits from the Flutter stack. And when the Native container is completely popped up, forcibly emptying the flute stack, and reserving the root interface at the bottom of the stack. In addition, the uniqueness of each interface instance (including Native and Flutter) must be guaranteed, and each interface instance uses URL and InstanceKey to jointly determine the uniqueness. Since only a single instance of Flutter View is always displayed on the top of the stack, but the scene cut occurs when the interface jumps, it is necessary to ensure that the interface to be covered in the scene cut can be displayed correctly by means of retaining the last screenshot.
The URL mode adopted by the hybrid development device is used as a uniform interface target description, meanwhile, any navigation jump logic and details are not exposed to the UI, and redirection and degradation can be easily realized through configuration. Based on the hidden skip and the URL adopted by the application as the unified interface target description, the abstraction of bottom layer codes and the deep decoupling between services can be easily realized, the online dynamic configuration skip can also be realized, the problem can be solved without re-publishing of the app on the control line of an operator, and the development efficiency can be improved and the code quality can be optimized.
The hybrid development device provided by the embodiment of the application can be applied to hybrid development equipment, and comprises the hybrid development device according to any embodiment. It should be understood that, in practical applications, the division of each virtual module in the hybrid development device may be changed to different degrees based on actual needs, but in the case that the functions of the virtual modules are not changed or are consistent, the division of other virtual modules that are not illustrated also falls within the protection scope of the present application.
It can be seen from the foregoing technical solutions that the hybrid development device provided in the embodiments of the present application includes a hybrid skip module and a similar skip module. The hybrid skip module pushes the Flutter interface into the Flutter stack for storage in a stack element form, creates each Native container corresponding to each Flutter interface in the Flutter stack, and establishes the unique corresponding relation between the Flutter interface stored in the Flutter stack and the Native container, so that hybrid skip of the Native interface and the Flutter interface is realized. The similar skipping module adopts a single-case Flutter View multiplexing mode to skip among the Flutter interfaces.
The mixed development equipment of this application is through Native and the plug-in components of flute mixed development, bridge Native and flute's data, unified Native and flute's route is jumped, realize the multiplexing of memory, mixed UI stack management and mixed ability such as jumping between Native and the flute have been realized through flute plug-in components mechanism, thereby solve the difficult point of mixed development, improve the development efficiency of mixed development, provide the basic ability of mixed development for mobile application development. Based on the application, operators do not need to rely on specific implementation details, abstraction of bottom layer codes and deep decoupling between services can be easily achieved, code quality is optimized, and development efficiency of the operators is improved. Meanwhile, the URL is used as a uniform interface target description, the implementation details of navigation jumping are shielded from the UI interface, and the functions of redirecting jumping interface and degrading in operation can be easily realized by combining with configuration management. And a single-case Flutter View mode is adopted for multiplexing, so that the official operation mode of the Flutter is optimized, the resource use is reduced, and the use efficiency of unit resources is improved.
Finally, it should also be noted that, in this document, relational terms such as first and second, and the like are used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrases "comprising one of 8230; \8230;" 8230; "does not exclude the presence of additional like elements in a process, method, article, or apparatus that comprises the element.
The embodiments in the present description are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (10)
1. A hybrid development apparatus, comprising:
the hybrid skip module is used for pressing a Flutter interface into a Flutter stack for storage in a stack element form, creating each Native container corresponding to each Flutter interface in the Flutter stack, and constructing the unique corresponding relation between the Flutter interface stored in the Flutter stack and the Native container so as to realize hybrid skip of the Native interface and the Flutter interface;
and the similar skipping module adopts a single-case Flutter View multiplexing mode to skip among Flutter interfaces.
2. The apparatus of claim 1, wherein the hybrid skip module comprises:
the relationship building module is used for requesting a Native layer to create a corresponding Native container in a Method Channel mode when a new Flutter interface is jumped to, and reversely requesting the Flutter layer to press the Flutter interface into the Flutter stack for storage through the Method Channel;
and the interface skipping module is used for carrying out mixed skipping on the Native interface and the Flutter interface according to the skipping instruction based on the unique corresponding relation between the Flutter interface and the Native container stored in the Flutter stack after the skipping instruction is obtained.
3. The apparatus of claim 1, wherein the interface jump module comprises:
the Flutter skip module extracts a corresponding Native container by requesting the Native layer and reversely requests the Flutter layer to pop up the corresponding Flutter interface in the Flutter stack when the skip instruction is to pop up the Flutter interface, so that the skipping from the Native interface to the Flutter interface is realized;
and the Native skip module is used for popping the corresponding Flutter interface in the Flutter stack by requesting the Flutter layer and reversely requesting the Native layer to extract a corresponding Native container when the skip instruction is used for popping the Native interface, so that the skip from the Flutter interface to the Native interface is realized.
4. The apparatus according to claim 3, wherein the Flutter jump module comprises a first native-side component, a first route parser, a native jump processor, a Flutter plugin, and a first Flutter-side component;
the first Native side component responds to the jump instruction and processes jump based on a Native interface and an address path obtained by analysis of the first route analyzer;
the Native jump processor creates jumps and extracts a corresponding Native container;
the Flutter plug-in pops up the Flutter interface corresponding to the extracted Native container in the Flutter stack;
and the first Flutter side component skips and displays the Flutter interface after data analysis.
5. The apparatus of claim 3, wherein the Native hop module comprises a second Flutter-side component, a Native plug-in, a second Native-side component, a second route parser, and a route hop processor;
the second Flutter-side component responds to the jump instruction, pops up a corresponding Flutter interface in the Flutter stack, and transmits information to the native plug-in;
the second Native side component extracts a corresponding Native container based on the Native plug-in, and processes and skips according to the address path obtained by analysis of the second route analyzer;
and the route jump processor creates a jump and extracts a corresponding Native interface.
6. The apparatus of claim 1, wherein the homogeneous jump module comprises a third Flutter-side component and a third native plug-in;
the third Flutter side component sends notification information to the third Native plug-in after popping up the Flutter interface, extracts a corresponding Native container, and analyzes an address path after obtaining the notification information of the third Native plug-in, so as to realize skip among the Flutter interfaces;
and the third Native plug-in forms notification information from the identification information acquired by the corresponding Native container and sends the notification information to the third Flutter-side component.
7. The device of claim 1, further comprising a transition animation unit, configured to uniformly manage transition animations in the process of the Flutter interface entering and exiting the Flutter stack, where the transition animations are implemented by transition animations of a Native container itself corresponding to the Flutter interface.
8. The apparatus according to claim 1, further comprising a forced switching unit configured to switch a current Native container to a visible interaction state after the current Native container is covered, and to force stack elements at the top of the Flutter stack to be a Flutter interface corresponding to the current Native container.
9. The apparatus according to claim 1, further comprising a forced emptying unit for forced emptying of the Flutter stack in case of a Native container full pop.
10. A hybrid development device characterized by comprising the hybrid development apparatus of any one of claims 1 to 9.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211501382.7A CN115934074A (en) | 2022-11-28 | 2022-11-28 | Hybrid development device and equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211501382.7A CN115934074A (en) | 2022-11-28 | 2022-11-28 | Hybrid development device and equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115934074A true CN115934074A (en) | 2023-04-07 |
Family
ID=86648375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211501382.7A Pending CN115934074A (en) | 2022-11-28 | 2022-11-28 | Hybrid development device and equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115934074A (en) |
-
2022
- 2022-11-28 CN CN202211501382.7A patent/CN115934074A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108491275B (en) | Program optimization method, device, terminal and storage medium | |
CN111158818B (en) | Page rendering method and device | |
JP6740373B2 (en) | Page component dynamic layout | |
CN103001963B (en) | For the method and system of the page navigation feature of minimum download and simulation | |
CN108810646B (en) | Group information push control method and device and computer readable storage medium | |
EP2453634A1 (en) | Adaptive Streaming For On Demand Wireless Services | |
CN107092475B (en) | Calling method and device of interactive control | |
CN103970563B (en) | The method of dynamic load Android class | |
CN112331235B (en) | Multimedia content editing control method and device, electronic equipment and storage medium | |
US9979611B2 (en) | Client-server system for network services and applications for mobile telecommunications terminals | |
CN111158690B (en) | Desktop application framework, construction method, desktop application running method and storage medium | |
CN112235357B (en) | Cross-platform application development system | |
CN107402747A (en) | A kind of five application page dynamic creation method for supporting multiple terminals type | |
CN111930382B (en) | Application page access method, device and equipment | |
CN109885355A (en) | A kind of application starting method and relevant apparatus | |
Bouillon et al. | Retargeting web pages to other computing platforms with VAQUITA | |
US20110320286A1 (en) | System And Method For Integrating An Ad Banner With A Calling Application | |
CN102622217B (en) | A kind of method and system running application across screen | |
CN114168460B (en) | Remote debugging method, device and storage medium for front-end codes in hybrid development | |
CN105335132A (en) | Method, apparatus and system for user-defined application function | |
CN110688601A (en) | Data processing method and device | |
CN113076163A (en) | Card rendering method and device | |
US9198009B2 (en) | System and method for providing end to end interactive mobile applications using SMS | |
CN101346994A (en) | Method for optimizing the rendering of a multimedia scene, corresponding program, signal, data medium, terminal and receiving method | |
CN109343970B (en) | Application program-based operation method and device, electronic equipment and computer medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |