Programmatic Development Using Apex and Visualforce

Are you a programmer who wants to understand how to customize applications programmatically on the platform? In this course, you will learn the core of the Apex programming language and Visualforce markup in order to customize your applications. You will get hands-on experience building data objects (sObjects) and programmatically retrieving, manipulating, and storing the data associated with those objects. You will write custom logic using Apex triggers and classes, and test that logic using the built-in testing framework. You will explore how Apex code interacts with declarative customizations on the platform, and the nuances of working on a multi-tenant platform. You’ll then examine common techniques for designing solutions in Apex. These activities will culminate in an exercise building a complex trigger that takes advantage of the declarative aspects of the platform. You will get hands-on experience writing Visualforce pages to customize your user interface and Visualforce controllers (in Apex) to modify the controller behavior behind the interface. You’ll also explore design techniques and the built-in testing framework around Visualforce.

Course Outline

M1 Welcome

M2 Objects and Fields

  • Describe the capabilities of objects on the platform.

  • Create a custom object.

  • Create custom fields.

  • Create relationship fields.

M3 Work Effectively with Custom Objects and Fields

  • Create formula fields.

  • Create roll-up summary fields.

  • Describe the capabilities of record types.

M4 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.

M5 Use SOQL to Query 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.

M6 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.

M7 DML Essentials

  • List the differences between the ways you can invoke DML operations.

  • Write Apex to invoke DML operations and handle DML errors.

M8 Trigger Essentials

  • Describe what a trigger is used for.

  • Describe the syntax of a trigger definition.

  • Use trigger context variables.

M9 Classes

  • Describe how Apex classes are used.

  • Define an Apex class.

  • Determine what data an Apex class can access.

M10 The Save Order of Execution and Apex Transactions

  • 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 variables.

M11 Testing Essentials

  • Describe Apex's testing framework.

  • Create test data.

  • Write and run an Apex test.

M12 Testing Strategies

  • Describe 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.

M13 Strategies for Designing Efficient Apex Solutions

  • Determine your code coverage percentages.

  • Create tests using best practices.

M14 Trigger Design Strategies

  • List declarative mechanisms you can use to implement complex business logic, for what types of problems they are best used, and their limitations.

  • Describe ways in which you can use declarative functionality to improve your programmatic solutions.

M15 Creating Visualforce Pages

  • 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.

M16 Exploring the View and Controller Layers of Visualforce

  • Create a Visualforce page.

  • Display related data.

  • Invoke standard controller actions.

M17 Working with Custom Controllers and Controller Extensions

  • Create controller extensions.

  • Create a custom controller.

  • Work with properties.

  • Use PageReferences.

  • Invoke custom methods in Visualforce pages.

M18 Working with List Controllers and SOSL Queries

  • Use a standard list controller in a Visualforce page.

  • Create a SOSL query.

  • Create a custom list controller.

M19 Visualforce Development Considerations

  • Determine whether a declarative solution exists for your requirements.

  • Describe common governor limit issues and security concerns.

  • Describe Visualforce strategies.

M20 Testing Visualforce Controllers

  • Describe how a Visualforce controller interacts with the view.

  • Write tests for controller constructors.

  • Write tests action methods, getters, setters, and properties.


This course is designed for programmatic developers who are new to the platform, who need to be able to write programmatic customization's to both the business logic and user interface layers using Apex and Visualforce.