Course Overview
Learn how to customize and design applications programmatically on the Salesforce Platform. In this 5-day class, our platform experts will introduce you to Apex (Salesforce's programming language) and Visualforce markup, so you can customize your Salesforce applications using code and explore how Apex interacts with declarative customizations on the platform. Learn how to retrieve, manipulate, and store data programmatically in data objects (sObjects), write and test custom logic, write Visualforce pages to customize your user interface, and deploy your solutions to another environment. Get an overview of the declarative automation tools available on the platform and a brief introduction to the Lightning Component framework. Plus, explore the nuances of working on a multi-tenant platform so you can extend the platform to meet business demands.
Who should attend
This course is designed for programmatic developers looking to write programmatic customizations to both business logic and UI layers using Apex and Visualforce. You should have a good understanding of core object-oriented programming concepts and experience building declarative solutions on the Salesforce Platform. This course is also a great foundation builder if you're looking to earn your Salesforce Platform Developer I credential.
IMPORTANT: Students are expected to follow the steps detailed in the Computer Set-up Guide for this class if you'll be using your own computer when attending a virtual or in-person class.
Certifications
This course is part of the following Certifications:
Prerequisites
Complete the Computer Set-up Guide for this class.
Course Objectives
- Learn modern tools for developing on the Salesforce Platform using Visual Studio Code, the Salesforce Extension Pack, and the Salesforce CLI.
- Write business logic customizations using Apex triggers and classes; those customizations will use SOQL and DML.
- Design programmatic solutions that take advantage of declarative customizations.
- Describe how your trigger code works within the basics of the Save Order of Execution.
- Describe some of the fundamental aspects of designing programs on a multi-tenant platform.
- Write Visualforce markup and code to customize the user interface.
- Use the built-in testing framework to test Apex and Visualforce.
Outline: Build Applications Programmatically on the Salesforce Platform (DEX450)
Declarative Automation
- Create Formula Fields
- Create Roll-Up Summary Fields
- Understand Record Types
- Review Other Automation Tools
- Build a Data Model on the Salesforce Platform
Programming with Apex
- Describe Key Aspects of Apex That Differentiate It from Other Languages, Such as Java and C#
- Describe Why Apex Transactions and Governor Limits Must Be Considered When Writing Apex
- Execute Simple Apex
- Use the sObject Data Type, the Primitive Data Types, and Basic Control Statements in Apex
Using SOQL and SOSL to Retrieve Your Org's Data
- Write a Basic Query Using Salesforce's Query Language, SOQL
- Process the Result of a Query in Apex
- Create a Query Dynamically at Run-Time
- Use SOQL to Query Parent-Child Relationships
- Describe a Relationship Query
- Write a Query That Traverses a Child-to-Parent Relationship
- Write a Query That Traverses a Parent-to-Child Relationship
- Use SOSL to Search Data
Using DML to Manipulate Your Org's Data
- List the Differences Between the Ways You Can Invoke DML Operations
- Write Apex to Invoke DML Operations and Handle DML Errors
Deployment
- What Is Deployment?
- Deploy Code Using Change Sets
- Use the Ant Migration Tool
- Review Managed and Unmanaged Packages
- Explore Salesforce DX
Trigger Essentials
- Describe What a Trigger Is Used For
- Describe the Syntax of a Trigger Definition
- Use Trigger Context Variables
Apex Class Essentials
- Describe How Apex Classes Are Used
- Define an Apex Class
- Determine What Data an Apex Class Can Access
The Save Order of Execution, Apex Transactions, and Platform Events
- Describe Key Points in the Order of Execution
- Describe How Triggers Fit Into and Can Be Impacted by the Order of Execution
- Describe the Lifecycle of an Apex Transaction
- Describe the Memory Lifecycle for Static Attributes
- Use Platform Events for Immediate Error Logging
Apex Testing
- Describe the Apex Testing Framework
- Create Test Data
- Write and Run an Apex Tes
- t Test Best Practices
Strategies for Designing Efficient Apex Solutions
- Describe Best Practices for Writing Code That Is Easy to Maintain and Extend
- Write Triggers and Classes That Assume Batches of Data as Input
- Write Code That Works Efficiently with the Database, Both in Querying and Using DML
Trigger Design Strategies
- List Declarative Mechanisms You Can Use to Implement Complex Business Logic, What Types of Problems They're Best Used for, and Their Limitations
- Describe Ways in Which You Can Use Declarative Functionality to Improve Your Programmatic Solutions
Working with Visualforce
- Create a Visualforce Page
- Reference a Standard Controller
- Launch a Visualforce Page Using a Custom Button
- Display Data from a Record in a Visualforce Page
- Reference Custom Controllers and Controller Extensions
- Work with List Controllers
Visualforce Development Considerations and Testing
- Describe Common Limit Issues and Security Concerns
- Describe Strategies for Testing Visualforce Controllers
- Write Tests for Controller Constructors
- Write Tests for Action Methods, Getters, Setters, and Properties
Lightning Components
- Create and Surface an Aura Component
- Create and Surface a Lightning Web Component