The Salesforce platform had never been easy to develop with as compared to other stacks because things were quite complicated. It would take too much effort to apply the best practices of software development on the Salesforce platform. Despite the initial investment of putting a process in place and discerning the ways of accomplishing the tasks like version control, distributed development, CI, merging and branching, the Salesforce platform has always remained an enigma to developers. .NET, Java/Spring, and node.js have had these processes in place for long, and the developers are more comfortable in working with them.
Solution provider
The new Salesforce product aims at standardizing a set of APIs, best practices, and tools for development on the platform of Salesforce. The impediments that developers had to face in adopting the best practices will now become a thing of the past as software developers would not be having any more excuses for not adhering to it. It would attract and retain talented developers to the platform, which would be the positive side effect of the much talked about product.
Enhanced experience in software development
To end the misery that developers had to encounter in using the Salesforce platform, they can now make use of Salesforce DX that assures developers of the most comfortable, convenient and modern experience in app development. The new package consists of integrated and high performing end-to-end life cycle precisely designed to support agile development in an open source thereby increasing the scope of collaborative development many times. It opens the doors for wider collaboration that would enhance the process of development. The flexible nature of the platform together with its openness adequately supports the innovative minds. In this article, we will discuss the salient features of the new software.
Scratch Orgs
Although the best practices entail that all developers develop in the same sandbox without any version control, the Salesforce development team does not always adhere to it. The picture is just the opposite when working with Java/Spring when developers can write codes directly on the server they share and perform their DDL on the shared database. Even when developers work with individual org switch active branches, it is possible that it becomes inconsistent quickly.
The feature of Scratch Orgs allows developers to form new Orgs with the help of JSON configuration and command. With scratch Orgs, branch workflows have a natural fitment. First, branch for your feature, and then spin up a Scratch Org followed by Deploy to it and Develop in it and then finish. You can automate the Scratch Org by using the commands of CLI.
New CLI
The command line interface (CLI) adds new commands with the help of Heroku Toolbelt or Heroku CLI. It is central to the development experience as you can add it to any other automated processes like automated build scripts, continuous integration or deployment.
The difficulties faced with concurrent development with Salesforce are well taken care of in the new product, as its immense potential will help developers to improve their workability on the Salesforce platform.
Guest article written by: David Wicks has spent more than a decade in app development and had even spent some time at Flosum.com. He is a frequent blogger, and his love for talking on the topics related to app development drives his to write regular columns for various media.