Simple applications can be created by clicking a single component on a page and adjusting its attributes. More flexibility however is reached by combining several components. For example components can be nested , e.g. a form component cooperates with field components contained in the form. Another kind of cooperation scheme are event based messages send from one component to another one. Using a h ei tml component is as easy as dragging it on the page using RAD page or as writing an XML tag on a page.
Components can drastically simplify the interaction of graphic designers and programmers.
Programmers just create components and graphic designers can use them without the help of the programmers. Usually a big part of each Web site can be created reusing existing components. In addition you can create your own components or modify existing components using object-oriented inheritance. This finally leads to a big improvement in productivity retaining the flexibility of a programming language.