At Dreamforce 2016 Salesforce announced Salesforce DX.
What is it and how will it affect development for Salesforce going forward?
My two main takeaways from what I saw were:
- Scratch Orgs: There will now be a quicker, more disposable way to set up sandboxes and you can configure which parts of your org copy over.
- Continuous Integration: There is now a focus on Source Control and actually using it to drive the development process. I believe there will be a CI aspect to the DX program.
That take is certainly reinforced on the
Salesforce Developers Blog in Salesforce DX = UX for Developers:
One of the most important changes with Salesforce DX is that, by externalizing more of the metadata and the org shape, we can shift the app’s “source of truth” from the Salesforce org to a version control system. This standard source-driven development approach has been used by developers for years, and it’s now a core part of the Salesforce developer experience.
Another key innovation for Salesforce DX is something we call the scratch org. The scratch org is a brand new org type built specifically for developers and automation. It’s ephemeral, built quickly from your source and metadata, and makes it easy to build your app consistently over and over again, which is great for team collaboration and test automation.
It’s worth noting that scratch orgs aren’t a replacement for sandboxes. Sandboxes are an important part of the larger development lifecycle, and work with our new source-driven development process as the destination for packages built directly from source. All sandbox types, from developer to full, offer the ability to act as user acceptance testing (UAT) and staging environments of the production org.
I’m also really excited by the Salesforce Environment Manager, a tool we’ve created to make it easier to manage the orgs you use as part of the development process. Most of these orgs will be scratch orgs, but it also allows you to manage your sandbox and production orgs. Furthermore, the Salesforce Environment Manager makes it easy to attach your orgs to Heroku so that they can participate inside of Heroku Pipelines, our continuous delivery tool.
Another piece of what they are delivering is an upgrade to the Force.com IDE, and while I wouldn’t call it a main takeaway, it was another area of emphasis at their booth that you will now be able to access hover text documentation on many (all?) components during development, at least through Eclipse.
There is also a product page set up that lists some more information:
Salesforce DX delivers seamless integration with Heroku Flow, supporting automated deployments off of GitHub repositories; application pipelines that streamline development, staging, and deployment to production; and a tightly integrated test suite to support continuous integration. Salesforce DX also enables developers to plug into third-party test and build automation tools.
Continuous Integration and Delivery
Enable developers to plug into third-party test and build automation tools for continuous integration and continuous delivery. Salesforce DX also delivers integration with Heroku Flow, supporting automated deployments off of GitHub repositories; application pipelines that streamline development, staging, and deployment to production; and a new test suite to support continuous integration.
Salesforce DX is an open and standard developer experience, letting you build with the tools you love including Git, Selenium, Eclipse, Sublime, and more. Salesforce DX includes an updated Eclipse integrated development environment (IDE) that significantly expands the value of the toolset to developers.
Salesforce DX introduces a new type of Salesforce environment, the scratch org, a source-driven and disposable deployment of Salesforce code and metadata. Scratch orgs are fully configurable, allowing developers to emulate different editions with different features and preferences, playing a critical role in driving developer productivity and collaboration during the development process. They can also be used as part of automated testing and the implementation of a full continuous integration suite.
A New Command Line Interface
Leverage a new Salesforce Command Line Interface (CLI) across the entire Salesforce platform. Salesforce DX allows developers to easily create environments for development and testing, synchronize source code, create and execute test suites, and control the full application lifecycle from the CLI.
Salesforce DX moves away from the traditional concept of changesets by reimagining how packaging can be done for Salesforce applications. ISV partners and enterprise customers can now build multiple artifacts to streamline the packaging, deployment, and maintenance of custom software built on the Salesforce platform.