When to Use the Salesforce Platform vs. Creating Custom Apps

When it comes to developing functionality for your Salesforce mobile users, you have options. Here are some differences between extending the Salesforce app and creating custom apps using the Mobile SDK or other tools.

Salesforce Platform

  • Defined user interface.
  • Full access to Salesforce data.
  • Possible integrated experience in the Salesforce app.
  • Inclusion of your own apps and functionality with quick actions.
  • Customized with point-and-click or programmatic tools.
  • Programmatic functionality through Visualforce pages, Force.com Canvas apps, and the Lightning Component framework.
  • Defined navigation points, since customizations or apps adhere to the navigation menu. For example, a Visualforce page can be called from the navigation menu or from a custom action in the action bar.
  • Enables you to leverage existing Salesforce development experience, both point-and-click and programmatic.
  • Included in all Salesforce editions and supported by Salesforce.

Custom Apps

Custom apps can be either free-standing apps you create with Salesforce Mobile SDK or browser apps using plain HTML5, CSS, and your choice of mobile-friendly JavaScript frameworks. With custom apps, you can have:
  • A custom user experience.
  • Access to Salesforce data using REST APIs in native and hybrid local apps, or with Visualforce in hybrid apps using JavaScript Remoting. In HTML5 apps, do the same using standard JavaScript APIs.
  • A branded user interface, including a custom app icon, for increased exposure in customer-facing apps.
  • Standalone mobile app, either with native APIs using Java for Android or Objective-C for iOS, or through a hybrid container using JavaScript and HTML5 (Mobile SDK only).
  • App distribution through mobile industry channels, such as the Apple App Store or Google Play (Mobile SDK only).
  • Control of complex offline behavior (Mobile SDK only).
  • Push notifications (available for Mobile SDK native apps only).
  • A custom security container using your own OAuth module (Mobile SDK only).
Other important Mobile SDK considerations:
  • Access to open-source SDK, downloadable for free through npm installers and GitHub. No licensing required.
  • Requires you to develop and compile your apps in an external development environment (Xcode for iOS, Eclipse or similar for Android).

There’s no right or wrong answer when choosing between the Salesforce platform and the Mobile SDK. Base your choice on which features are most important for your app.