0345 4506120

Programmatic Development using Apex and Visualforce

Are you a programmer who wants to understand how to customize applications programmatically on the Force.com platform? In this course, you will learn the core of the Apex programming language and Visualforce markup in order to customize your Force.com 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.

  Who should take this course?
  This course is designed for programmatic developers who are new to the Force.com platform, who need to be able to write programmatic customizations to both the business logic and user interface layers using Apex and Visualforce.

Learning Objectives

  •   Create and modify objects using the declarative interface
  •   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 designingprograms 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 Visualforces


The prerequisites include a solid understanding of basic Salesforce concepts and functionality and:

  •   1 year programming in Java (or another object-oriented programming language)
  •   Basic data modeling for relational databases
  •   Basic SQL
  •   Basic HTML
  •   Basic JavaScript

Course Content

Objects and Fields

  •   Describe the capabilities of objects on the Force.com platform
  •   Create a custom object
  •   Create custom fields
  •   Create relationship fields
Work Effectively with Custom Objects and Fields
  •   Create formula fields
  •   Create roll-up summary fields
  •   Describe the capabilities of record types
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
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
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
DML Essentials
  •   List the differences between the ways you can invoke DML operations
  •   Write Apex to invoke DML operations and handle DML errors
Trigger Essentials
  •   Describe what a trigger is used for
  •   Describe the syntax of a trigger definition
  •   Use trigger context variables
  •   Describe how Apex classes are used
  •   Define an Apex class
  •   Determine what data an Apex class can access
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
Testing Essentials
  •   Describe Apex’s testing framework
  •   Create test data
  •   Write and run an Apex test
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
Strategies for Designing Efficient Apex Solutions
  •   Determine your code coverage percentages
  •   Create tests using best practices
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
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
Exploring the View and Controller Layers of Visualforce
  •   Create a Visualforce page
  •   Display related data
  •   Invoke standard controller actions
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
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
Visualforce Development Considerations
  •   Determine whether a declarative solution exists for your requirements
  •   Describe common governor limit issues and security concerns
  •   Describe Visualforce strategies
Testing Visualforce Controllers
  •   Describe how a Visualforce controller interacts with the view
  •   Write tests for controller constructors
  •   Write tests for action methods, getters, setters, and properties

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the request service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.


Our Customers Include