The Salesforce prebuilt applications provide powerful CRM
functionality. In addition, Salesforce provides the ability to customize the prebuilt
applications to fit your organization. However, your organization may have complex
business processes that are unsupported by the existing functionality. In this case,
Lightning Platform provides various ways for advanced administrators and developers to
build custom functionality.
Apex
Use Apex if you want to:
- Create Web services.
- Create email services.
- Perform complex validation over multiple objects.
- Create complex business processes that are not supported by workflow.
- Create custom transactional logic (logic that occurs over the entire
transaction, not just with a single record or object).
- Attach custom logic to another operation, such as saving a record, so that
it occurs whenever the operation is executed, regardless of whether it
originates in the user interface, a Visualforce page, or from SOAP API.
Lightning Components
Develop Lightning components to customize Lightning Experience, the Salesforce mobile
app, or to build your own standalone apps. You can also use out-of-the-box
components to speed up development.
As of Spring ’19 (API version 45.0), you
can build Lightning components using two programming models: the Lightning
Web Components model, and the original Aura Components model. Lightning web
components are custom HTML elements built using HTML and modern JavaScript.
Lightning web components and Aura components can coexist and interoperate on
a page.Configure Lightning web components and
Aura components to work in Lightning App Builder and Experience Builder. Admins and end users don’t know which programming model was used to
develop the components. To them, they’re simply Lightning
components.
For more information, see the Component Library.
Visualforce
Visualforce consists of a tag-based markup language
that gives developers a more powerful way of building applications and customizing
the Salesforce user interface. With Visualforce you can:
- Build wizards and other multistep processes.
- Create your own custom flow control through an application.
- Define navigation patterns and data-specific rules for optimal, efficient
application interaction.
For more information, see the Visualforce Developer's
Guide.
SOAP API
Use standard SOAP API calls if you want to add functionality to
a composite application that processes only one type of record at a time and does
not require any transactional control (such as setting a Savepoint or rolling back
changes).
For more information, see the SOAP API Developer
Guide.