# US 2008/0307299 A1 · Client-side components

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2008/0307299 A1
- Document ID: US20080307299A1
- Status: Published application
- Kind: A1
- Application number: 11/811,293
- Filed: 2007-06-08
- Published: 2008-12-11
- Earliest claimed: 2007-06-08
- Assignees: Apple Inc.
- Inventors: Benoit Marchant; Charles Jolley
- Web page: https://patentgrep.com/patent/US20080307299A1

## CPC

- G06F 16/972: {Access to data in other repository systems, e.g. legacy data or dynamic Web page generation}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Generating web pages dynamically at a client is disclosed. In some embodiments, when a web application or other code determines that a page is to be displayed, a set of components required to generate the page dynamically at the client is determined. Any components not already available at the client is obtained from a server. In some embodiments each component includes a display portion and may include one or both of a set of binding declarations and a logic portion. The components are parsed at the client and used to generate the page dynamically at the client, e.g., by generating associated portions of the document object model (DOM), retrieving JavaScript™ or other functions/classes and linking them to the respective portions of the DOM to which they correspond, and using the browser to render the page so created.

## Claims

### Claim 1

A method for generating a page, comprising:
receiving at a client a set of one or more components, each component being associated with at least a part of the page and each component comprising at least one of a display definition portion and a logic portion; and
using the set of one or more components to generate the page dynamically at the client, including for at least one part of the page using a display definition portion of a component associated with that part of the page to generate a display definition for that part of the page and a logic portion of the component to implement a behavior associated with that part of the page.

### Claim 2 (depends on 1)

A method as recited in claim 1, wherein the display definition portion of a component comprises an XHTML template or tag.

### Claim 3 (depends on 1)

A method as recited in claim 1, wherein the logic portion of a component comprises a software object.

### Claim 4 (depends on 1)

A method as recited in claim 1, wherein the logic portion of a component comprises an instance of a JavaScript class.

### Claim 5 (depends on 1)

A method as recited in claim 1, wherein a component includes one or more subcomponents.

### Claim 6 (depends on 1)

A method as recited in claim 1, wherein a component includes one or more declarations.

### Claim 7 (depends on 1)

A method as recited in claim 1, wherein a component includes one or more binding declarations.

### Claim 8 (depends on 1)

A method as recited in claim 1, further comprising receiving at the client data associated with the page.

### Claim 9 (depends on 1)

A method as recited in claim 1, wherein generating the page dynamically at the client comprises building a display definition of the page and a logic definition of the page.

### Claim 10 (depends on 1)

A method as recited in claim 1, wherein generating the page dynamically at the client includes building a DOM tree of the page and a logic tree of the page.

### Claim 11 (depends on 10)

A method as recited in claim 10, wherein the logic tree comprises a hierarchy of the set of one or more components.

### Claim 12 (depends on 10)

A method as recited in claim 10, wherein the logic tree hierarchy is inferred from the DOM tree hierarchy.

### Claim 13 (depends on 10)

A method as recited in claim 10, wherein the display definition portion of a component is represented by at least one element in the DOM tree of the page.

### Claim 14 (depends on 10)

A method as recited in claim 10, wherein the logic portion of a component is represented by an object in the logic tree.

### Claim 15 (depends on 10)

A method as recited in claim 10, wherein each logic object in the logic tree registers as an event listener for DOM events at a DOM element with which the logic object is associated.

### Claim 16 (depends on 10)

A method as recited in claim 10, wherein a page-level logic object in the logic tree registers as an event listener for all DOM events for all logic objects.

### Claim 17 (depends on 10)

A method as recited in claim 10, wherein an element in the DOM tree and an object in the logic tree that are associated with each other have the same name or identifier.

### Claim 18 (depends on 17)

A method as recited in claim 17, wherein the name or identifier is unique.

### Claim 19 (depends on 1)

A method as recited in claim 1, further comprising requesting a component.

### Claim 20 (depends on 19)

