WO2017219833A1 - 一种应用程序页面开发管理方法及装置 - Google Patents

一种应用程序页面开发管理方法及装置 Download PDF

Info

Publication number
WO2017219833A1
WO2017219833A1 PCT/CN2017/086702 CN2017086702W WO2017219833A1 WO 2017219833 A1 WO2017219833 A1 WO 2017219833A1 CN 2017086702 W CN2017086702 W CN 2017086702W WO 2017219833 A1 WO2017219833 A1 WO 2017219833A1
Authority
WO
WIPO (PCT)
Prior art keywords
page
managed
application
template
unique identifier
Prior art date
Application number
PCT/CN2017/086702
Other languages
English (en)
French (fr)
Inventor
吴新玉
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2017219833A1 publication Critical patent/WO2017219833A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Definitions

  • the present invention relates to the field of network technologies, and in particular, to an application page development management method and apparatus.
  • Hybrid App refers to an app between Web App and Native App.
  • Hybrid App mainly calls JavaScript and Native. It can call the native device function of the terminal, which improves the user experience well. Because it uses the webpage language, it realizes the mechanism of “one development, multiple operations” from the development level, which reduces the development cost and is suitable for cross-platform development. . Due to the "Native App's good user interaction experience” and "Web App cross-platform development advantages", Hybrid App is widely used. At present, many Hybrid App development applications have been successfully applied, such as Baidu, NetEase, and Streetside. Mobile apps are all based on the Hybrid App development model.
  • the existing Hybrid App development platforms are mainly Cordova and AppCan, among which Cordova supports iOS (Apple's mobile operating system), Android (Google developed operating system), Ubuntu phone os (Ubuntu operating system), Blackberry (Blackberry) Operating system), Windows Phone (Microsoft's mobile operating system), Bada (Samsung's operating system) and Symbian (Saipan system) and many other operating systems, but because Cordova uses Web programming language for page development, directly in the Activity Set the Web view to achieve page switching, so it is easy to call the mobile device's native device function in the App, such as camera, microphone, slow start effect, slow page switch, slow data request and so on.
  • Cordova uses Web programming language for page development, directly in the Activity Set the Web view to achieve page switching, so it is easy to call the mobile device's native device function in the App, such as camera, microphone, slow start effect, slow page switch, slow data request and so on.
  • the main technical problem to be solved by the solution provided by the embodiment of the present invention is to provide an application page development management method, which is used to solve the problem that the page of the Hybrid App in the prior art is implemented only by the Web programming language, so that the webpage data request and response are slow.
  • the technical problem of low user experience is poor.
  • an embodiment of the present invention provides an application page development management method, including:
  • the page template is encapsulated into a page window instance and stored in a page pool corresponding to the application, and the page window instance inherits the main unique identifier of the corresponding page template;
  • Each of the to-be-managed pages is managed according to the running process of the application and the unique identification information of each to-be-managed page; each of the to-be-managed pages is formed based on each of the page window instances in the page pool;
  • the unique identification information of the to-be-managed page includes a primary unique identifier that forms an instance of the page window of the to-be-managed page.
  • An embodiment of the present invention further provides an application page development management apparatus, including:
  • the template obtaining module is configured to obtain a page template based on the fragment development technology and a primary unique identifier of the page template according to a page requirement of the application, and at least one of the page templates includes content written in a native language;
  • the instance encapsulating module is configured to encapsulate the page template into a page window instance and store it in a page pool corresponding to the application, where the page window instance inherits the main unique identifier of the corresponding page template;
  • the page management module is configured to manage each to-be-managed page according to the running process of the application and the unique identification information of each to-be-managed page; each of the to-be-managed pages is based on each of the pages in the page pool
  • the page window instance is formed; the unique identifier information of the page to be managed includes a master unique identifier forming an instance of the page window of the page to be managed.
  • the embodiment of the present invention further provides a computer storage medium, where the computer storage medium stores computer executable instructions, and the computer executable instructions are used to execute the application page development management method of any of the foregoing.
  • An application page development management method, apparatus, and computer storage medium obtains a page template according to a page requirement of an application, and encapsulates a page template based on the fragment development technology into a page window instance including a primary unique identifier, and It is stored in the page pool corresponding to the application, and then manages each to-be-managed page according to the unique identification information of the management page of the application running process.
  • the page window instance is no longer only implemented by the Web language, and the same to-be-managed pages formed according to the page window instance are not limited to Web pages, in addition to Web pages implemented by the Web programming language, may also include native pages developed by native languages, and mixed pages developed using both native languages and Web programming languages. Therefore, in the embodiment of the present invention, The Hybrid App developed by the application page development management method can make full use of the advantages of the native language to develop the page. When a page needs to implement the function of calling the local application, the page can be a mixed page or a native page, which can improve Responsive speed, optimize display performance, and thus improve user experience.
  • Embodiment 1 is a flowchart of an application page development management method provided in Embodiment 1 of the present invention
  • Embodiment 2 is a flowchart of an application page development management method provided in Embodiment 2 of the present invention.
  • FIG. 3 is a flowchart of a process for creating a to-be-managed page according to Embodiment 2 of the present invention
  • FIG. 4 is a schematic structural diagram of an application page development management apparatus according to Embodiment 3 of the present invention.
  • Embodiment 1 is a diagrammatic representation of Embodiment 1:
  • FIG. 1 is a flowchart of an application page development management method provided by this embodiment:
  • Each different app has unique page requirements. For example, a dating app may need a “buddy list interface”, a “friend information display interface”, and a “chat interface”, etc., and an app for online shopping may need “Store display interface”, “product list interface”, “product parameter interface”, “comment display interface”, etc., so when developing an app, developers need to develop pages according to the specific needs of the app. Since the App page in this embodiment is generated by using the page template, the page template needs to be obtained according to the page requirement of the App.
  • one piece of clothing costs 100 yuan. It is made of wool fiber, and there are three photos. Then you can choose to fill the material description template with the data representing the wool fiber, fill the data with the characterization value 100 on the price display page, and add the encoded data of the three photos to the physical display template. can.
  • the developer configures a primary unique identifier for it.
  • the primary unique identifier can be a URL (Uniform Resource Locator).
  • the page templates includes content written in a native language, that is, the page template includes at least a native page template developed in a native language or a mixed page template implemented in a native language and a Web programming language.
  • the native language refers to a programming language that implements a terminal operating system.
  • the native language is the Android language.
  • Web programming language divided into Web static language and Web dynamic language, Web static language is commonly seen hypertext markup language, such as HTML5, Web dynamic language mainly includes ASP (Active Server Page), JavaScript (Java Scripting language), CSS (Cascading Style Sheets), etc.
  • Fragment development technology is Fragment, because the App runs on a variety of devices, there are small screen mobile phones, large screen flats and even TV. For the gap of the screen size, in the case that the Fragment does not appear, the app is first developed for the mobile phone, and then when the app needs to run on the large-screen device, the page layout of the mobile app can be modified to adapt to the tablet or The big screen of the TV. But this method is quite troublesome, and the emergence of Fragment is to solve such problems.
  • Fragment is equivalent to an interface of the Activity, the interface of the Activity can be completely different Fragment composition, each Fragment has the ability to independently receive and process user events, and although all Fragments in an App depend on the Activity, each Fragment has its own life cycle.
  • Fragment does not exist in the Activity alone. It depends on Window. Window is used to hold Fragment. It exists as a container of Fragment. Fragment corresponds to Window one by one. For a simple example, if you compare a Fragment to a canvas, then Window is equivalent to holding up the frame of the canvas. A canvas and an Activity are equivalent to a wall with one or more frames hanging; No matter what kind of pattern is drawn in the canvas, the layout and placement of the frame on the wall can be free. A frame can occupy only a small area of the wall or occupy the entire wall. surface.
  • the page templates obtained in the process of obtaining the page template are implemented based on Fragment, such as a native page template and a mixed page template, and some are not implemented by a Fragment, such as a Web page template. Therefore, for those page templates that are not implemented by Fragment, further fragmentation processing is required according to the Fragment technique. For those page templates that are originally based on the Fragment implementation, before the corresponding page template is obtained, the Fragment base class needs to be displayed to the developer.
  • the Fragment base class is used to define the relevant specification parameters of the developed page, which is equivalent to a set of standards. . I can imagine the development of a native page template or a mixed page template as a painting competition. The organizer stipulates the size of the entries. After the players learn the rules, they will get the canvas of the corresponding size and then the canvas. In the case of creation, the entries submitted by these players are the ones that satisfy the qualifications. In the development of native page templates or mixed pages, the developer is equivalent to the contestants.
  • the Fragment base class is equivalent to the entry rules. The developer inherits the Fragment base class. The development of the Fragment-based page is equivalent to a contestant who understands the rules and is in compliance with the regulations. The same is done on the canvas.
  • S104 Encapsulate the page template into a page window instance and store it in a page pool corresponding to the application.
  • the page window instance inherits the main unique identifier of the page template, that is, the page window instance has a master unique identifier that is the same as the page template forming its own. .
  • the developer develops an A-type native page template and determines a primary unique identifier 123 for it.
  • the page window instance a also has a primary unique identifier. And this main unique identifier is 123.
  • the page of the App is managed based on the page pool, and one App corresponds to a page pool, and the page pool stores the instance of each page window formed by the above package.
  • S106 Manage each to-be-managed page according to the running process of the application and the unique identification information of each to-be-managed page.
  • the to-be-managed page is formed based on the page window instance in the page pool. As with the example enumerated in S102, the to-be-managed page may be formed by populating parameter information by the corresponding page window instance.
  • the application page development management method can manage these pages, and these pages are collectively referred to as to-be-managed pages.
  • Each of the to-be-managed pages has unique identification information, and the unique identification information includes forming the to-be-managed page.
  • the main unique identifier of the required page window instance in addition to the main unique identifier, the unique identifier information includes feature parameters that can distinguish the to-be-managed page from other pages to be managed that are also formed according to the same page window instance. For example, there are three pages to be managed which are formed according to the instance of the a page window.
  • the unique identification information of the three pages to be managed are "123.1”, “123.2”, “123.3”, among which "123” is formed.
  • the main unique identifier of the page window instance a of the three to-be-managed pages, and the following characters "1", "2", and "3" are the feature parameters of the three pages to be managed, respectively.
  • the padding parameter is obtained according to the unique identifier information of the to-be-managed page that needs to be created, and is substantially obtained according to the feature parameter in the unique identifier information.
  • the unique identification information of the generated to-be-managed page is "123.3" according to the current request of the user, firstly, according to the primary unique identifier "123", it is determined that the page window instance to be used by the page is a, and then the server is based on the character "3". The side obtains the padding parameters of the "123.3” to be managed page, and then fills the padding parameters into the page window instance a to form a to-be-managed page "123.3”, and presents the to-be-managed page "123.3” to the user. For the life cycle of the page to be managed "123.3", this process is its "creation event", which is the Creat event.
  • the user When the user needs to jump from one to-be-managed page to another to-be-managed page, for example, when jumping from the first to-be-managed page to the second to-be-managed page, in addition to the above-mentioned creation process, the user is required to create the current In addition to the second to-be-managed page, the first to-be-managed page needs to be processed accordingly. From the perspective of the user's perception, the first to-be-managed page needs to be hidden and the second to-be-managed page needs to be displayed.
  • the event display on the to-be-managed page can be paused at this time, and the event display is an operation of transmitting information to the user, for example, Play music, play videos, display dynamics, still pictures, and more. This can reduce the burden on the terminal when the app is running, that is, realize the weight reduction of the app.
  • the management of the first to-be-managed page further includes determining, according to the first jump parameter specified by the interface of the native layer or the Web layer, whether the first page needs to be pushed, and the stacking operation includes storing the first to-be-managed page.
  • the first jump parameter indicates that the first to-be-managed page does not need to be pushed
  • the first to-be-managed page does not need to be stored in the cache management stack, and the first to-be-managed page can be performed. Destroy operation.
  • the animation effect when switching from the first to-be-managed page to the second to-be-managed page may be determined, for example, left-to-right-out, fade-in, up-and-down, spin-out, etc.
  • the effect can increase the interest of the app to a certain extent, and improve the user experience of the user.
  • the operation performed on the first to-be-managed page is its "pause event", that is, the Pause event.
  • the App jumps from the to-be-managed page A to The page B to be managed, and then the page to be managed C and the page D to be managed are sequentially jumped from the page B to be managed, and are currently in the browsing of the page E to be managed.
  • the four to-be-managed pages of A, B, C, and D are all pushed into the stack. At this point, the cache management stack from the bottom of the stack to the top of the stack is the page A to be managed, and the page to be managed. B.
  • the to-be-managed page may enter the "destroy" process, ie experience " Destory event.”
  • the destroying event does not destroy the page window instance corresponding to the page to be managed, but only destroys the padding parameter on the to-be-managed page, obtains the page window instance, and then still the page window instance. Stored in the page pool corresponding to the app.
  • the “Destory event” may also destroy the data in the cache management stack of the to-be-managed page.
  • multiple pages can be destroyed at one time. For example, if the cache management stack stores from the bottom of the stack to the top of the stack, the page A to be managed, the page to be managed B, the page to be managed C, and the page to be managed D, respectively, and the user enters again from the page E to be managed.
  • the to-be-managed page that has experienced the “Destory event” has all the pages included in the to-be-managed page E and the page B to be managed in the cache management stack, that is, the entry into the “Destory event” includes to be managed.
  • Pages C, D, E three pages.
  • the page of the application in the prior art can only be implemented by the web language.
  • the application page development management method in this embodiment provides multiple instances of the page window for the implementation of the application page, in addition to the instance of the web page window. Includes mixed page window instances, native page window instances. Therefore, the App page developed according to the application management method of the embodiment can no longer rely solely on the Web language implementation.
  • the page development can be further combined with the native language. In this case, Make full use of the advantages of the native language, such as when calling the native function of the terminal through the native language, so as to avoid the slow response of the Web language implementation, and improve the user experience.
  • Embodiment 2 is a diagrammatic representation of Embodiment 1:
  • the development project When the development project is determined, it will determine the functions that it can implement, such as displaying product information, store information, and displaying user's comment information to the user. Then, the product information display page needs to display the physical picture of the product and the product. Specific parameter information, the price of the product. So developers need to develop the corresponding page template according to the functions that the app needs to implement.
  • developers can use the native language, the Web language, or both languages in the same page template. If the app is developed for the Android system, the developer can use the Android language or the Web language.
  • the Web language includes HTML5, JavaScript, CSS, and the like.
  • Developer development of the page is divided into two major categories: if it develops a web page template, then it can only complete the development of the page. If the page template developed by the user is a native page template or a mixed page template, then it needs to obtain the Fragment base class first, and then implement the corresponding page template development based on the base class.
  • the developer needs to assign a primary unique identifier to each page template during the development phase.
  • the primary unique identifier is in the App.
  • the run phase is essential because it is only based on the master unique identifier to determine which page template to use when presenting a page to the user.
  • the developer inherits the Fragment base class to develop the page template.
  • the native page template or the mixed page template developed by the developer is based on Fragment.
  • inheriting the Fragment base class for development is only for the development of native page templates or the development of hybrid page templates. If a developer wants to develop a Web page template, no reference is needed, because the Fragment of the Web page template can be run.
  • the development platform of the application development management method provided by this embodiment is implemented.
  • the page template based on the fragment development technology is obtained here, that is, the page template based on the Fragment is also divided into two cases: the native page template or the mixed page template can be directly obtained based on Fragment's page template, and if it is a web page template, you need to process the fragmentation of the web page template after obtaining the page template developed by the developer, that is, according to the Fragment technology.
  • the main unique identifier of the page template is obtained, and the main unique identifier may be a URL.
  • Encapsulating a page template into a page window instance actually encapsulates the Fragment and the window.
  • the Fragment does not exist separately in the Activity of the App, and needs to be supported by the window.
  • the page window instance inherits the main unique identifier of the page template.
  • a page pool is a collection of page template resource stores.
  • the page pool has an instance of the page window formed by the various page template packages developed by the developer for this app. The following describes the process of creating a page to be managed:
  • the creation of the to-be-managed page needs to be performed according to the user's needs. It is assumed that the user has entered a store w from the online shopping app, and found a favorite clothes from the page of the product list. Now, the user clicks on the clothes and wants to Go to the relevant page for details.
  • the request may be generated according to an action of the user clicking the clothes, where the request includes unique identification information of the page to be managed, and the unique identification information includes a main unique identifier of the page window instance forming the to-be-managed page and a feature parameter of the to-be-managed page.
  • the feature parameter is feature information that can distinguish the to-be-managed page from other pages to be managed that are also formed according to the same page window instance.
  • each page window instance Since all page window instances are inherited as the main unique identifier of the page template, each page window instance also has a corresponding primary unique identifier, and according to the primary unique identifier, the correct page window instance can be selected from the page pool.
  • the padding parameter is some data used to populate the instance of the page window, which is the page to be managed that can be distinguished from other pages that are also formed by the same page window instance.
  • the process of obtaining the page window instance and the padding parameter may have no timing limitation, and may obtain the page window instance first, or may first acquire the padding parameter.
  • the newly created to-be-managed page is presented to the user through the display of the terminal.
  • the terminal may be a mobile phone, a notebook computer, a television, a tablet computer, or the like.
  • the home page needs to be loaded, and the home page is loaded by the native channel of the platform that can implement the application page development management method provided in this embodiment.
  • the home page may be formed by an instance of a web page window.
  • there is inevitably a load time The more complicated the page to be managed, the longer the load time, and the terminal may have a white screen phenomenon.
  • the welcome page is displayed at the same time as the home page is loaded.
  • the notification interface is used to send a notification, and then the welcome page is hidden according to the notification to display the home page.
  • this solution can also be applied to any page to be managed that needs to be loaded for a long time, and is not limited to the case of the home page loading.
  • the management of the page to be managed in this embodiment may further include pause, restart, and destruction of the page. But this is not to say that every page to be managed must undergo the four processes of creation, suspension, restart and destruction. For some pages, there may be four processes, but some of the pages to be managed may only experience the process. If two processes are to be redirected from the currently displayed to-be-managed page to another to-be-managed page, the current to-be-managed page may be destroyed if the current to-be-managed page is not pushed.
  • the page to be managed in this embodiment can implement the effect of the secondary view by using the nesting of the Fragment.
  • the parent view and the child view can correspond to different page window instances.
  • the subview page in this embodiment may further perform a jump, and the to-be-managed page as the subview may also experience the above life event.
  • the method of creating and destroying a page to be managed realizes the effect of “looping” utilization, which is actually resource reuse, which can reduce the burden on the developer, simplify the development process, and reduce the development cost. .
  • Embodiment 3 is a diagrammatic representation of Embodiment 3
  • the embodiment provides an application page development management device, as shown in FIG. 4, the application page development management device
  • the set 40 includes a template acquisition module 402, an instance encapsulation module 404, and a page management module 406.
  • the template acquisition module 402 can be implemented by a processor. It is used to obtain the fragment technology-based page template and the main unique identifier of the page template according to the application's page requirements.
  • Each different app has unique page requirements. For example, a dating app may need a “buddy list interface”, a “friend information display interface”, and a “chat interface”, etc., and an app for online shopping may need “Store display interface”, “product list interface”, “product parameter interface”, “comment display interface”, etc., so when developing an app, developers need to develop pages according to the specific needs of the app. Since the App page in this embodiment is generated by using the page template, the page template needs to be obtained according to the page requirement of the App.
  • one piece of clothing costs 100 yuan. It is made of wool fiber, and there are three photos. Then you can choose to fill the material description template with the data representing the wool fiber, fill the data with the characterization value 100 on the price display page, and add the encoded data of the three photos to the physical display template. can.
  • the developer configures a primary unique identifier for it.
  • the primary unique identifier can be a URL (Uniform Resource Locator).
  • the page templates includes content written in a native language, that is, the page template includes at least a native page template developed in a native language or a mixed page template implemented in a native language and a Web programming language.
  • the native language refers to a programming language that implements a terminal operating system.
  • the native language is the Android language.
  • Web programming language divided into Web static language and Web dynamic language, Web static language is commonly seen hypertext markup language, such as HTML5, Web dynamic language mainly includes ASP (Active Server Page), JavaScript (Java Scripting language), CSS (Cascading Style Sheets), etc.
  • Fragment development technology is Fragment, because the App runs on a variety of devices, there are small screen mobile phones, large screen flats and even TV. For the gap of the screen size, in the case that the Fragment does not appear, the app is first developed for the mobile phone, and then when the app needs to run on the large-screen device, the page layout of the mobile app can be modified to adapt to the tablet or The big screen of the TV. But this method is quite troublesome, and the emergence of Fragment is to solve such problems.
  • Fragment is equivalent to an interface of Activity.
  • the interface of Activity can be composed of multiple different Fragments.
  • Each Fragment has the ability to receive and process user events independently.
  • all Fragments in an App depend on Activity, but each Fragment has its own life cycle.
  • Fragment does not exist in the Activity alone. It depends on Window. Window is used to hold Fragment. It exists as a container of Fragment. Fragment corresponds to Window one by one. Give a simple example Sub, if the Fragment is like a canvas, then Window is equivalent to props up the canvas frame, a canvas and an activity is equivalent to a wall with one or more frames hanging; each canvas No matter what kind of pattern is drawn, the placement and placement of the frame on the wall can be free. A frame can occupy only a small area of the wall or occupy the entire wall.
  • the page templates obtained in the process of obtaining the page template are implemented based on Fragment, such as a native page template and a mixed page template, and some are not implemented by a Fragment, such as a Web page template. Therefore, for those page templates that are not implemented by Fragment, further fragmentation processing is required according to the Fragment technique. For those page templates that are originally based on the Fragment implementation, before the corresponding page template is obtained, the Fragment base class needs to be displayed to the developer.
  • the Fragment base class is used to define the relevant specification parameters of the developed page, which is equivalent to a set of standards. . I can imagine the development of a native page template or a mixed page template as a painting competition. The organizer stipulates the size of the entries. After the players learn the rules, they will get the canvas of the corresponding size and then the canvas. In the case of creation, the entries submitted by these players are the ones that satisfy the qualifications. In the development of native page templates or mixed pages, the developer is equivalent to the contestants.
  • the Fragment base class is equivalent to the entry rules. The developer inherits the Fragment base class. The development of the Fragment-based page is equivalent to a contestant who understands the rules and is in compliance with the regulations. The same is done on the canvas.
  • the instance encapsulation module 404 is configured to encapsulate the page template based on the fragment development technology into a page window instance and store it in a page pool corresponding to the application.
  • the page window instance inherits the main unique identifier of the page template, that is, the page window instance has a master unique identifier that is the same as the page template forming its own. .
  • the developer develops an A-type native page template and determines a primary unique identifier 123 for it.
  • the page window instance a also has a primary unique identifier. And this main unique identifier is 123.
  • the page of the App is managed based on the page pool, and one App corresponds to a page pool, and the page pool stores the instance of each page window formed by the above package.
  • the page pool can be implemented on-chip static or dynamic memory on the terminal, or can be implemented by off-chip static or dynamic memory.
  • the work of the instance package module 404 can be implemented by the processor.
  • the function of the page management module 406 can also be implemented by a processor, which is used to manage each to-be-managed page according to the running process of the application and the unique identification information of each to-be-managed page.
  • the to-be-managed page is formed based on a page window instance in the page pool, which may be formed by populating parameter information with corresponding page window instances.
  • the application page development management method provided in this embodiment can manage these pages, and these pages are collectively referred to as to-be-managed pages.
  • Each of the to-be-managed pages has unique identification information, and the unique identification information includes a primary unique identifier that forms an instance of the page window required for the to-be-managed page.
  • the unique identification information includes The to-be-managed page distinguishes feature information from other pages to be managed formed by the same page window instance. For example, there are three pages to be managed which are formed according to the instance of the a page window.
  • the unique identification information of the three pages to be managed are "123.1”, “123.2”, “123.3”, among which "123” is formed.
  • the main unique identifier of the page window instance a of the three to-be-managed pages, and the following characters "1", "2", and "3" are the feature parameters of the three pages to be managed, respectively.
  • the padding parameter is obtained according to the unique identifier information of the to-be-managed page that needs to be created, and is substantially obtained according to the feature parameter in the unique identifier information.
  • the unique identification information of the generated to-be-managed page is "123.3" according to the current request of the user, firstly, according to the primary unique identifier "123", it is determined that the page window instance to be used by the page is a, and then the server is based on the character "3". The side obtains the padding parameters of the "123.3” to be managed page, and then fills the padding parameters into the page window instance a to form a to-be-managed page "123.3”, and presents the to-be-managed page "123.3” to the user. For the life cycle of the page to be managed "123.3", this process is its "creation event", which is the Creat event.
  • the user When the user needs to jump from one to-be-managed page to another to-be-managed page, for example, when jumping from the first to-be-managed page to the second to-be-managed page, in addition to the above-mentioned creation process, the user is required to create the current In addition to the second to-be-managed page, the first to-be-managed page needs to be processed accordingly. From the perspective of the user's perception, the first to-be-managed page needs to be hidden and the second to-be-managed page needs to be displayed.
  • the event display on the to-be-managed page can be paused at this time, and the event display is an operation of transmitting information to the user, for example, Play music, play videos, display dynamics, still pictures, and more. This can reduce the burden on the terminal when the app is running, that is, realize the weight reduction of the app.
  • the management of the first to-be-managed page further includes determining, according to the first jump parameter specified by the interface of the native layer or the Web layer, whether the first page needs to be pushed, and the stacking operation includes storing the first to-be-managed page.
  • the first jump parameter indicates that the first to-be-managed page does not need to be pushed
  • the first to-be-managed page does not need to be stored in the cache management stack, and the first to-be-managed page can be performed. Destroy operation.
  • the animation effect when switching from the first to-be-managed page to the second to-be-managed page may be determined, for example, left-to-right-out, fade-in, up-and-down, spin-out, etc.
  • the effect can increase the interest of the app to a certain extent, and improve the user experience of the user.
  • the operation performed on the first to-be-managed page is its "pause event", that is, the Pause event.
  • the App jumps from the to-be-managed page A to The page B to be managed, and then the page to be managed C and the page D to be managed are sequentially jumped from the page B to be managed, and are currently in the browsing of the page E to be managed.
  • the four to-be-managed pages of A, B, C, and D are all pushed into the stack. At this point, the cache management stack from the bottom of the stack to the top of the stack is the page A to be managed, and the page to be managed. B.
  • the to-be-managed page may enter the "destroy" process, ie experience " Destory event.”
  • the destroying event does not destroy the page window instance corresponding to the page to be managed, but only destroys the padding parameter on the to-be-managed page, obtains the page window instance, and then still the page window instance. Stored in the page pool corresponding to the app.
  • the “Destory event” may also destroy the data in the cache management stack of the to-be-managed page.
  • multiple pages can be destroyed at one time. For example, if the cache management stack stores from the bottom of the stack to the top of the stack, the page A to be managed, the page to be managed B, the page to be managed C, and the page to be managed D, respectively, and the user enters again from the page E to be managed.
  • the to-be-managed page that has experienced the “Destory event” has all the pages included in the to-be-managed page E and the page B to be managed in the cache management stack, that is, the entry into the “Destory event” includes to be managed.
  • Pages C, D, E three pages.
  • the program page development management apparatus provided by the embodiment of the invention provides a plurality of page window instances, in addition to the web page window instance, a mixed page window instance and a native page window instance. Therefore, the App page developed by the application management apparatus of this embodiment can no longer rely solely on the Web language implementation. On the basis of the Web language, the page development can be further combined with the native language. In this case, Make full use of the advantages of the native language, for example, when calling the native function of the terminal through the native language, thus avoiding the problem of slow response speed by the Web language implementation and improving the user experience.
  • modules or steps of the above embodiments of the present invention can be implemented by a general computing device, which can be concentrated on a single computing device or distributed among multiple computing devices.
  • they may be implemented by program code executable by the computing device, such that they may be stored in a storage medium (ROM/RAM, disk, optical disk) by a computing device, and in some
  • the steps shown or described may be performed in an order different from that herein, or they may be separately fabricated into individual integrated circuit modules, or a plurality of the modules or steps may be implemented as a single integrated circuit module. Therefore, the invention is not limited to any particular combination of hardware and software.
  • the present disclosure is applicable to the field of network technology to improve response speed, optimize display effects, and thereby improve user experience.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种应用程序页面开发管理方法及装置,该方法包括根据应用程序的页面需求获取页面模板,将基于片段开发技术的页面模板封装成包括主唯一标识的页面窗口实例,并存储在该应用程序对应的页面池中,然后根据应用程序的运行进程对待管理页面的唯一标识信息对各个待管理页面进行管理。由于页面中的至少一个包括有使用原生语言编写的内容,所以在该方法中,页面窗口实例不再仅由web语言实现,故,使用该方法的应用程序页面开发管理方法或装置开发出来的Hybrid App可以充分利用原生语言的优势,在页面需要实现调用本地应用的功能时,通过混合页面或者原生页面来提高调用的响应速度,优化展示效果,进而提高用户的体验度。

Description

一种应用程序页面开发管理方法及装置 技术领域
本发明涉及网络技术领域,尤其涉及一种应用程序页面开发管理方法及装置。
背景技术
Hybrid App(Hybrid Application,混合模式移动应用)是指介于Web App(网页应用)和Native App(原生应用)这两者之间的App,Hybrid App主要以JavaScript和Native两者相互调用为主,其能够调用终端的原生设备功能,很好地改善了用户体验,由于其使用了网页语言,所以从开发层面实现“一次开发,多处运行”的机制,降低了开发成本,适合跨平台的开发。由于兼具“Native App良好用户交互体验的优势”和“Web App跨平台开发的优势”,所以Hybrid App应用十分广泛,目前已经有众多Hybrid App开发成功应用,比如百度、网易、街旁等知名移动应用,都是采用Hybrid App开发模式。
现有的Hybrid App开发平台主要有Cordova和AppCan等,其中Cordova支持iOS(苹果公司的移动操作系统)、Android(谷歌开发的操作系统)、ubuntu phone os(乌班图操作系统)、Blackberry(黑莓操作系统)、Windows Phone(微软公司的手机操作系统)、Bada(三星的操作系统)和Symbian(塞班系统)等众多的操作系统,但是由于Cordova使用Web编程语言进行页面开发,直接在Activity中设置Web view来实现页面切换,所以容易在App调用移动终端原生设备功能,如摄像头、麦克风的时候出现效果启动慢、页面切换迟钝、数据请求慢等问题。而AppCan作为国内Hybrid App混合模式开发的倡导者,虽然封装了许多本地调用功能,但是其也与Cordova存在同样的问题,由于页面开发纯粹利用Web技术实现,所以使得Hybrid App在性能、体验上与本地原生应用还是存在一些差距,例如,在很多时候无法达到原生效果、或者在调用本地功能时出现响应迟钝的问题。
综上,由于采用Web编程语言编写的页面在数据请求、响应方面都与原生语言实现的页面存在一定的差距,所以在调用移动终端的本地功能速度缓慢,而且通过Web编程语言无法实现原生语言所实现的部分效果,因此,现有技术中仅使用Web技术实现Hybrid App的开发会使得用户体验降低。
发明内容
本发明实施例提供的方案解决的主要技术问题是,提供一种应用程序页面开发管理方法,用以解决现有技术中Hybrid App的页面因仅通过Web编程语言实现,使网页数据请求、响应慢、展示效果差,从而使得用户体验度低的技术问题。
为解决上述技术问题,本发明实施例提供一种应用程序页面开发管理方法,包括:
根据应用程序的页面需求获取基于片段开发技术的页面模板以及所述页面模板的主唯一标识,所述页面模板中的至少一个包括使用原生语言编写的内容;
将所述页面模板封装成页面窗口实例并存储在所述应用程序对应的页面池中,所述页面窗口实例继承对应页面模板的所述主唯一标识;
根据所述应用程序的运行进程和各待管理页面的唯一标识信息对各所述待管理页面进行管理;各所述待管理页面基于所述页面池中的各所述页面窗口实例形成;所述待管理页面的唯一标识信息中包括形成所述待管理页面的页面窗口实例的主唯一标识。
本发明实施例还提供一种应用程序页面开发管理装置,包括:
所述模板获取模块,设置为根据应用程序的页面需求获取基于片段开发技术的页面模板以及所述页面模板的主唯一标识,所述页面模板中的至少一个包括使用原生语言编写的内容;
所述实例封装模块,设置为将所述页面模板封装成页面窗口实例并存储在所述应用程序对应的页面池中,所述页面窗口实例继承对应页面模板的所述主唯一标识;
所述页面管理模块,设置为根据所述应用程序的运行进程和各待管理页面的唯一标识信息对各所述待管理页面进行管理;各所述待管理页面基于所述页面池中的各所述页面窗口实例形成;所述待管理页面的唯一标识信息中包括形成所述待管理页面的页面窗口实例的主唯一标识。
本发明实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行前述的任一项的应用程序页面开发管理方法。
本发明的有益效果是:
根据本发明实施例提供的应用程序页面开发管理方法、装置以及计算机存储介质,根据应用程序的页面需求获取页面模板,将基于片段开发技术的页面模板封装成包括主唯一标识的页面窗口实例,并存储在该应用程序对应的页面池中,然后根据应用程序的运行进程对待管理页面的唯一标识信息对各个待管理页面进行管理。由于页面中的至少一个包括有使用原生语言编写的内容,所以在本发明实施例中,页面窗口实例不再仅由Web语言实现,同样的根据页面窗口实例形成的各个待管理页面也不在仅限于Web页面了,这些页面中除了通过Web编程语言实现的Web页面以外,还可以包括通过原生语言开发的原生页面、同时使用原生语言与Web编程语言开发的混合页面,因此,使用本发明实施例中的应用程序页面开发管理方法开发出来的Hybrid App中,可以充分利用原生语言的优势来开发页面,当一个页面需要实现调用本地应用的功能时,该页面可以为混合页面或者原生页面,这样可以提高响应速度,优化展示效果,进而提高用户的体验度。
附图说明
图1为本发明实施例一中提供的应用程序页面开发管理方法的一种流程图;
图2为本发明实施例二中提供的应用程序页面开发管理方法的一种流程图;
图3为本发明实施例二中提供的待管理页面创建过程的一种流程图;
图4为本发明实施例三中提供的应用程序页面开发管理装置的一种结构示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明实施例作进一步详细说明。
实施例一:
请参考图1,图1是本实施例提供的应用程序页面开发管理方法的一个流程图:
S102、根据应用程序的页面需求获取基于片段开发技术的页面模板以及页面模板的主唯一标识。
每一个不同的App都具有独特的页面需求,例如一个交友App可能需要“好友列表界面”、“好友信息展示界面”以及“聊天界面”等,而对于一个用于网上购物的App可能需要的是“店铺展示界面”、“商品列表界面”、“商品参数界面”、“评论展示界面”等,所以,在开发一个App的时候,开发人员需要根据该App的具体需求开发页面。由于本实施例中的App页面是利用页面模板生成的,所以需要根据该App的页面需求获取页面模板。
对于类型相同的App页面,只需要获取到一个页面模板就行,因为针对一个App而言,会有很多页面的布局都差不多,只是各个页面上的数据不同。例如在上述网上购物App中,可能入驻了100个销售衣服的商铺,总共有1500件衣服在该App上进行售卖。虽然每个商铺售卖的衣服的价格、品牌、类型都会不同,但是从开发的角度来说,并不需要为每个店铺的每件衣服都单独设置页面,因为每件衣服都只是需要一个材质说明页面、一个价格展示页面、一个实物展示页面。所以针对商品介绍这一点来说,开发人员只需要设置上面三个页面模板就行了,然后每件衣服单独的页面可以通过在相应模板中填充参数来实现,例如,有一件衣服售价100元,是羊毛纤维材质的,还有三张照片,那么可以选择在材质说明模板中填充表征羊毛纤维的数据,在价格展示页面填充表征数值100的数据,将三张照片的编码数据添加至实物展示模板即可。在页面模板的开发阶段,开发人员会为其配置一个主唯一标识,主唯一标识可以是URL(Uniform Resource Locator,统一资源定位符)。
在本实施例中,页面模板中的至少一个包括使用原生语言编写的内容,即页面模板至少包括采用原生语言开发的原生页面模板或者采用原生语言与Web编程语言共同实现的混合页面模板。在本实施例中,原生语言是指实现终端操作系统的程序语言。例如,针对Android系统而言,原生语言就是Android语言。Web编程语言,分为Web静态语言和Web动态语言,Web静态语言就是通常所见到的超文本标记语言,如HTML5,Web动态语言主要包括ASP(Active Server Page,动态服务器页面)、JavaScript(Java脚本语言)、CSS(Cascading Style Sheets,层叠样式表)等。
片段开发技术即Fragment,由于App运行在各种各样的设备中,有小屏幕的手机、超大屏的平板甚至电视。针对屏幕尺寸的差距,在Fragment没有出现的情况下,都是先针对手机开发一套App,然后当App需要运行在大屏设备上时,可以对手机App进行页面布局的修改,以适应平板或者电视的超级大屏。但是这种方式相当麻烦,而Fragment的出现就是为了解决这样的问题。
Fragment相当于Activity的一个界面的组成部分,Activity的界面可以完全由多个不同 的Fragment组成,每个Fragment都具有独立接收、处理用户事件的能力,而且,虽然一个App中的所有Fragment都依赖于Activity,但是各Fragment都具有自己的生命周期。
Fragment在Activity中并不是单独存在的,其依赖于Window(窗口),Window用于盛放Fragment,作为Fragment的容器而存在,Fragment与Window一一对应。举个简单的例子,如果将Fragment比作一张画布,那么Window就相当于是撑起这张画布的画框,一个画布与一个Activity就相当于挂了一个或多个画框的一面墙;每张画布中无论绘制怎样的图案都是可以的,画框在墙面上的摆放方式、摆放位置也都可以随意,一个画框可以仅占据墙面的一个小区域,也可占据整个墙面。
由于封装的时候是对Fragment与Window进行封装,所以,在将页面模板封装成页面窗口实例之前,需要确保页面模板是基于Fragment技术的。而上述获取页面模板的过程中获取到的页面模板有的是基于Fragment实现的,例如原生页面模板和混合页面模板,有的不是通过Fragment实现的,如Web页面模板。因此,对于那些不是通过Fragment实现的页面模板,需要进一步根据Fragment技术进行片段化处理。而对于那些本来就是基于Fragment实现的页面模板,在获取相应的页面模板之前,需要向开发人员展示Fragment基类,Fragment基类是用于限定开发的页面的相关规格参数的,相当于一套标准。可以将原生页面模板或者混合页面模板的开发想象成一场绘画比赛,主办方对参赛作品的尺寸进行了规定,各个参赛选手在获知规则之后,就会去获取到相应尺寸的画布,然后在该画布上进行创作,那么这些选手上交的参赛作品才是满足参赛资格的作品。而在原生页面模板或者混合页面的开发当中,开发人员相当于参赛选手,Fragment基类相当于参赛规则,开发人员继承Fragment基类开发基于Fragment的页面就相当于一个参赛选手了解规则后在符合规定的画布上进行绘画创作一样。
S104、将页面模板封装成页面窗口实例并存储在应用程序对应的页面池中。
当将基于片段开发技术的页面模板封装成页面窗口实例之后,页面窗口实例就继承了页面模板的主唯一标识,也就是说,页面窗口实例具有一个与形成其自身的页面模板一样的主唯一标识。例如,开发人员开发了一个A类型的原生页面模板,并为之确定了一个主唯一标识123,那么在将A页面模板封装成页面窗口实例a之后,页面窗口实例a也具有一个主唯一标识,且这个主唯一标识就是123。
在本实施例中,基于页面池对App的页面进行管理,一个App对应一个页面池,该页面池中保存着上面封装形成的各页面窗口实例。
S106、根据应用程序的运行进程和各待管理页面的唯一标识信息对各待管理页面进行管理。
待管理页面基于页面池中的页面窗口实例形成,如S102中所列举的示例一样,待管理页面可以是由相应的页面窗口实例填充参数信息形成的。
在一个App运行的时候,在不同进程、不同的时候需要展示的页面是不同的,本实施例提供的应用程序页面开发管理方法就可以对这些页面进行管理,这些页面统称为待管理页面。每一个待管理页面都具有唯一标识信息,这个唯一标识信息中包含形成该待管理页面所 需要的页面窗口实例的主唯一标识,除了主唯一标识以外,唯一标识信息中还包括能够将该待管理页面从其他也是根据同一个页面窗口实例形成的待管理页面区分出来的特征参数。例如有三个待管理页面都是根据a页面窗口实例形成的,这三个待管理页面的唯一标识信息,分别是“123.1”、“123.2”、“123.3”,这其中,“123”是形成这三个待管理页面的页面窗口实例a的主唯一标识,而后面的字符“1”、“2”、“3”分别是三个待管理页面的特征参数。根据需要创建的待管理页面的唯一标识信息获取填充参数,实质上是根据唯一标识信息中的特征参数去获取。如果根据用户当前的请求,生成的待管理页面的唯一标识信息是“123.3”,那么首先根据主唯一标识“123”确定页面需要使用到的页面窗口实例是a,然后根据字符“3”从服务器侧获得“123.3”这个待管理页面的填充参数,然后将这些填充参数填充至页面窗口实例a中,形成待管理页面“123.3”,并对将待管理页面“123.3”展示给用户。对于待管理页面“123.3”的生命周期而言,这一过程就是它的“创建事件”,即Creat事件。
为了应对用户的不同需求,应当对不同的待管理页面实行不同的管理,这里所说的管理并不仅仅针对待管理页面的创建。
当用户需要从一个待管理页面跳转到另一个待管理页面的时候,例如,当从第一待管理页面跳转至第二待管理页面时,除了根据上述创建过程,要创建用户当前需要的第二待管理页面以外,还需要对第一待管理页面进行相应的处理。从用户的感知层面上来说,此时需要隐藏第一待管理页面并展示第二待管理页面,因此,此时可以暂停待管理页面上的事件展示,事件展示是向用户传递信息的操作,例如播放音乐、播放视频、显示动态、静态图片等。这样可以减少App运行时给终端带来的负担,即实现App的轻量化。
同时,对第一待管理页面的管理还包括根据原生层或者Web层的接口指定的第一跳转参数确定是否需要对第一页面进行入栈操作,入栈操作包括将第一待管理页面存储进缓存管理栈,如果第一跳转参数指示不需要对第一待管理页面进行入栈操作,则不需要在缓存管理栈中存储第一待管理页面,这时可以对第一待管理页面进行销毁操作。同时还可以根据第一跳转参数确定从第一待管理页面切换到第二待管理页面时的动画效果等,例如左进右出、淡入淡出、上进下出、旋转飞出等,通过这些动画效果能够在一定程度上增加App的趣味性,使用户的用户体验提高。
在上述过程中,对于第一待管理页面所进行的操作就是它的“暂停事件”即Pause事件。
如果用户点击“回退”或者“back”,想要从当前展示的待管理页面回退到之前浏览过的某一页面的时候,例如在用户的操作下,App从待管理页面A跳转至待管理页面B,然后又从待管理页面B依次跳转了待管理页面C、待管理页面D,当前正处于待管理页面E的浏览当中,在前面的跳转过程中,在各个第一跳转参数的指示下,A、B、C、D四个待管理页面都进行了入栈操作的,那么此刻缓存管理栈中从栈底到栈顶存储的分别是待管理页面A、待管理页面B、待管理页面C、待管理页面D,如果用户从待管理页面E点击了“回退”或者“back”,那么需要将此时处于栈顶的待管理页面D从缓存管理栈中取出,然后展示给用户,并且重新启动待管理页面D之前被暂停的事件展示。例如,从待管理页面D跳转至待 管理页面E之前,待管理页面D正在播放音乐,那么这次用户回退到页面D后,可以继续播放音乐,这一过程对于页面D来说就是“重新启动事件”,即Resume事件。
如果一个待管理页面在“暂停事件”中被指定不进行入栈操作,或者用户从该待管理页面上选择了回退,那么这一待管理页面就可能会进入“销毁”流程,即经历“Destory事件”。在本实施例提供的一种优选示例当中,销毁事件并不会销毁待管理页面对应的页面窗口实例,只是销毁在待管理页面上的填充参数,得到页面窗口实例,然后依然将该页面窗口实例存储到App对应的页面池中。
当然,在本实施例中,如果待管理页面在缓存管理栈中有进行过存储,那么“Destory事件”还可以将该待管理页面在缓存管理栈中的数据进行销毁。另外,本实施例提供的应用程序页面开发管理方法中,一次可以对多个页面进行销毁。例如,如果缓存管理栈中从栈底到栈顶存储的分别是待管理页面A、待管理页面B、待管理页面C、待管理页面D,且用户从待管理页面E中又再次进入了待管理页面B中,那么经历“Destory事件”的待管理页面就有包括在待管理页面E以及在缓存管理栈中处于待管理页面B之上的所有页面,即进入“Destory事件”的包括待管理页面C、D、E三个页面。
相对于现有技术中应用程序的页面只能通过Web语言实现,本实施例中的应用程序页面开发管理方法为应用程序页面的实现提供了多种页面窗口实例,除了Web页面窗口实例以外,还包括混合页面窗口实例、原生页面窗口实例。所以,根据本实施例的应用程序管理方法开发出的App页面可以不再单独依赖Web语言实现,在基于Web语言的基础上,还可以进一步结合原生语言进行页面开发,在这种情况下,可以充分利用原生语言的优势,例如在调用终端的原生功能的时候通过原生语言进行,这样可以避免由Web语言实现所存在的响应速度迟缓的问题,可以提高用户体验。
实施例二:
在本实施例中,将结合一个具体示例对应用程序页面开发管理方法进行说明,假定现在需要开发一款网上购物的App:
当这个开发项目确定时候,会随着确定其能够实现的各项功能,例如向用户展示商品信息、店铺信息、展示用户的评论信息等,然后商品信息展示页面需要展示商品的实物图片、商品的具体参数信息、商品的价格。所以开发人员需要根据App需要实现的功能来开发相应的页面模板。
在开发页面模板的时候,开发人员可以使用原生语言,也可以使用Web语言,还可以在同一个页面模板中同时使用两种语言进行。如果这款App针对Android系统开发,那么开发人员可以使用Android语言,也可使用Web语言,在本实施例中,Web语言包括HTML5、JavaScript、CSS等。
开发人员对页面的开发分为这样两个大类:如果其开发的是Web页面模板,那么其可以只完成对页面的开发。如果其开发的页面模板是原生页面模板或者是混合页面模板,那么其需要先获取Fragment基类,然后在该基类的基础上实现相应的页面模板的开发。
开发人员需要在开发阶段为每一个页面模板分配一个主唯一标识,主唯一标识在App 的运行阶段是必不可少的,因为只有根据主唯一标识才能确定向用户展示一个页面的时候需要使用哪一个页面模板。
对应的,请参考图2,在开发人员开发原生或者混合页面模板之前,需要:
S202、向开发人员展示对应的Fragment基类。
对于Fragment基类的说明可以参照实施例一中的相关内容,这里不再赘述。开发人员在获取到Fragment基类之后,继承Fragment基类进行页面模板的开发,这时,其开发出来的原生页面模板或者混合页面模板都是基于Fragment的。另外,继承Fragment基类进行开发只是针对开发原生页面模板或者开发混合页面模板而言,如果一个开发人员要开发的是一个Web页面模板,则不需要参考,因为Web页面模板的Fragment可以由能够运行本实施例提供的应用程序开发管理方法的开发平台来实现。
S204、根据应用程序的页面需求获取基于片段开发技术的页面模板。
根据上面的介绍,本领域技术人员应当理解的是,这里获取基于片段开发技术的页面模板,即基于Fragment的页面模板也分为两种情况:对于原生页面模板或者混合页面模板可以直接获取到基于Fragment的页面模板,而如果是Web页面模板,则需要在获取到开发人员开发的页面模板之后,对Web页面模板进行片段处理,即根据Fragment技术进行处理。
在获取到页面模板的同时还要获取该页面模板的主唯一标识,主唯一标识可以是URL。
S206、将页面模板封装成页面窗口实例并存储在应用程序对应的页面池中并进行管理。
将页面模板封装成页面窗口实例,实际上就是将Fragment与window进行封装,这里Fragment在App的activity中不是单独存在的,需要借助window的容纳功能。当页面模板被封装成页面窗口实例之后,页面窗口实例就继承了页面模板的主唯一标识。
在本实施例中,对App页面的管理基于页面池进行。页面池是页面模板资源存储的一个集合。页面池中有开发人员针对这个App开发的各种页面模板封装形成的页面窗口实例。下面介绍创建待管理页面的过程:
当用户进入APP的时候,就需要向用户展示一些具体的页面了,这些页面就是本实施例中需要进行管理的对象,在本实施例中,将这些具体的页面称为待管理页面。
待管理页面具体的具体创建流程请进一步参考图3:
S302、根据用户的操作生成页面请求。
待管理页面的创建需要根据用户的需求进行,假设用户从网上购物App中进入了一家店铺w,并从商品列表的页面中发现了一件比较心仪的衣服,现在,用户点击了这件衣服想要进入相关页面了解详情。可以根据用户点击衣服的动作生成请求,该请求中包括待管理页面的唯一标识信息,唯一标识信息中包括形成该待管理页面的页面窗口实例的主唯一标识和该待管理页面的特征参数。特征参数是能够将该待管理页面从其他也是根据同一个页面窗口实例形成的待管理页面区分出来的特征信息。
S304、根据唯一标识信息中的主唯一标识从页面池中选择出相应的页面窗口实例。
由于所有页面窗口实例都继承成了页面模板的主唯一标识,所以,各个页面窗口实例也具备对应的主唯一标识,根据主唯一标识就能够从页面池中选择到正确的页面窗口实例。
S306、根据唯一标识信息中的特征参数从服务器侧请求对应的填充参数。
填充参数是用于填充到页面窗口实例上的一些数据,这些数据是能够该待管理页面区别于其他也是由同一页面窗口实例形成的待管理页面。
值得注意的是,在本实施例中,获取页面窗口实例和填充参数的过程可以没有时序限制,可以先获取页面窗口实例,也可以先获取填充参数。
S308、当获取到页面窗口实例和填充参数后,将填充参数填充到页面窗口实例上。
至此,待管理页面的创建就基本结束了,但还剩下最后一个过程。
S310、展示待管理页面。
通过终端的显示屏向用户展示新创建的待管理页面。在本实施例中,终端可以是手机、笔记本电脑、电视、平板电脑等。
另外本实施例中开发的Hybrid App打开后,需要载入首页,首页通过能够实现本实施例提供的应用程序页面开发管理方法的平台的Native通道加载。首页有可能是通过Web页面窗口实例形成的,在这种情况下不可避免的会有一段加载时间,待管理页面越复杂,加载时间越长,这时候终端可能会出现白屏现象。为了让用户有更好的视觉体验,可以给APP添加一个欢迎页面,该欢迎页面在首页加载的同时进行显示,当首页加载完成后,通过通知接口发出通知,然后根据通知隐藏欢迎页,展示首页,从而避免白屏问题。当然这种方案也可以应用到任何需要长时间加载的待管理页面之前,并不限定是首页加载的情况。
另外,根据Fragment的生命事件,本实施例中对待管理页面的管理还可以包括页面的暂停、重新启动和销毁。但是这并不是说每一个待管理页面都必须经历创建、暂停、重新启动和销毁这四个过程,对于有的页面来说,可能会四个过程,但有的待管理页面可能就仅经历其中的两个过程,例如从当前展示的待管理页面跳转到另一待管理页面的时候,如果不对当前待管理页面进行入栈操作,那么当前待管理页面可能就会被销毁。
这里所说的销毁并不是之间清楚所有数据,只是将填充到页面窗口实例上的填充参数,同时如果当前待管理页面之前有过入栈操作,可以将缓存管理栈中的数据也进行清楚。对于页面窗口实例是不进行销毁的,页面窗口实例还要继续存放到页面池中,以便下一次创建同类型的待管理页面的时候使用。
对于待管理页面的暂停和重新启动过程,可以参考实施例一中的相关介绍,这里不再赘述。
本实施例中的待管理页面可以通过Fragment的嵌套实现二级视图的效果,在二级视图中,父视图与子视图可以对应不同的页面窗口实例,在加载二级视图的时候,需要指定父视图的相关参数。在本实施例中的子视图页面还可以进行进一步的跳转,作为子视图的待管理页面也可以经历上述生命事件。
在本实施例中,对于待管理页面的创建和销毁的做法实现了“循环”利用的效果,实际上也就是资源的复用,这样能够减小开发人员的负担、简化开发过程,降低开发成本。
实施例三:
本实施例提供一种应用程序页面开发管理装置,如图4所示,应用程序页面开发管理装 置40包括模板获取模块402、实例封装模块404和页面管理模块406。
在本实施例中模板获取模块402可以由处理器来实现。其用于根据应用程序的页面需求获取基于片段技术的页面模板以及页面模板的主唯一标识。
每一个不同的App都具有独特的页面需求,例如一个交友App可能需要“好友列表界面”、“好友信息展示界面”以及“聊天界面”等,而对于一个用于网上购物的App可能需要的是“店铺展示界面”、“商品列表界面”、“商品参数界面”、“评论展示界面”等,所以,在开发一个App的时候,开发人员需要根据该App的具体需求开发页面。由于本实施例中的App页面是利用页面模板生成的,所以需要根据该App的页面需求获取页面模板。
对于类型相同的App页面,只需要获取到一个页面模板就行,因为针对一个App而言,会有很多页面的布局都差不多,只是各个页面上的数据不同。例如在上述网上购物App中,可能入驻了100个销售衣服的商铺,总共有1500件衣服在该App上进行售卖。虽然每个商铺售卖的衣服的价格、品牌、类型都会不同,但是从开发的角度来说,并不需要为每个店铺的每件衣服都单独设置页面,因为每件衣服都只是需要一个材质说明页面、一个价格展示页面、一个实物展示页面。所以针对商品介绍这一点来说,开发人员只需要设置上面三个页面模板就行了,然后每件衣服单独的页面可以通过在相应模板中填充参数来实现,例如,有一件衣服售价100元,是羊毛纤维材质的,还有三张照片,那么可以选择在材质说明模板中填充表征羊毛纤维的数据,在价格展示页面填充表征数值100的数据,将三张照片的编码数据添加至实物展示模板即可。在页面模板的开发阶段,开发人员会为其配置一个主唯一标识,主唯一标识可以是URL(Uniform Resource Locator,统一资源定位符)。
在本实施例中,页面模板中的至少一个包括使用原生语言编写的内容,即页面模板至少包括采用原生语言开发的原生页面模板或者采用原生语言与Web编程语言共同实现的混合页面模板。在本实施例中,原生语言是指实现终端操作系统的程序语言。例如,针对Android系统而言,原生语言就是Android语言。Web编程语言,分为Web静态语言和Web动态语言,Web静态语言就是通常所见到的超文本标记语言,如HTML5,Web动态语言主要包括ASP(Active Server Page,动态服务器页面)、JavaScript(Java脚本语言)、CSS(Cascading Style Sheets,层叠样式表)等。
片段开发技术即Fragment,由于App运行在各种各样的设备中,有小屏幕的手机、超大屏的平板甚至电视。针对屏幕尺寸的差距,在Fragment没有出现的情况下,都是先针对手机开发一套App,然后当App需要运行在大屏设备上时,可以对手机App进行页面布局的修改,以适应平板或者电视的超级大屏。但是这种方式相当麻烦,而Fragment的出现就是为了解决这样的问题。
Fragment相当于Activity的一个界面的组成部分,Activity的界面可以完全由多个不同的Fragment组成,每个Fragment都具有独立接收、处理用户事件的能力,而且,虽然一个App中的所有Fragment都依赖于Activity,但是各Fragment都具有自己的生命周期。
Fragment在Activity中并不是单独存在的,其依赖于Window(窗口),Window用于盛放Fragment,作为Fragment的容器而存在,Fragment与Window一一对应。举个简单的例 子,如果将Fragment比作一张画布,那么Window就相当于是撑起这张画布的画框,一个画布与一个而Activity就相当于挂了一个或多个画框的一面墙;每张画布中无论绘制怎样的图案都是可以的,画框在墙面上的摆放方式、摆放位置也都可以随意,一个画框可以仅占据墙面的一个小区域,也可占据整个墙面。
由于封装的时候是对Fragment与Window进行封装,所以,在将页面模板封装成页面窗口实例之前,需要确保页面模板是基于Fragment技术的。而上述获取页面模板的过程中获取到的页面模板有的是基于Fragment实现的,例如原生页面模板和混合页面模板,有的不是通过Fragment实现的,如Web页面模板。因此,对于那些不是通过Fragment实现的页面模板,需要进一步根据Fragment技术进行片段化处理。而对于那些本来就是基于Fragment实现的页面模板,在获取相应的页面模板之前,需要向开发人员展示Fragment基类,Fragment基类是用于限定开发的页面的相关规格参数的,相当于一套标准。可以将原生页面模板或者混合页面模板的开发想象成一场绘画比赛,主办方对参赛作品的尺寸进行了规定,各个参赛选手在获知规则之后,就会去获取到相应尺寸的画布,然后在该画布上进行创作,那么这些选手上交的参赛作品才是满足参赛资格的作品。而在原生页面模板或者混合页面的开发当中,开发人员相当于参赛选手,Fragment基类相当于参赛规则,开发人员继承Fragment基类开发基于Fragment的页面就相当于一个参赛选手了解规则后在符合规定的画布上进行绘画创作一样。
实例封装模块404用于将基于片段开发技术的页面模板封装成页面窗口实例并存储在应用程序对应的页面池中。
当将基于片段开发技术的页面模板封装成页面窗口实例之后,页面窗口实例就继承了页面模板的主唯一标识,也就是说,页面窗口实例具有一个与形成其自身的页面模板一样的主唯一标识。例如,开发人员开发了一个A类型的原生页面模板,并为之确定了一个主唯一标识123,那么在将A页面模板封装成页面窗口实例a之后,页面窗口实例a也具有一个主唯一标识,且这个主唯一标识就是123。
在本实施例中,基于页面池对App的页面进行管理,一个App对应一个页面池,该页面池中保存着上面封装形成的各页面窗口实例。页面池可以是基于终端上的片上静态或动态存储器实现,也可以由片外的静态或动态存储器实现,实例封装模块404的工作可以由处理器来实现。
页面管理模块406的功能也可以通过处理器实现,其用于根据应用程序的运行进程和各待管理页面的唯一标识信息对各待管理页面进行管理。
待管理页面基于页面池中的页面窗口实例形成,其可以是由相应的页面窗口实例填充参数信息形成的。
在一个App运行的时候,在不同进程、不同的时候需要展示的页面是不同的,本实施例提供的应用程序页面开发管理方法就可以对这些页面进行管理,这些页面统称为待管理页面。每一个待管理页面都具有唯一标识信息,这个唯一标识信息中包含形成该待管理页面所需要的页面窗口实例的主唯一标识,除了主唯一标识以外,唯一标识信息中还包括能够将该 待管理页面从其他也是根据同一个页面窗口实例形成的待管理页面区分出来的特征信息。例如有三个待管理页面都是根据a页面窗口实例形成的,这三个待管理页面的唯一标识信息,分别是“123.1”、“123.2”、“123.3”,这其中,“123”是形成这三个待管理页面的页面窗口实例a的主唯一标识,而后面的字符“1”、“2”、“3”分别是三个待管理页面的特征参数。根据需要创建的待管理页面的唯一标识信息获取填充参数,实质上是根据唯一标识信息中的特征参数去获取。如果根据用户当前的请求,生成的待管理页面的唯一标识信息是“123.3”,那么首先根据主唯一标识“123”确定页面需要使用到的页面窗口实例是a,然后根据字符“3”从服务器侧获得“123.3”这个待管理页面的填充参数,然后将这些填充参数填充至页面窗口实例a中,形成待管理页面“123.3”,并对将待管理页面“123.3”展示给用户。对于待管理页面“123.3”的生命周期而言,这一过程就是它的“创建事件”,即Creat事件。
为了应对用户的不同需求,应当对不同的待管理页面实行不同的管理,这里所说的管理并不仅仅针对待管理页面的创建。
当用户需要从一个待管理页面跳转到另一个待管理页面的时候,例如,当从第一待管理页面跳转至第二待管理页面时,除了根据上述创建过程,要创建用户当前需要的第二待管理页面以外,还需要对第一待管理页面进行相应的处理。从用户的感知层面上来说,此时需要隐藏第一待管理页面并展示第二待管理页面,因此,此时可以暂停待管理页面上的事件展示,事件展示是向用户传递信息的操作,例如播放音乐、播放视频、显示动态、静态图片等。这样可以减少App运行时给终端带来的负担,即实现App的轻量化。
同时,对第一待管理页面的管理还包括根据原生层或者Web层的接口指定的第一跳转参数确定是否需要对第一页面进行入栈操作,入栈操作包括将第一待管理页面存储进缓存管理栈,如果第一跳转参数指示不需要对第一待管理页面进行入栈操作,则不需要在缓存管理栈中存储第一待管理页面,这时可以对第一待管理页面进行销毁操作。同时还可以根据第一跳转参数确定从第一待管理页面切换到第二待管理页面时的动画效果等,例如左进右出、淡入淡出、上进下出、旋转飞出等,通过这些动画效果能够在一定程度上增加App的趣味性,使用户的用户体验提高。
在上述过程中,对于第一待管理页面所进行的操作就是它的“暂停事件”即Pause事件。
如果用户点击“回退”或者“back”,想要从当前展示的待管理页面回退到之前浏览过的某一页面的时候,例如在用户的操作下,App从待管理页面A跳转至待管理页面B,然后又从待管理页面B依次跳转了待管理页面C、待管理页面D,当前正处于待管理页面E的浏览当中,在前面的跳转过程中,在各个第一跳转参数的指示下,A、B、C、D四个待管理页面都进行了入栈操作的,那么此刻缓存管理栈中从栈底到栈顶存储的分别是待管理页面A、待管理页面B、待管理页面C、待管理页面D,如果用户从待管理页面E点击了“回退”或者“back”,那么需要将此时处于栈顶的待管理页面D从缓存管理栈中取出,然后展示给用户,并且重新启动待管理页面D之前被暂停的事件展示。例如,从待管理页面D跳转至待管理页面E之前,待管理页面D正在播放音乐,那么这次用户回退到页面D后,可以继续 播放音乐,这一过程对于页面D来说就是“重新启动事件”,即Resume事件。
如果一个待管理页面在“暂停事件”中被指定不进行入栈操作,或者用户从该待管理页面上选择了回退,那么这一待管理页面就可能会进入“销毁”流程,即经历“Destory事件”。在本实施例提供的一种优选示例当中,销毁事件并不会销毁待管理页面对应的页面窗口实例,只是销毁在待管理页面上的填充参数,得到页面窗口实例,然后依然将该页面窗口实例存储到App对应的页面池中。
当然,在本实施例中,如果待管理页面在缓存管理栈中有进行过存储,那么“Destory事件”还可以将该待管理页面在缓存管理栈中的数据进行销毁。另外,本实施例提供的应用程序页面开发管理方法中,一次可以对多个页面进行销毁。例如,如果缓存管理栈中从栈底到栈顶存储的分别是待管理页面A、待管理页面B、待管理页面C、待管理页面D,且用户从待管理页面E中又再次进入了待管理页面B中,那么经历“Destory事件”的待管理页面就有包括在待管理页面E以及在缓存管理栈中处于待管理页面B之上的所有页面,即进入“Destory事件”的包括待管理页面C、D、E三个页面。
本发明实施例提供的程序页面开发管理装置,通过提供多种页面窗口实例,除了Web页面窗口实例以外,还包括混合页面窗口实例、原生页面窗口实例。所以,通过本实施例的应用程序管理装置开发出的App页面可以不再单独依赖Web语言实现,在基于Web语言的基础上,还可以进一步结合原生语言进行页面开发,在这种情况下,可以充分利用原生语言的优势,例如在调用终端的原生功能的时候通过原生语言进行,这样避免了由Web语言实现所存在的响应速度迟缓的问题,提高了用户体验。
显然,本领域的技术人员应该明白,上述本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明实施例所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
工业实用性
本公开适用于网络技术领域,用以提高响应速度,优化展示效果,进而提高用户的体验度。

Claims (11)

  1. 一种应用程序页面开发管理方法,包括:
    根据应用程序的页面需求获取基于片段开发技术的页面模板以及所述页面模板的主唯一标识,所述页面模板中的至少一个包括使用原生语言编写的内容;
    将所述页面模板封装成页面窗口实例并存储在所述应用程序对应的页面池中,所述页面窗口实例继承对应页面模板的所述主唯一标识;
    根据所述应用程序的运行进程和各待管理页面的唯一标识信息对各所述待管理页面进行管理;各所述待管理页面基于所述页面池中的各所述页面窗口实例形成;所述待管理页面的唯一标识信息中包括形成所述待管理页面的页面窗口实例的主唯一标识。
  2. 如权利要求1所述的应用程序页面开发管理方法,其中,所述根据所述应用程序的运行进程和各待管理页面的唯一标识信息对各所述待管理页面进行管理包括:
    当需要创建待管理页面时,获取所述待管理页面的唯一标识信息;
    根据所述唯一标识信息中的所述主唯一标识从所述页面池中获取到对应的页面窗口实例;
    根据所述待管理页面的所述唯一标识信息从服务器侧获取到填充参数;
    将所述填充参数填充至所述页面窗口实例中,形成所述待管理页面;
    展示所述待管理页面。
  3. 如权利要求1所述的应用程序页面开发管理方法,其中,所述根据所述应用程序的运行进程和各待管理页面的唯一标识信息对各所述待管理页面进行管理包括:
    当需要从当前展示的待管理页面跳转至另一待管理页面时,暂停当前待管理页面上的事件展示,所述事件展示包括向用户传递信息的动作。
  4. 如权利要求3所述的应用程序页面开发管理方法,其中,所述根据所述应用程序的运行进程和各待管理页面的唯一标识信息对各所述待管理页面进行管理还包括:
    将当前展示的所述待管理页面进行入栈操作,所述入栈操作包括将所述待管理页面存储进缓存管理栈。
  5. 如权利要求1所述的应用程序页面开发管理方法,其中,所述根据所述应用程序的运行进程和各待管理页面的唯一标识信息对各所述待管理页面进行管理包括:
    当需要从当前展示的待管理页面进行返回时,将处于缓存管理栈中栈顶的待管理页面进行展示,并重新启动所述待管理页面上的事件展示,所述事件展示包括向用户传递信息的动作。
  6. 如权利要求1所述的应用程序页面开发管理方法,其中,所述根据所述应用程序的运行进程和各待管理页面的唯一标识信息对各所述待管理页面进行管理包括:
    当从当前展示的待管理页面跳转至另一待管理页面,且不对当前展示的待管理页面进行入栈操作,或需要从当前展示的待管理页面进行返回时,清除填充在当前所述待管理页面上的填充参数,得到对应的页面窗口实例;所述入栈操作包括将所述待管理页面存储进 缓存管理栈;
    将所述页面窗口实例保存至所述页面池中。
  7. 如权利要求1-6任一项所述的应用程序页面开发管理方法,其中,所述根据应用程序的页面需求获取基于片段开发技术的页面模板包括:
    接收web页面模板,并基于片段开发技术对所述Web页面模板进行片段处理;
    和/或,
    接收基于片段开发技术实现的混合页面模板和/或原生页面模板,所述混合页面模板为同时使用原生语言和Web编程语言实现的页面模板。
  8. 一种应用程序页面开发管理装置,包括:模板获取模块、实例封装模块和页面管理模块;
    所述模板获取模块,设置为根据应用程序的页面需求获取基于片段开发技术的页面模板以及所述页面模板的主唯一标识,所述页面模板中的至少一个包括使用原生语言编写的内容;
    所述实例封装模块,设置为将所述页面模板封装成页面窗口实例并存储在所述应用程序对应的页面池中,所述页面窗口实例继承对应页面模板的所述主唯一标识;
    所述页面管理模块,设置为根据所述应用程序的运行进程和各待管理页面的唯一标识信息对各所述待管理页面进行管理;各所述待管理页面基于所述页面池中的各所述页面窗口实例形成;所述待管理页面的唯一标识信息中包括形成所述待管理页面的页面窗口实例的主唯一标识。
  9. 如权利要求8所述的应用程序页面开发管理装置,其中,所述页面管理模块设置为:
    当需要创建待管理页面时,获取所述待管理页面的唯一标识信息;
    根据所述唯一标识信息中的所述主唯一标识从所述页面池中获取到对应的页面窗口实例;
    根据所述待管理页面的所述唯一标识信息从服务器侧获取到填充参数;
    将所述填充参数填充至所述页面窗口实例中,形成所述待管理页面;
    展示所述待管理页面。
  10. 如权利要求8所述的应用程序页面开发管理装置,其中,所述页面管理模块根据所述应用程序的运行进程和各待管理页面的唯一标识信息对各所述待管理页面进行管理包括:
    当从当前展示的待管理页面跳转至另一待管理页面,且不对当前展示的待管理页面进行入栈操作,或需要从当前展示的待管理页面进行返回时,清除填充在当前所述待管理页面上的填充参数,得到对应的页面窗口实例;所述入栈操作包括将所述待管理页面存储进缓存管理栈;
    将所述页面窗口实例保存至所述页面池中。
  11. 一种计算机存储介质,所述计算机存储介质存储有执行指令,所述执行指令用于执行权利要求1至7中任一项所述的方法。
PCT/CN2017/086702 2016-06-22 2017-05-31 一种应用程序页面开发管理方法及装置 WO2017219833A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610459815.5 2016-06-22
CN201610459815.5A CN107526579A (zh) 2016-06-22 2016-06-22 一种应用程序页面开发管理方法及装置

Publications (1)

Publication Number Publication Date
WO2017219833A1 true WO2017219833A1 (zh) 2017-12-28

Family

ID=60735399

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/086702 WO2017219833A1 (zh) 2016-06-22 2017-05-31 一种应用程序页面开发管理方法及装置

Country Status (2)

Country Link
CN (1) CN107526579A (zh)
WO (1) WO2017219833A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110895592A (zh) * 2018-08-22 2020-03-20 北京字节跳动网络技术有限公司 移动终端上的链接启动方法、装置、设备及介质
CN110908704A (zh) * 2019-11-14 2020-03-24 亚信科技(中国)有限公司 一种移动端跨平台原生功能的调用方法及装置
CN111596916A (zh) * 2020-04-20 2020-08-28 北京飞漫软件技术有限公司 一种应用程序管理方法、装置、设备及计算机存储介质
CN111722936A (zh) * 2019-03-20 2020-09-29 阿里巴巴集团控股有限公司 页面端与原生端的通信方法、装置、电子设备及可读介质
CN112394858A (zh) * 2020-12-11 2021-02-23 成都商通数治科技有限公司 一种iOS列表页面快速集成与管理
CN113448654A (zh) * 2020-12-07 2021-09-28 北京新氧科技有限公司 web应用程序与原生应用程序的交互方法及装置
CN116483296A (zh) * 2022-01-13 2023-07-25 深圳Tcl新技术有限公司 投屏控制方法、装置、存储介质及电子设备
CN111722936B (zh) * 2019-03-20 2024-05-31 阿里巴巴集团控股有限公司 页面端与原生端的通信方法、装置、电子设备及可读介质

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108845800B (zh) * 2018-05-23 2022-05-31 北京五八信息技术有限公司 一种组件扩展功能的实现方法、装置、设备及存储介质
CN109460524B (zh) * 2018-09-21 2020-04-17 北京三快在线科技有限公司 页面返回的方法、装置、存储介质以及客户端
CN110968313A (zh) * 2018-09-30 2020-04-07 北京奇虎科技有限公司 一种fragment管理框架、方法及装置
CN109885781B (zh) * 2019-02-27 2021-05-18 百度在线网络技术(北京)有限公司 混合页面统一浏览方法、装置、设备和存储介质
CN110069737B (zh) * 2019-04-19 2020-08-14 北京三快在线科技有限公司 内容生成方法、装置、计算机设备及存储介质
CN110134376A (zh) * 2019-05-15 2019-08-16 重庆八戒电子商务有限公司 Html5界面与app界面切换方法、装置、介质和电子设备
CN110430473B (zh) * 2019-07-18 2022-03-04 东软集团股份有限公司 视频播放的方法、装置、存储介质及电子设备
CN110704765B (zh) * 2019-09-27 2022-04-12 四川长虹电器股份有限公司 页面过渡效果实现方法
CN113535132B (zh) * 2021-07-26 2024-05-07 中移(杭州)信息技术有限公司 设备接入方法、装置、终端设备以及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104484169A (zh) * 2014-12-09 2015-04-01 成都视达科信息技术有限公司 一种Android软件用户界面生成方法、系统及应用系统
CN104516738A (zh) * 2014-12-15 2015-04-15 北京金和软件股份有限公司 一种app应用的开发与发布一体化实现方法
WO2015075449A1 (en) * 2013-11-19 2015-05-28 Thunderhead Limited Native application variation
CN104714830A (zh) * 2015-04-03 2015-06-17 普元信息技术股份有限公司 基于原生开发语言实现跨平台应用开发的系统及方法
CN105426448A (zh) * 2015-11-06 2016-03-23 广州华多网络科技有限公司 界面显示方法、装置及系统
CN105574049A (zh) * 2014-10-30 2016-05-11 阿里巴巴集团控股有限公司 移动应用的页面处理方法、装置和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104572042B (zh) * 2013-10-15 2019-02-12 航天信息股份有限公司 移动终端设备的跨平台中间件装置及其实现方法
CN105138340B (zh) * 2015-09-15 2019-04-02 北京齐尔布莱特科技有限公司 一种Native与Web页面的交互方法和系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015075449A1 (en) * 2013-11-19 2015-05-28 Thunderhead Limited Native application variation
CN105574049A (zh) * 2014-10-30 2016-05-11 阿里巴巴集团控股有限公司 移动应用的页面处理方法、装置和系统
CN104484169A (zh) * 2014-12-09 2015-04-01 成都视达科信息技术有限公司 一种Android软件用户界面生成方法、系统及应用系统
CN104516738A (zh) * 2014-12-15 2015-04-15 北京金和软件股份有限公司 一种app应用的开发与发布一体化实现方法
CN104714830A (zh) * 2015-04-03 2015-06-17 普元信息技术股份有限公司 基于原生开发语言实现跨平台应用开发的系统及方法
CN105426448A (zh) * 2015-11-06 2016-03-23 广州华多网络科技有限公司 界面显示方法、装置及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110895592A (zh) * 2018-08-22 2020-03-20 北京字节跳动网络技术有限公司 移动终端上的链接启动方法、装置、设备及介质
CN111722936A (zh) * 2019-03-20 2020-09-29 阿里巴巴集团控股有限公司 页面端与原生端的通信方法、装置、电子设备及可读介质
CN111722936B (zh) * 2019-03-20 2024-05-31 阿里巴巴集团控股有限公司 页面端与原生端的通信方法、装置、电子设备及可读介质
CN110908704A (zh) * 2019-11-14 2020-03-24 亚信科技(中国)有限公司 一种移动端跨平台原生功能的调用方法及装置
CN111596916A (zh) * 2020-04-20 2020-08-28 北京飞漫软件技术有限公司 一种应用程序管理方法、装置、设备及计算机存储介质
CN113448654A (zh) * 2020-12-07 2021-09-28 北京新氧科技有限公司 web应用程序与原生应用程序的交互方法及装置
CN113448654B (zh) * 2020-12-07 2024-03-01 北京新氧科技有限公司 web应用程序与原生应用程序的交互方法及装置
CN112394858A (zh) * 2020-12-11 2021-02-23 成都商通数治科技有限公司 一种iOS列表页面快速集成与管理
CN116483296A (zh) * 2022-01-13 2023-07-25 深圳Tcl新技术有限公司 投屏控制方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN107526579A (zh) 2017-12-29

Similar Documents

Publication Publication Date Title
WO2017219833A1 (zh) 一种应用程序页面开发管理方法及装置
US11706331B2 (en) Information processing method and apparatus, storage medium, and electronic device
KR102277606B1 (ko) 정보 푸시 방법 및 디바이스
CN103713891B (zh) 一种在移动设备上进行图形渲染的方法和装置
US10303748B2 (en) Method and device for providing webpage browsing based on web browser engine kernel
CN104995601B (zh) 切换到本机网页应用程序及从本机网页应用程序切换离开
KR20200043467A (ko) 웹페이지 콘텐츠를 추출하기 위한 방법 및 단말 장치
WO2017124811A1 (zh) 一种数据绘制方法和装置、终端、存储介质
CN105824900A (zh) 一种基于react-native的页面展示系统
WO2020143159A1 (zh) 一种用户界面的处理方法和装置
CN106339414A (zh) 网页渲染方法及装置
US20150248722A1 (en) Web based interactive multimedia system
Hales HTML5 and JavaScript Web Apps: Bridging the gap between the web and the mobile web
US9286142B2 (en) Methods and systems for supporting a rendering API using a runtime environment
US9081856B1 (en) Pre-fetching of video resources for a network page
CN109361948B (zh) 界面管理方法、智能终端及可读存储介质
US20190230311A1 (en) Video interface display method and apparatus
CN106470360B (zh) 一种视频播放器调用方法及装置
CN115309516A (zh) 一种应用生命周期的检测方法、装置及计算机设备
CN108279942A (zh) 展示智能终端应用启动页的方法及装置
CN107643911B (zh) 基于html5的界面交互及展示系统、方法
CN103577226B (zh) 一种IOS和Android平台上的组件式游戏构建方法
CN114650434A (zh) 一种基于云服务的渲染方法及其相关设备
CN108319474B (zh) 一种页面信息生成方法、装置和设备
Marinacci Building mobile applications with Java

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17814571

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17814571

Country of ref document: EP

Kind code of ref document: A1