Salesforce DX = UX for Developers
I talked to Wade Wegner, VP of Product Management for Salesforce DX, to ask him a few questions about exciting new changes coming soon to the Salesforce developer experience.
Wade, tell me a little about Salesforce DX
Salesforce DX helps developers build together in teams. In many ways, it brings together the best of the Force.com and Heroku developer experiences. It’s a new approach that supports team collaboration with a focus on quality, predictability, and an open and standardized development lifecycle on Salesforce.
A core theme of Salesforce DX is letting developers choose the tools they want. For example, we’re investing in making the Force.com IDE a best-in-class solution, but with Salesforce DX and our new command-line interface, you can use the text editor or IDE of your choice, along with the CLI, to develop your app. It’s up to you.
Another example is build automation and how you run tests. With Salesforce DX, you could use our all-new Heroku CI, currently in private beta, combined with Heroku Pipelines enhancements to drive both continuous integration and continuous delivery. Or you could also choose to integrate a different build automation tool, such as Jenkins or TeamCity.
Besides being able to use my favorite tools, what’s new or different in Salesforce DX?
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.
Is Salesforce DX only for coders? Or is Salesforce DX something admins and low-code developers would want to use, too?
We’re about to launch a private Developer Preview for Salesforce DX. At this time, Salesforce DX is primarily focused on coders. But the long-term vision is for all of the Salesforce DX innovations, starting with metadata externalization all the way to new packaging, to make it easier for coders and non-coders to work together to build high-quality Salesforce apps.
Will developers need a Heroku account to use Salesforce DX?
Not necessarily. If you want to use Heroku Pipelines to drive continuous integration and continuous delivery for your Salesforce apps, then you’ll need a free Heroku developer account. This is a scenario where Salesforce DX really shines, and highlights the best of App Cloud. However, if you’ve already invested in automation tools, you can use those just with your Salesforce org and Salesforce account.
How can developers learn more about Salesforce DX at Dreamforce ‘16?
I’d encourage everyone who didn’t attend the Developer Keynote to watch the live recording. We also have a number of fantastic sessions you’ll want to attend, and a booth in the Developer Forest staffed with members of our engineering team. You don’t want to miss it!