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.
By the end of this course, you will be able to:
- 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 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.
Who Can Benefit
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. (Please see prerequisites)
- 1 year programming in Java (or another object-oriented programming language)
- Basic data modeling for relational databases
- Basic SQL
- Basic HTML
Certified Platform Developer
M2 Objects and Fields
- Describe the capabilities of objects on the Force.com 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.
- 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.