Book Image

Mastering Application Development with

By : Kevin J. Poorman
Book Image

Mastering Application Development with

By: Kevin J. Poorman

Overview of this book is an extremely powerful, scalable, and secure cloud platform, delivering a complete technology stack, ranging from databases and security to workflow and the user interface. With's cloud platform, you can build any business application and run it on your servers. The book will help you enhance your skillset and develop complex applications using It gets you started with a quick refresher of's development tools and methodologies, and moves to an in-depth discussion of triggers, bulkification, DML order of operations, and trigger frameworks. Next, you will learn to use batchable and schedulable interfaces to process massive amounts of information asynchronously. You will also be introduced to Salesforce Lightning and cover components—including backend (apex) controllers, frontend (JavaScript) controllers, events, and attributes—in detail. Moving on, the book will focus on testing various apex components: what to test, when to write the tests, and—most importantly—how to test. Next, you will develop a changeset and use it to migrate your code from one org to another, and learn what other tools are out there for deploying metadata. You will also use command-line tools to authenticate and access the Rest sObject API and the Bulk sObject API; additionally, you will write a custom Rest endpoint, and learn how to structure a project so that multiple developers can work independently of each other without causing metadata conflicts. Finally, you will take an in-depth look at the overarching best practices for architecture (structure) and engineering (code) applications on the platform.
Table of Contents (16 chapters)
Mastering Application Development with
About the Author
About the Reviewers

Knowing when to use what

Asynchronous Apex, in its various forms, is incredibly useful. By trading synchronous execution of your code for relaxed or reset governor limits, you can process massive numbers of records, call out to web services without holding up your users, and, as of the Spring '15 release, you can even write fault tolerant asynchronous callouts. Knowing when to use which type of Asynchronous Apex, however, can be difficult. With that in mind, here are some guidelines:

  • If you are manipulating more than 2000 records, use Batchable Apex.

  • While you can directly schedule Batchable Apex, it is almost always preferable to wrap the batch Apex execution in a scheduled class, as this provides much more flexibility regarding execution time and.

  • Use the @future annotation in situations where the method can be called and forgotten.

  • Default to Queueable Apex for asynchronous code, manipulating less than 2000 records at a time.

  • Write and use a standard wrapper for Queueable Apex like the one...