Force.com lets you implement a large percentage of your business logic using point-and-click declarative features such as workflows and approval processes. But sometimes you need more control than these features provide for. That's when you can leverage the power of Apex Code.
Apex is a strongly-typed, object-oriented programming language that lets you centralize and execute flow and transaction control statements on the Force.com platform in conjunction with application calls to Force.com APIs. Using syntax that looks like Java and acts like database stored procedures, Apex lets you add powerful custom business logic to most system events, including button clicks, related record updates, and Visualforce pages. Web service requests and database triggers on objects can also initiate the execution of Apex code.
Recommended Apex Code Learning Path
To begin learning about Apex Code, follow this path.
- Apex Code Quick Start
- An Introduction to Force.com Apex Code
- Apex Workbook [ HTML | PDF ]
- Apex Training Course "Apex Programming on the Force.com Platform"
- Chatter in Apex Quick Start
- Beginner-Level Apex Code Dreamforce 2011 Sessions (see below for additional session links)
- Apex Code Cheat Sheet
Related Apex Code Resources
Here are some other helpful resources for Apex Code.
- Apex Training: "Apex Programming on the Force.com Platform"
- Using Chatter in Apex to Display Two Chatter Feeds on a Visualforce Page
- Apex Code Best Practices
- Apex Design Patterns
- Apex Enterprise Patterns - Separation of Concerns
- Apex Enterprise Patterns - Service Layer
- Apex Enterprise Patterns - Domain Layer
- Apex Enterprise Patterns - Selector Layer
- An Introduction to Exception Handling
- Governors in Apex Code
- Getting Started with Apex JSON
- Using Apex Managed Sharing to Create Custom Record Sharing Logic
- Using the Apex Crypto Class
- Integration Scenarios Involving Apex
- Apex Web Services and Callouts
- Exposing Service and Support Data to Other Systems Using Apex Web Services
- An Introduction to Email Services on Force.com
- Force.com Email Services
- Force.com Email Services Size Limitations
- Force.com Email Services Unsubscribe
- Code Sample - Creating Ideas from Inbound Emails Using Email Services
- Code Sample - Testing Email Services with Inbound Attachments
Intermediate- and Advanced-Level Apex Code Dreamforce 2013 Sessions
Intermediate- and Advanced-Level Apex Code Dreamforce 2011 Sessions
- Writing Effective Triggers for Database.com
- Apex Design Patterns and Best Practices
- Designing Scalable and Performant Force.com Apex Code
- Writing Secure Code on the Force.com Platform
- Debugging Apex: Tools and Techniques
- Hands-On: Testing in Force.com Code (Apex) for Developers (2.5 hr)
- Hands-On: Force.com Code (Apex) Integrations for Developers
- Apex Puzzlers: Big Money, No Whammies!
- HTML 5 and Geo-Location Using Visualforce and Apex