For individual applications developers and corporate development teams alike, Salesforce DX offers a brand-new way of an end-to-end integrated platform, which ensures an agile, high-performance development environment. The platform is also built to be as open and flexible as possible so that the users can build by using the practices and tools, they are familiar with and love to work on. Some of the major advantages of Salesforce DX include.
- Source driven development - You can build together by custom shifting sources from the org to VCS (version control system).
- Technology collaboration - Salesforce DX enables the use of the latest collaboration technologies like Git and may other test-and-build third-party automation tools.’
- Salesforce CLI – Using DX, you can speed up the process of development across the platform with the help of Command Line Interface.
- Easy integration - Built on the open API, Salesforce CLI is capable of instantly integrated into your existing workflow.
- Scratch Orgs – You can emulate Salesforce org with may customizable preferences and features. It is a source-driven, easily configurable, and instantly disposable environment for development and testing.
- Better developer experience – Salesforce DX offers an open and standard developer experience by offering tools like Selenium, Git, Eclipse, VS Code, etc. One can easily integrate any tools or IDEs with DX by using open APIs.
Above all, one special note to be made is about the packaging Salesforce DX put forth, which has revolutionized the concept of managed packaging where the customers and partners can effectively organize their data while adopting an innovative source-driven approach to manage the app development lifecycle. Let’s further discuss in detail about the 2nd generation packages.
- Locked packages
- Unlocked packages, and
- Managed packages.
In the previous mode, there was a single org in order to create managed packages, and then org will act as the host for all customizations. However, with the latest Dev Hub model, app development teams can create any number of package types as well as instantly test them in Scratch Org. Every package can be built from scratch using metadata assets, and the code gets stored in a development project at the local machine. The built application may also be tested against many Salesforce Org.
It is possible to create the locked or unlocked packages with and without namespace. The unlocked packages are identical to the old style of the unmanaged packages. However, the locked and unlocked packages with the same namespace can be now upgraded as a managed package to edit it like an unmanaged package. For developers, this combines best of both the worlds. Unlike individual developers, the lock package option will be more appealing to enterprises which want to avoid any tinkering after installation.
These 2nd Generation Packages are also expected to go further to open up new avenues for better development of enterprise applications and easier deployment. With DX, a large-scale organization with many projects too can use the 2nd generation packages to better develop and easily deploy, track the changes with more clarity, and also do the customizations in a much more organized manner. The administrators also need not wade through loads of unpackaged data to identify what is there in the Salesforce org.