Plain-English definitions of the core development terms for the Salesforce Platform Developer I exam, grouped roughly by exam section. Simplified for learning; the Salesforce developer documentation is authoritative.
| Term | Definition |
|---|---|
| Lightning Platform | Salesforce’s application platform, where custom apps are built with declarative tools and code on shared infrastructure. |
| Multitenancy | Many customer orgs share the same infrastructure; this is why governor limits and metadata-driven design exist. |
| Governor limits | Runtime limits (queries, DML, CPU and more) that Apex must respect so no single org monopolises shared resources. |
| MVC (Model-View-Controller) | The separation of data (objects and fields), presentation (pages and components) and logic (controllers) that platform development follows. |
| sObject | The Apex representation of any database object, standard or custom; an sObject variable holds one record. |
| Lookup relationship | A loose link between objects; the child record can exist without a parent. |
| Master-detail relationship | A tight link where the detail record needs its master, inherits its sharing and is deleted with it; enables roll-up summaries. |
| Junction object | A custom object with two master-detail relationships, modelling a many-to-many relationship. |
| External ID | A custom field flagged so integrations can match records against an outside system’s key, typically in upserts. |
| Formula field | A read-only field calculated when viewed, based on other fields; its value is not stored. |
| Roll-up summary field | A field on the master record that counts, sums or aggregates values from its detail records; requires master-detail. |
| Agentforce | Salesforce’s AI agent layer; developers should know its use cases, its limits, and how agent actions can invoke Apex. |
| Apex | Salesforce’s strongly typed, object-oriented, Java-like language that runs on the platform’s servers. |
| Apex interface | A contract listing method signatures that an implementing class must define. |
| Apex trigger | Apex code that runs automatically before or after records are inserted, updated, deleted or undeleted. |
| Trigger context variables | Variables such as Trigger.new, Trigger.old and Trigger.isInsert that describe the records and event a trigger is handling. |
| Before vs after trigger | Before triggers can modify the records being saved without extra DML; after triggers see saved records with IDs, for related-record work. |
| Bulkification | Writing Apex to handle up to 200 records at a time, keeping queries and DML out of loops so governor limits hold. |
| SOQL | Salesforce Object Query Language; retrieves records from one object, including fields from related records. |
| SOSL | Salesforce Object Search Language; text-searches across multiple objects in a single operation. |
| DML | Data Manipulation Language operations in Apex: insert, update, upsert, delete, undelete and merge. |
| Collection (List, Set, Map) | Apex’s three collection types: ordered lists allowing duplicates, unordered unique sets, and key-value maps. |
| Save order of execution | The fixed sequence when a record is saved: before triggers, then validation rules, then the save, after triggers, and subsequent automation. |
| Exception handling | Using try-catch-finally blocks to deal with runtime errors such as DmlException instead of failing the whole transaction. |
| Flow | The declarative automation tool built in Flow Builder; the default choice for point-and-click logic. |
| Record-triggered flow | A flow that runs automatically when records are created, updated or deleted; the declarative counterpart to a trigger. |
| Future method | An @future-annotated static method that runs asynchronously in its own transaction, commonly used for callouts. |
| Queueable Apex | Asynchronous Apex that can take complex parameters and chain jobs, more flexible than future methods. |
| Batch Apex | Asynchronous processing of very large record volumes in chunks, via the Database.Batchable interface. |
| with sharing vs without sharing | Class keywords deciding whether the running user’s record-sharing rules are enforced during execution. |
| Lightning Web Components (LWC) | The modern component framework built on web standards; the default for new UI development. |
| Aura components | The original Lightning component framework; older than LWC but still supported, and the two can interoperate. |
| Visualforce | The older page-centric markup framework; still supported and still on the exam, but no longer the default choice. |
| @AuraEnabled | The annotation that exposes a static Apex method (or property) to Lightning components. |
| Wire service (@wire) | The LWC mechanism that provisions data reactively, re-running when its reactive parameters change. |
| Custom event | The standard way an LWC child component communicates upward to its parent, via dispatchEvent. |
| Lightning Data Service | Built-in record access for Lightning components with caching and sharing enforcement, no Apex required. |
| Field-level security (FLS) | Controls which fields a user can see or edit; Apex serving a UI must enforce it, for example with Security.stripInaccessible. |
| @isTest | The annotation marking test classes and methods; test code is isolated and does not count against org code size limits. |
| Test.startTest() and Test.stopTest() | Methods giving tested code a fresh set of governor limits and forcing asynchronous jobs to finish at stopTest. |
| Code coverage | The share of Apex lines executed by tests; production deployments require 75% overall, and assertions prove behaviour. |
| System.runAs() | A test-only method that runs a code block in another user’s context, enforcing that user’s record sharing. |
| Sandbox | A copy of a production org used for development, testing or training, refreshed from production. |
| Scratch org | A short-lived, source-driven org created from a configuration file in Salesforce DX workflows. |
| Salesforce DX | The source-driven development toolset: version-controlled source, scratch orgs and CLI-based automation. |
| Salesforce CLI | The command-line tool for creating orgs, deploying source, running tests and scripting development tasks. |
| Change set | The point-and-click way to move customisations between related orgs, such as sandbox to production. |
| Developer Console | The browser-based development environment for writing code, running queries and inspecting logs. |
| Debug log | The recorded trace of a transaction’s execution, used to diagnose behaviour and performance. |
| Trailhead | Salesforce’s free learning platform, home to the official prep materials and the annual certification maintenance badges. |