When should you use Apex?

Salesforce pre-builds a lot of tools and has a powerful CRM and development platform. However, customers may have complex business processes or desire branded site applications that are not supported by the existing out-of-the-box functionality. Apex can help you to build more complex logic and applications.

You can use Apex if you want to do the following things:

  • Create web services
  • Create email services
  • Create complex validations over multiple objects
  • Create complex business processes that are not supported by workflow, Process Builders, or Visual Flow
  • Create custom transactional logic (more than one record or object, for example, overnight batches)
  • Custom logic for Visualforce pages
  • Server-side controllers for Lightning components

To visualize Apex, you can use Visualforce pages, Visualforce components, Lightning components, or the new Lightning web components.

In all other circumstances, you should first consider a declarative solution for the requirements. The following diagram shows an overview of the standard (declarative) functionalities and custom (programmatic) functionalities that you can modify or build:

Let's look at the Developer Console now.