Preface
Since its release in 2007, the Apex programming language has grown from being simply a way of building small extensions to your existing Salesforce application into a rich and fully featured language that is used across the globe to build complex applications. The number of different ways in which Apex can be used has increased in line with the growth of Salesforce and the Salesforce platform in general.
Apex is unique among languages, however, in that it can be run only on Salesforce's own multi-tenant cloud. This has necessitated a number of tools and features within the language that at first do not always seem to be clear as to how they can be used. Working with the language to improve performance or even measuring that performance is a dark art not widely understood. And for many, even some fundamentals around error handling, debugging, and testing are not always as well practiced as they should be.
The aim of this book is to help you to truly understand and master the Apex programming language to develop and build more scalable solutions. Over the course of the past 11 or so years of working with Apex, I have had the pleasure of seeing some of the best Salesforce implementations, and the dismay of seeing some of the worst.
By the end of this book, you should hopefully be comfortable discussing a variety of advanced Salesforce techniques for helping to build applications that truly scale, while also having gained a deeper insight into some of the fundamental best practices that, if followed, will improve both your developer experience and the quality of the solutions you produce.