1. Salesforce platform and architecture fundamentals
-
Understanding the Salesforce Platform: An overview of Salesforce architecture, including the multi-tenant environment, the Force.com platform, and the role of Metadata and APIs.
-
Declarative vs. Programmatic Development: How to use Salesforce's declarative tools versus programmatic approaches.
-
Salesforce Development Tools: An introduction to the Developer Console, VS Code with Salesforce Extensions, and Salesforce CLI (Command-Line Interface).
-
Salesforce Data Model: Understanding standard objects, creating custom objects and fields, establishing relationships (Lookup, Master-Detail, Junction Objects), and using Schema Builder.
2. Apex programming language
-
Apex Fundamentals: Variables, data types (primitive, sObject, collection), operators, and control flow statements.
-
Object-Oriented Programming (OOP) in Apex: Classes, objects, constructors, methods, inheritance, polymorphism, and interfaces.
-
Apex Governor Limits: Understanding and respecting the Salesforce platform's execution limits.
-
Apex Triggers: Creating and managing Apex triggers to automate actions before or after DML (Data Manipulation Language) events.
-
SOQL (Salesforce Object Query Language) and SOSL (Salesforce Object Search Language): Querying and searching data within the Salesforce database.
-
DML Statements: Inserting, updating, deleting, and undeleting records in Apex.
-
Batch Apex: Processing large datasets asynchronously to handle large volumes of records that might exceed governor limits.
-
Scheduling Apex: Scheduling Apex classes to run at specific times or intervals.
-
Exception Handling: Implementing robust error handling using try, catch, and finally blocks in Apex.
3. Visualforce development
-
Visualforce Basics: Understanding Visualforce, the tag-based markup language for building custom user interfaces on the Lightning platform.
-
Visualforce Pages and Controllers: Creating Visualforce pages, associating them with standard controllers, custom controllers, or controller extensions to define page logic.
-
Standard Controllers: Leveraging built-in functionality for interacting with Salesforce records.
-
Custom Controllers and Extensions: Writing Apex classes to implement custom logic and extend standard controller functionality.
-
Visualforce Components: Using and customizing Visualforce tags to build user interfaces.
-
Styling and Branding: Styling Visualforce pages using standard or custom CSS and incorporating Salesforce Lightning Design System (SLDS) styling.
4. Lightning web components (LWC)
-
Introduction to LWC: Understanding LWC's architecture, benefits, and how it aligns with modern web standards.
-
LWC Development Basics: Creating components, understanding component structure (HTML templates, JavaScript controllers, CSS styling), and working with decorators (@api, @track, @wire).
-
Data Binding and Component Communication: Handling data binding, managing events, and facilitating communication between parent and child components.
-
Integrating LWC with Apex: Calling Apex methods from LWC components (imperatively and using @wire) and handling responses.
-
Lightning Data Service (LDS): Using LDS for efficient and declarative data access and manipulation in LWC.
-
Lifecycle Hooks: Understanding and implementing LWC lifecycle hooks to control component behavior at different stages.
-
Deployment and Packaging LWC Components: Deploying LWC to Salesforce Orgs and packaging for distribution.
5. Integrations and APIs
-
Understanding Salesforce APIs: Overview of different APIs like REST API, SOAP API, Bulk API, and Streaming API.
-
Connecting to External Systems: Making HTTP callouts from Apex to integrate with external systems.
-
Defining WebService Classes: Exposing Apex methods as web services for external systems to consume.
-
Integrating with Other Salesforce Instances: Using APIs to integrate data between different Salesforce organizations.
6. Testing, debugging, and deployment
-
Apex Testing: Writing effective unit tests for Apex classes and triggers to ensure code quality and achieve the required code coverage.
-
Test Data Management: Creating and managing test data for comprehensive testing.
-
Debugging Techniques: Using the Developer Console, debug logs, and anonymous blocks to identify and resolve issues in Apex code and other components.
-
Deployment Methods: Understanding and using various deployment methods like Change Sets, Metadata API, Salesforce DX, and DevOps Center.
-
Version Control and CI/CD: Introduction to using version control systems like Git and implementing Continuous Integration/Continuous Delivery (CI/CD) pipelines for efficient development and deployment.
7. Best practices and security
-
Apex Code Best Practices: Writing bulkified Apex code, avoiding SOQL/DML inside loops, optimizing SOQL queries, and implementing proper error handling.
-
LWC Best Practices: Following best practices for creating efficient and maintainable Lightning Web Components.
-
Salesforce Security for Developers: Understanding the Salesforce security model (OWD, roles, profiles, permission sets, sharing rules, FLS) and implementing secure coding practices.
-
Performance Optimization: Optimizing Apex code and UI components for better performance.