Salesforce DX was first announced back in 2016 at the event of Dreamforce Global Consortium as an innovative way to develop the Salesforce enterprise apps. The providers claimed it would be a much improved and innovative developer experience on the Salesforce platform. In this article, we will discuss some expert thoughts on this platform as its history, current status, and future of Salesforce DX and also some hopes on Salesforce DX based on the user experiences.
The history of Salesforce DX
At a time, applying the best practices and procedures of conventional software application development on Salesforce was more time taking and intensive in terms of effort. Even after the initial investment to set up the platform, it was pretty tiresome to figure out ways to set up additional aspects like:
- Distributed development
- Version control
- Continuous Integration (CI) etc.
All these made it more difficult on Salesforce than other technology stacks. The developers were more used to working on the technology stacks like Java with Spring or Hibernate, Dot Net, Node.js had all of those figured for a considerable amount of time. Salesforce DX came in by offering a significant change in all these by offering a much innovative and faster source-driven development approach.
Many development teams identify salesforce DX as the one-stop solution to many of their problems. It helps to standardize a wide range of tools, APIs, as well as developer best practices on Salesforce development platform. The goal of Salesforce DX as you can see is to standardize the best practices the software developers sometimes miss to use on other stacks. This will ultimately standardize the development processes globally and create appositive impact by keeping the most talented developers on the platform.
The current Status of Salesforce DX
Looking at the currently available Salesforce DX tools, we can see a good set of developer tools to make the development process much standardized and innovative. Let’s discuss a few of those as below.
A brand new CLI
The latest command line interface of Salesforce DX can help add additional commands through Heroku CLI. This is the core of the Salesforce developer experience. It is used by IDE, which can be effectively added to other automated processes like CI (continuous integration), deployments, and automated build scripts. A solid command line remains as the core of all these things. This gives the developers a richer and comprehensive set of commands which they can use to build new and better commands further.
Of all existing functionality on Salesforce DX, the experts now particularly comment about the feature of data loading. The best available practice is to check in DML that can be used to share a solid test data. This was one thing which many others overlook with Salesforce, maybe because it can be difficult to automate it with data loader.
Further hopes about Salesforce DX
- IT will further become easier to incorporate the test data into the developmental processes.
- Other devs may add in more commands which they had been suing in their orgs.
- Developers may also try and improve the existing commands for more functionality.
- The CLI may become more extendable and will grow based on the needs.
This is one of the most intriguing aspects of Salesforce DX experts mostly discuss. Many of the project teams don’t yet follow the best practices in terms of software development. Most often, everyone doesn’t work inside the same Sandbox and with no proper version control.
If you are into a Java/Spring development project team, then it may be like all the developers are writing their codes on to a shared test server alongside performing the DDL directly on the test database. When each developer has their own orgs, these may quickly go inconsistent with the version control when they tend to switch the active branches.
The Salesforce DX approach to Scratch Orgs will allow the developers to spin up new orgs easily. With the use of scratch orgs, developers can see a very basic and natural fit to their featured branch workflow. You can easily spin up the Scratch Org and deploy them. You may develop in it and then delete the brand after finishing the development. Ultimately, once the deployment is completed, you can delete the Scratch Org, or it may get deleted after the time frame. Salesforce DX CLI consists of commands to manage the scratch org, and it is also possible to automate it.
Future hopes on Scratch Org
- Creating Scratch Orgs may become easier and similar to production.
- Scratch Orgs can be compiled more quickly.
- Developers may be able to use the more interactive debugging approach in the Scratch Orgs for free.
- There may not be any need for manual changes like Flow deployments. Scratch Orgs will be automated with no need for any manual changes once after the data is uploaded.
The add-on developer tools
Force.com is constantly updated with many new enhancements. CLI remains the center, and it can be run from IDE. The customized App Builder can be used from the IDE. Metadata can be synced with the orgs automatically. It is also found that there are some code completions also as well. As it is now running as a plug-in in Eclipse, any direct integration with VCS can be effectively done.
Hopes on developer tools
- Real-time checking of syntax.
- Simple and transparent syncing of local files to the Org
- Excellent code navigation
- Click to access declaration and finding references etc.
- Refactoring Support.
- All functions made available through API
- Supporting static code analysis.
The overall idea is that the developers can organize their code in a better way and Scratch Orgs can be best utilized through the advanced packaging features. Previously one of the major pain points for the Salesforce developers was the lack of proper code organization like in other Java-like packages. This is now streamlined through the Salesforce DX release, and it may be further improved over time.
You might also like