Summary
This chapter has given you a practical overview of the initial package creation process, from using Salesforce DX through to installing it in another Salesforce org. Packages are a fast and self-contained way to distribute your application regardless of being an ISV developer or a developer within your company. While some of the features discussed cannot be fully exercised until you’re close to your first release phase, you can now head to development with a good understanding of how early decisions, such as references to Standard Objects, are critical to your licensing and cost decisions.
It is also important to keep in mind that, while tools such as Trialforce help automate setup for your application, this does not apply when installing your application in production environments. Thus, when making choices regarding expected org configurations and defaults in your design, keep in mind these dependencies and costs during the implementation cycle when your package is installed.
As an ISV developer, make sure you plan for the security review process in your release cycle (the free online version has a limited bandwidth). Regardless, if you are building an application for your business or to provide to others as an ISV integrate a static analysis tool that supports security scanning into your CI build system as early as possible, since such tools not only monitor security flaws but also help report breaches in best practices, such as a lack of test asserts and SOQL or DML statements in loops.
In the following chapters, we will start exploring the engineering aspects of building an enterprise application as we build upgrades on the package created in this chapter, allowing us to better explore how the platform supports the incremental growth of your application.
As an ISV developer, as you revisit the tools covered in this chapter, be sure to reference the excellent ISVforce Guide at http://www.salesforce.com/us/developer/docs/packagingGuide/index.htm for the latest detailed steps and instructions on how to access, configure, and use these features.