Systems, methods, and apparatus, including computer program products, for
abstracting rendering logic and automatically generating
platform-specific renderers from the abstracted rendering logic for
multiple platforms. A platform-independent description of rendering logic
for a control is specified. The platform-independent description is used
to generate a platform-specific renderer for the control. The
platform-specific renderer is operable to be executed on a specific
platform to produce code that can be used in rendering the control on a
client computer. Some implementations enable code for platform-specific
renderers to be generated automatically based on centrally defined
rendering logic. Rendering logic can thus be modified once and used to
automatically update code and libraries for platform-specific renderers
on multiple platforms.