There is a distinction made in this book between a developer and a programmer. A component developer is responsible for the design and architecture of a component. These people need to know the internal composure and architecture of a component. These people need to know the internal composure and design considerations of a particular component. They design and build the application programming interface (API).On the other side of the glass is the application programmer, who implements and uses the component. These people need to know the API in order to bend the component to their will and use it inside their application. Of course, an application programmer can certainly be a de-veloper when designing a component that is built on top of another component.Generally speaking, this book is for application programmers. Internals of only a few components are mentioned when necessary to explain higher-level concepts.