When building a custom application on the Salesforce platform, there are several questions that need to be addressed. Salesforce offers different tools for different requirements. Selecting the right one will depend on the application’s functionality, the timeline, and the level of integration with Salesforce products like Sales Cloud, Service Cloud or Salesforce Platform.

The questions below will help you understand the pros and cons of various Salesforce development options and to prepare for some of the nuances of developing in Salesforce.

1. What are my options for building custom Salesforce applications?

Salesforce offers several development tools under the Salesforce Platform or Lightning Platform.

Developers can build integrated, native Salesforce apps or stand-alone apps for release through various app stores once they develop the core components. The type of app you want to build, and the users you’re attempting to target, will determine which Platform tools you should use.

The Lightning App Builder allows you to quickly create native Salesforce apps through a drag-and-drop builder.

SalesforceDX is designed for building code-heavy, native Salesforce applications.

Heroku is the platform for building customer-facing web or mobile applications. With Heroku you can build scalable apps for Android or IOS, web apps with responsive design, or websites or portals in the coding language you prefer with the security and reliability of Salesforce.

2. When should I use Heroku vs Lightning Platform (MyLightning, Force.com)?

When creating apps for internal users, Lightning Platform allows you to develop native functionality that closely integrates with Salesforce. With the Lightning App Builder, you can create entire apps using a drag-and-drop interface. Lightning Platform can also be leveraged for AppExchange app development.

Heroku is tailored more for customer-facing mobile apps, websites, or responsive web apps. While Lightning Platform is catered to a model-centric approach, Heroku is more code-centric. With Heroku, you have multiple language options (Ruby, Java, Python, Scala, Clojure, Node.js) and broader integration capabilities with Salesforce and other platforms.

3. How can I deploy mobile apps with Salesforce?

Salesforce offers three common methods for deploying mobile apps: the Salesforce Application, Salesforce Mobile SDK or Heroku.

Heroku is a key platform for developing web based mobile apps that do not need a native Apple or Android experience. These apps doesn’t require any kind of download because everything is done via a web browser.

Each deployment option fosters different user experiences. Selecting the right path will depend on your users’ devices and preferences.

4. When should I use Salesforce Mobile SDK vs the Salesforce Application?

When building apps for internal employees, the Salesforce App offers the fastest method for deploying new functionality. Instead of releasing a stand-alone app, developers can use point-and-click technology to create internal apps that are available through the Salesforce App in the Google Play or Apple Store.

Mobile SDK is more suited for app development that is primarily for external users (partners or customers). Mobile SDK allows developers to create branded, custom apps while leveraging the security and reliability of the Salesforce platform.

Learn more here.  

5. When doing custom development for web and mobile should I use Heruko or another tool? Why not use a custom development platform?

This depends on the complexity of your website or application. With Heroku, you don’t have to worry about setting up a server or a database. So, if your site requires a backend, Heroku can help you launch faster.  

Heroku can accelerate the development phase as well. Drag-and-drop features can be leveraged to build significant portions of the application without any code.

Heroku’s integration with GitHub helps streamline deployments. In addition, their Pipeline tool allows developers to manage deployments through multiple staging and production environments.

6. How does Heroku compare to other low-code development platforms?

In a 2017 report, Gartner ranked Salesforce (Heroku), OutSystems and Mendix as leaders in the low-code development platform space. Among these three, Salesforce was ranked the highest.

Heroku stands out for its ability to tightly integrate with other Salesforce applications (Sales Cloud, Service Cloud, Marketing Cloud, etc.) and its security. OutSystems and Mendix rely on cloud-platform partners for security certifications.

For a comprehensive review of all three platforms click here.

7. When do I use Apex vs Visualforce vs Lightning components in Salesforce Platform (Lightning Platform)?

Visualforce can be used to create custom user interfaces for mobile and web apps. Users can design an interface that mirrors Salesforce Lightning styling or something completely custom. Visualforce can be leveraged to extend standard Salesforce features, replace them or build entirely new apps.

Lightning Components enable you to use reusable UI components to create web apps.

Apex allows users to create custom backend processes and integrations in Salesforce. Apex Triggers carry out custom actions, like insertions, updates or deletions, when records are created or modified in Salesforce.  Apex REST and SOAP Services can be used to integrate Salesforce with third-party apps.

Read more on integration in this article and in the question below.

8. How can I integrate my third-party system with Salesforce?  What are my options and what are the pros and cons of API usage and optimization?

The Salesforce platform has an open API to allow third party integration to occur if the application can provide data to Salesforce to consume into the platform.

Direct API integration is done through coding development and requires a technical team to implement and provide ongoing support (REST, SOAP, etc.). Developers are needed for this approach while a middleware integration can be executed by a non technical resource.

Middleware integrations involve licensing tools with connectors to various platforms (Heroku Connect, Mulesoft, Dell Boomi, Jitterbit, Scribe, Informatica, Cast Iron, etc.).  Middleware is quicker to develop because of the pre-built connectors. It’s also easier to make changes because the middleware tools are self-documenting.

Appexchange apps are built on the Salesforce platform (Native) or have integrations that are already established. If you find an app that fulfills your requirements, this can bring down costs significantly versus a custom or middleware integration.  

Other considerations:

  • Technical resources are expensive and hard to come by, so having an understanding of their availability and costs is key for determining ROI and selecting the correct strategy.
  • License costs both short term and ongoing must be considered.
  • Development time must be evaluated for implementation and ongoing support.  

9. What is the difference between full Salesforce licenses and Salesforce Platform (Force.com) licenses?

Salesforce licenses offer full read/write access to all standard objects (Leads, Accounts, Opportunities, etc.), AppExchange apps and custom objects/applications.

Platform licenses are designed for users who primarily require access to custom applications built on Salesforce Platform. They allow access to all custom apps and apps installed through the AppExchange. Platform licenses also allow users to access core CRM functionality: Accounts, Contacts, Reports, Dashboards and custom tabs.

Platform licenses are limited in functionality, but cost less than standard Salesforce licenses. Considering which functionality each user requires and getting creative with licensing can help lower your Salesforce costs.

Building custom applications can enhance your end users’ and customers’ experiences. They can be an essential part of a successful Salesforce roadmap.