Modern apps require embracing a combination of low-code and pro-code. Salesforce developers have the challenging task of delivering scalable solutions faster than ever, as organizations look to speed up their digital transformation.
In December 2020, we published a blog post that explains various patterns combining low-code and pro-code. These patterns show that by combining Heroku’s elastic runtime and Salesforce core’s multi-tenant architecture, one can deliver solutions that can not only scale, but are flexible and require less time to build and deploy.
We looked into the skills required by developers to implement the patterns highlighted in that December blog post, and we concluded that Salesforce Developers would enjoy learning more about the Heroku platform. With Heroku, Salesforce developers can offload complex operations and take advantage of open-source libraries. Similarly, Heroku developers can benefit from learning about the low-code capabilities of the Salesforce Platform. Combining the power of low-code and Heroku allows apps to be delivered faster .
The “Modern App Development on Salesforce” video series is a set of thirteen videos on the Salesforce Developers YouTube channel. These videos teach you how to design, build, test and deploy apps using Salesforce and Heroku.
Who should watch these videos?
- Experienced Salesforce developers who want to enhance their skills beyond Apex and Visualforce. Those who want to understand modern developer tools that include Salesforce CLI, Salesforce Extension Pack for VSCode, scratch orgs, the latest enhancements to Salesforce Flows, building custom components using LWC, event-driven architecture using Platform Events and Change Data Capture, plus much more.
- Heroku developers who wish to understand how to combine low-code and pro-code to build powerful apps.
- New developers who want an overview of technologies that Salesforce Developers use in their day-to-day job.
- Developers coming from other technologies that want to explore becoming a Salesforce developer“ as a career.
What topics do we cover?
We cover the full spectrum of application lifecycle in this video series: designing, building, testing, and deploying. We have leveraged eCars, one of our Sample Gallery apps, to explain various concepts in a hands-on approach, with code.
Developer tooling
These sessions introduce Salesforce and Heroku. We also show you how to use the Salesforce CLI and Heroku CLI. Both of them use the common open-source framework oclif.
The below slide provides an overview of Salesforce CLI tools and their functions.
We also explain how to sign up for free Salesforce developer playgrounds and the Heroku platform in these sessions. Having access to developer environments right at your fingertips means you can experiment and learn at your own pace.
Episode 1: Developer Tooling
Episode 2: Heroku Developer Experience
Data model design
We explain the importance of data model design for a Salesforce application and how the other metadata has a dependency on the object metadata.
The below visual gives an overview of Salesforce metadata dependencies of various metadata to object metadata.
We also take a deep dive into Heroku add-ons and Data Services. We had some exciting conversations by comparing and contrasting data model design on Salesforce Core vs. Heroku.
Episode 3: Data Model Design on Salesforce and Heroku Data Services
Front end application design
Front end application design is a bit of an art in Salesforce. It requires knowledge of the capabilities of various low-code tools. Developers need to know how much they can customize the experience and what it takes to build and design Lightning Web Components.
This image provides some guiding principles on how to approach app design and prototyping for building front-end applications on Salesforce
Episode 4: Build Custom Experiences Using LWC and SLDS
Episode 5: Build Custom Experiences Using LWC and SLDS (part 2)
Episode 6: Communicate Between LWC Components Using Events
Automate your business process
In this session, we look into Salesforce Flows and Apex.
The screenshot below shows an example of a ‘before update record-triggered automation flow’. Salesforce Flow is a low-code tool that allows developers to build automation using clicks.
We also cover when to use Flows vs. Apex and how pro-code developers with Apex and JavaScript skills can tap into Flows and build actions and screens that admins can embed in Flows.
Episode 7: Automate Your Business Processes Using Flows and Apex
Scale Salesforce apps with Node.js microservices on Heroku
These sessions demystify the application architecture and code behind the eCars sample app. We teach developers how to build Node.js microservices on Heroku, connect these services to Salesforce, and build Progressive Web Apps on Heroku.
This image shows example architecture on how to build a real time service on Heroku using Node.js. The service uses MQTT protocol for sending real time signals to Salesforce apps using websockets.
Episode 8: Scale Apps Using Node.js Microservices on Heroku
Episode 9: Scale Apps Using Node.js Microservices on Heroku (part 2)
Unit testing
Unit testing your application code is a habit that’s hard to adopt, but it’s important that developers test their code before shipping their app to production.
The below image explains the AAA pattern for Unit testing.
We also have a session for JavaScript and Apex unit testing to help developers embrace unit testing.
Episode 10: JavaScript Unit Testing
Episode 11: Apex Testing
Packaging and deployments
In the final episodes, we explore how to package and deploy Salesforce and Heroku applications.
With Salesforce CLI, git, and CI/CD tooling (like Github actions or Continuous Integration server), developers can collaborate better and automate releases of their Salesforce apps.
This visual shows how source-driven development can help automate deployments.
We also cover how to do CI/CD and DevOps for Salesforce and Heroku apps.
Episode 12: Deploying Salesforce and Heroku Apps with Ease
Episode 13: Automate Developer Workflow and Deployment
What’s next?
Do you prefer reading over watching? I hear you. You can catch blog write-ups on each of the episodes from community member Michael Bogan on dev.to.
Blog Series: Modern App Development on Salesforce
Each of these topics has significant depth. We’ve only scratched the surface in this video series. To dive deeper into any of the topics, download the slide deck for the episode from the Trailblazer Community. The ‘helpful references’ slide has links to various Trailhead modules and extra reading.
If you have feedback please use the Trailblazer community group mentioned in the “Additional References‘ section or connect with me via twitter: @msrivastav13
Special thanks and shout out to Julián Duque for his collaboration on Heroku content. Julián is also on a mission to help Salesforce developers learn Node.js. Keep an eye out for future blog posts and Trailhead Live sessions from him!
About the author
Mohith Shrivastava works as a Lead Developer Advocate at Salesforce. He is currently focusing on Salesforce CLI, Heroku, and Lightning Web Components. You can follow him on Twitter @msrivastav13