PROGRAMMATIC NATIVE RENDERING OF STRUCTURED CONTENT
First Claim
1. A computer-implemented method, comprising:
- providing a first version of an application to a first device having a first operating system, the first version of the application being in a first platform-specific language of the first device and including a first layout engine configured to receive a first user interface (UI) layout description specified in a UI layout description language, and to generate a first native view for presentation on the first device using the first UI layout description and one or more native UI components of the first device; and
providing a second version of the application to a second device having a second operating system, the second version of the application being in a second platform-specific language of the second device, the second platform-specific language being different than the first platform-specific language of the first device, the second version of the application including a second layout engine configured to receive the first UI layout description, and to generate a second native view for presentation on the second device using the first UI layout description and one or more native UI components of the second device;
wherein the first native view is substantially the same visually as the second native view.
6 Assignments
0 Petitions
Accused Products
Abstract
A user interface (UI) layout description language is described in which a UI may be specified for presentation by different versions of the same app running on different platforms. A layout engine written in a platform-specific language parses the UI layout description and transforms it to a native view using native UI components. The app on each platform has its own layout engine, but each can use the same layout description to generate a native view. Thus, a UI can be built once for all of the platforms. And because the UI layout engines are written in the language of their corresponding platforms, the UIs generated are high performing.
18 Citations
30 Claims
-
1. A computer-implemented method, comprising:
-
providing a first version of an application to a first device having a first operating system, the first version of the application being in a first platform-specific language of the first device and including a first layout engine configured to receive a first user interface (UI) layout description specified in a UI layout description language, and to generate a first native view for presentation on the first device using the first UI layout description and one or more native UI components of the first device; and providing a second version of the application to a second device having a second operating system, the second version of the application being in a second platform-specific language of the second device, the second platform-specific language being different than the first platform-specific language of the first device, the second version of the application including a second layout engine configured to receive the first UI layout description, and to generate a second native view for presentation on the second device using the first UI layout description and one or more native UI components of the second device; wherein the first native view is substantially the same visually as the second native view. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing device, comprising:
-
memory including an operating system implemented in a platform-specific language, native user interface (UI) components, and an application implemented in the platform-specific language, the application including a UI layout engine; a display; and one or more processors operatively coupled to the memory and the display, the one or more processors being configured to use the UI layout engine to; build a UI layout tree using a UI layout description specified in a UI layout description language that is different from the platform-specific language; determine a UI layout position for each of the elements of the UI layout tree; and generate a native view using the UI layout tree, the UI layout position of each of the elements of the UI layout tree, and the native UI components; the one or more processors being further configured to present a UI corresponding to the native view on the display. - View Dependent Claims (9, 10, 11, 12, 13, 14, 16, 17, 18, 30)
-
-
15. The computing device of claim 8, wherein the UI layout description language employs the JavaScript Object Notation (JSON) format or the Extensible Markup Language (XML) format.
-
15-1. (canceled)
-
19. A computer program product comprising one or more computer-readable media having computer program instructions stored therein, the computer program instructions being in a platform-specific language of an operating system and being configured such that, when executed by one or more processors, the computer program instructions cause the one or more processors to:
-
build a UI layout tree using a UI layout description specified in a UI layout description language that is different from the platform-specific language; bind data to one or more elements of the UI layout tree; determine a UI layout position for each of the elements of the UI layout tree; and generate a native view of a user interface using the UI layout tree, the data bound to the one or more elements of the UI layout tree, the UI layout position of each of the elements of the UI layout tree, and native UI components associated with the operating system. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
Specification