1. A method of developing a client application including application components comprising one or more of a data component, a message component, a screen component, and a workflow component, the data component, the message component and the screen component having corresponding component definitions, the workflow component comprising a series of instructions, the method comprising: interacting with a development environment provided by a user interface; selecting a first pattern from a plurality of patterns based on an application component type central to the client application; providing guidance on the user interface through the first pattern with a plurality of predefined steps in accordance with the first pattern to coordinate the development of a application components through user input events via the user interface; selecting a first module corresponding to application component types associated with the first pattern; and developing by the first module definitions of at least one of the application components through interaction with a data model of a development environment providing a persistent state of the application components, the operation of the first module being coordinated using the plurality of the predefined steps; wherein the developed definitions of the application components are subsequently coded and assembled as the client application; wherein the first pattern is selected from the group consisting of: a pattern for generating a suitable application based on an available backend data source messaging description; a pattern for developing the suitable application based on an available backend data source messaging description such that the entire application is developed including data components and screen components; a pattern for developing the application based on an existing database schema; a pattern for developing a standard set of data components that model a particular business domain for the application, a screen pattern for coordinating the development of a screen component as the first component; a message pattern for coordinating a development of a message component as the first component; and a script pattern for coordinating a development of a workflow component as a second component.