A method as recited in claim 19, wherein a component is requested on demand.

### Claim 21 (depends on 19)

A method as recited in claim 19, wherein requesting a component comprises requesting an XML file associated with the component.

### Claim 22 (depends on 19)

A method as recited in claim 19, wherein receiving the requested component at the client comprises receiving an XHTML file of the requested component.

### Claim 23 (depends on 22)

A method as recited in claim 22, further comprising parsing the XHTML file of the requested component without rendering.

### Claim 24 (depends on 1)

A method as recited in claim 1, further comprising receiving client-side code associated with a web application with which the page is associated.

### Claim 25 (depends on 1)

A method as recited in claim 1, further comprising displaying the page.

### Claim 26

A method for providing a page, comprising:
receiving from a client a request for a page; and
sending to the client a set of one or more components, each component being associated with at least a part of the page and each component comprising at least one of a display definition portion and a logic portion;
wherein the set of one or more components are usable by the client to generate the page dynamically at the client, including for at least one part of the page using a display definition portion of a component associated with that part of the page to generate a display definition for that part of the page and a logic portion of the component to implement a behavior associated with that part of the page.

### Claim 27

A system for generating a page, comprising:
a processor at a client configured to:
receive a set of one or more components, each component being associated with at least a part of the page and each component comprising at least one of a display definition portion and a logic portion; and
use the set of one or more components to generate the page dynamically at the client, including for at least one part of the page using a display definition portion of a component associated with that part of the page to generate a display definition for that part of the page and a logic portion of the component to implement a behavior associated with that part of the page; and
a memory coupled to the processor and configured to provide instructions to the processor.

### Claim 28 (depends on 27)

A system as recited in claim 27, wherein the display definition portion of a component comprises an XHTML template or tag.

### Claim 29 (depends on 27)

A system as recited in claim 27, wherein the logic portion of a component comprises a software object.

### Claim 30 (depends on 27)

A system as recited in claim 27, wherein a component includes one or more declarations.

### Claim 31 (depends on 27)

A system as recited in claim 27, wherein generating the page dynamically at the client comprises building a display definition of the page and a logic definition of the page.

### Claim 32

A computer program product for generating a page, the computer program product being embodied in a computer readable medium and comprising computer instructions for:
receiving at a client a set of one or more components, each component being associated with at least a part of the page and each component comprising at least one of a display definition portion and a logic portion; and
using the set of one or more components to generate the page dynamically at the client, including for at least one part of the page using a display definition portion of a component associated with that part of the page to generate a display definition for that part of the page and a logic portion of the component to implement a behavior associated with that part of the page.

### Claim 33 (depends on 32)

A computer program product as recited in claim 32, wherein the display definition portion of a component comprises an XHTML template or tag.

### Claim 34 (depends on 32)

A computer program product as recited in claim 32, wherein the logic portion of a component comprises a software object.

### Claim 35 (depends on 32)

A computer program product as recited in claim 32,, wherein a component includes one or more declarations.

### Claim 36 (depends on 32)

A computer program product as recited in claim 32, wherein a component includes one or more binding declarations.

### Claim 37 (depends on 32)

A computer program product as recited in claim 32, wherein generating the page dynamically at the client comprises building a display definition of the page and a logic definition of the page.

### Claim 38 (depends on 32)

A computer program product as recited in claim 32, wherein generating the page dynamically at the client includes building a DOM tree of the page and a logic tree of the page.

### Claim 39

A computer program product for providing a page, the computer program product being embodied in a computer readable medium and comprising computer instructions for:
receiving from a client a request for a page; and
sending to the client a set of one or more components, each component being associated with at least a part of the page and each component comprising at least one of a display definition portion and a logic portion;
wherein the set of one or more components are usable by the client to generate the page dynamically at the client, including for at least one part of the page using a display definition portion of a component associated with that part of the page to generate a display definition for that part of the page and a logic portion of the component to implement a behavior associated with that part of the page.
