1. A system for generating a user interface for a web application program, the system comprising: a repository of reusable screen components; means for enabling a user to create a web page layout by: selecting components from the repository, arranging selected components within the web page, defining interaction between screen components, and defining interaction between screen components and the web application program; and means for storing rendering information of the web page layout to enable a web server to render the web page.