Salesforce recently introduced Salesforce DX i.e. the Developer Experience. With this salesforce introduces a new development paradigm that shifts the center of your world from monolithic, org-based development to modular, artifact-based development. This model streamlines the entire development life cycle, with benefits like:
- Improving team development and collaboration.
- Facilitating automated testing and continuous integration.
- Making the release cycle more efficient and agile.
As a developer we live in source, we live in code. And the org becomes the container for the source and the code. Everything is driven on source code.
Salesforce has come up with Environments which are easily create-able and are easy to dispose, these new environments are ephemeral. When we build apps with other languages, when we want to test the app, we spin out the run time for the app in the app server and so how can the environment be created and replicated for quicker testing purpose. Following the Source Driven Approach.
Tools that we really want to use, that have already been successful. Salesforce has focused on the idea to provide a continuous development with those tools by bringing together lightning, Force.com, Heroku etc.
With Salesforce DX, salesforce has come up with the concept of modularization. All the customization that lives in the org, how can we break down the customization into smaller modules/ pieces, that can help you create the app with more simplicity.
Next generation packaging technology, not only using the managed package but focusing on easier way to distribute the source code changes over time to different orgs and migrate the same as part of versioning. Salesforce has taken up the basic concepts and tried to enhance the Salesforce developer experience.
In order to improve the salesforce developer experience, salesforce has focused on the following things. Along side introduction to two new tools known as the “Enhanced Salesforce CLI tool” and the “Force.com IDE 2”.
Scratch orgs have also been newly termed which are disposable Salesforce orgs that are used to support development and testing. They are fully configurable, allowing developers to emulate different Salesforce editions with different features and preferences.
In order to get the Salesforce DX enabled for your org, you can simply go to setup-> Develop-> DEV HUB-> Enable. Once Enabled you would not be able to switch it back and it is still in beta phase.
Want to learn more, trailheads are the best place to get more idea: