1. A method of data binding, comprising: displaying, by a computer processor on a display device, a user interface having a plurality of user-selectable views, each of the user-selectable views having an associated graphical control element viewable on the user interface, the plurality of user-selectable views including a design view, a source code view, a class definition view, and a data object view, the design view including a component object having a graphical element associated with a user interface field, the source code view displaying source code, the source code including metadata, the source code associated with the component object displayed in the design view, the data object view including a data object representation of a data object having a data field; responsive to a user selecting a graphical control element associated with the source code view, the computer processor displaying the source code, which is associated with the component object in the design view, in the source code view on the user interface, wherein the source code view allows a user to manipulate the source code displayed in the source code view; responsive to the user manipulating the source code, which is associated with the component object in the design view, via the source code view, the computer processor automatically generating or updating a class definition based at least in part on the metadata in the source code, the class definition defining classes for dynamic generation of objects suitable for data binding; and responsive to a data binding event involving the graphical element of the component object and the data object representation of the data object, the computer processor automatically generating an association between the user interface field of the graphical element and the data field of the data object using the class definition that has been automatically generated or updated by the computer processor based at least in part on the metadata in the source code, as manipulated by the user.