This book is for those who want to learn how to write non-trivial web applications in APEX. It assumes no prior experience with APEX, and only a rudamentary knowledge of SQL and HTML. Other skills (including PL/SQL coding) are taught to the extent needed. Writing an APEX web application is relatively straightforward—you assemble a set of built-in components for each page (such as regions, items, and processes) and assign property values to them. The property values determine where the component is located on the page, what it looks like, and how it behaves. It's a great idea, and experienced APEX developers can build good looking and highly functional web pages quite rapidly. But the learning curve can be steep. Each component has many properties, and you need to know their purpose in order to know what values to assign. This book gently guides the reader through this abundance of properties and choices. The goal is to immerse readers in the world of APEX properties, giving them the comfort and fluency with properties that will allow them to think like an APEX developer. Each chapter is devoted to a particular component. It examines the kinds of functionality possible with that component, and shows how to use the component's properties to implement it. Topics include: conditional formatting, user-customized reports, data entry forms, concurrency and lost updates, and updatable reports. APEX has design wizards and built-in processes to implement many common web idioms. This book examines the techniques used by these wizards and processes, and discusses when to use them and when it makes sense to implement the functionality explicitly. Accompanying the book is a demo web application that illustrates each mentioned technique. Each page of the application is carefully constructed to illustrate one or more techniques, and provides a concrete example for every concept mentioned in the book. In order to illustrate the tradeoffs between different implementation techniques, some pages implement the same functionality in different ways.