Automatically rendering web and/or hybrid applications natively in parallel

US9910833B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9910833-B2
Application numberUS-201213675056-A
CountryUS
Kind codeB2
Filing dateNov 13, 2012
Priority dateNov 13, 2012
Publication dateMar 6, 2018
Grant dateMar 6, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An embodiment includes causing elements to be recognized that correspond to one or more browser-supported programming languages in an application. The recognized elements are those elements that can be converted to native user interface elements in the operating system and rendered on a display of a computing device. The elements in the one or more browser-supported programming languages are converted to native user interface elements. The native user interface elements are caused to be rendered on the display of the computing device. Methods, apparatus, software, and computer program products are disclosed.

First claim

Opening claim text (preview).

What is claimed is: 1. A method performed on a computing device comprising an operating system, comprising: causing elements to be recognized that correspond to one or more browser-supported programming languages in an application by traversing a model of at least a portion of the application, wherein the recognized elements are those elements in the model that can be converted to native user interface elements in the operating system and rendered on a display of the computing device; converting the elements in the one or more browser-supported programming languages to native user interface elements; causing the native user interface elements to be rendered on the display of the computing device, wherein a native rendering process performs at least the converting the elements and causing the native user interface elements to be rendered and a web rendering process performs at least the causing the elements to be recognized, and performing both a web rendering of the application and a native rendering of the application in parallel by performing at least the following: the web rendering process, in response to a change in the model, calling the native renderer process to cause the native rendering process to render native user interface elements corresponding to recognized elements in a changed portion of the model; and the native rendering process, in response to an event occurring in the native rendering, injecting code corresponding to the event into the web rendering causing the web rendering process to be hidden from the display. 2. The method of claim 1 , wherein the one or more browser-supported programming languages comprise one or both of hypertext markup language or JavaScript. 3. The method of claim 1 , wherein causing the native elements to be rendered on a display of the computing device further comprises causing the operating system of the computing device to render the native elements on the display. 4. The method of claim 1 , wherein the converting the elements further comprises converting each element in the model that can be converted to native user interface elements in the operating system and rendered on the display to a native user interface element in a tree. 5. The method of claim 1 , wherein the recognizing is performed because the recognized elements in the model correspond to elements in a library. 6. The method of claim 3 , wherein the operating system comprises one of iOS, Android, or Windows. 7. The method of claim 4 , wherein the tree further comprises for each native user interface element a renderable type corresponding to the native user interface element. 8. The method of claim 4 , wherein converting the elements is performed so there is a one-to-one correspondence between elements in the model that can be converted to native user interface elements in the operating system and rendered on the display to a native user interface elements in the tree. 9. The method of claim 1 , wherein both the native rendering process and the web rendering process are performed on the computing device. 10. The method of claim 1 , wherein the native rendering process is performed on the computing device, but the web rendering process is performed on a device different from the computing device. 11. The method of claim 1 , further comprising propagating events occurring in the web rendering process to the native rendering process. 12. The method of claim 11 , wherein converting the elements further comprises converting each element in the model that can be converted to native user interface elements in the operating system and rendered on the display to a native user interface element in a tree; and wherein recognizing elements in the model that can be converted to native user interface elements in the operating system and rendered on a display of the computing device further comprises bridging callbacks into native code performing the native rendering process for at least some of the elements so that during the web rendering process, the native rendering process is called via the callbacks, and. in response to the calls, the native rendering process uses the tree to cause native user interface elements, corresponding to elements in the model and to corresponding native user interface elements in the tree, to be rendered on the display. 13. The method of claim 1 , wherein the display is one or more of a touchscreen, flat screen, monitor, television, or projector. 14. The method of claim 1 , wherein causing the native user interface elements to be rendered on a display of the computing device further comprises positioning renderables corresponding to native user interface elements, marking the renderables as ready to draw, and causing the computing device to render the renderables. 15. The method of claim 1 , wherein the web rendering process, in response to a change in the model, calling the native renderer process to cause the native rendering process to render native user interface elements further comprises the web rendering process, when traversing the model, finding and performing callbacks to the native rendering process, the callbacks corresponding to recognized elements; and performing a web rendering of the application and a native rendering of the application in parallel further comprises: the native rendering process performing the callbacks to cause native user interface elements corresponding to recognized elements in the model to be rendered on the display. 16. The method of claim 1 , wherein performing a web rendering of the application and a native rendering of the application in parallel further comprises: the web rendering process handling the injected code and, for an event that modifies the model, notifying the native rendering process by using a callback. 17. The method of claim 1 , wherein the injected code comprises JavaScript code. 18. The method of claim 1 , further comprising, prior to performing the web rendering of the application and the native rendering of the application in parallel, traversing the model and bridging callbacks, for recognized elements in the model, from the model into the native rendering process. 19. The method of claim 1 , wherein causing the web rendering process to be hidden from the display comprises at least one of: performing the web rendering in a video scratch area, performing the web rendering outside the viewable area of the screen, and disabling output from the web rendering process to the display.

Assignees

Inventors

Classifications

  • Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements · CPC title

  • Digital computing or data processing equipment or methods, specially adapted for specific functions (information retrieval, database structures or file system structures therefor G06F16/00) · CPC title

  • Physics · mapped topic

  • G06F40/143Primary

    Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD] · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9910833B2 cover?
An embodiment includes causing elements to be recognized that correspond to one or more browser-supported programming languages in an application. The recognized elements are those elements that can be converted to native user interface elements in the operating system and rendered on a display of a computing device. The elements in the one or more browser-supported programming languages are co…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F17/2247. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 06 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).