When it comes to developing functionality for your Salesforce mobile users, you have options. Here are some differences between extending the Salesforce1 app and creating custom apps using the Mobile SDK or other tools.
- Has a defined user interface.
- Has full access to Salesforce data.
- Can be used to create an integrated experience in the Salesforce1 app.
- Gives you a way to include your own apps/functionality with publisher actions.
- Lets you customize Salesforce1 with point-and-click or programmatic customizations.
- Lets you add functionality programmatically through Visualforce pages or Force.com Canvas apps.
- Has defined navigation points. Salesforce1 customizations or apps adhere to the Salesforce1 navigation. So, for example, aVisualforce page can be called from the navigation menu or from the publisher.
- Enables you to leverage existing Salesforce development experience, both point-and-click and programmatic.
- Is included in all Salesforce editions and supported by salesforce.com.
Custom apps can be either free-standing apps you create with Salesforce Mobile SDK
or browser apps using plain HTML5 and JQueryMobile/Ajax. With custom apps, you can:
- Define a custom user experience.
- Brand your user interface for customer-facing exposure.
- Distribute apps through mobile industry channels, such as the Apple App Store or Google Play (Mobile SDK only).
- Configure and control complex offline behavior (Mobile SDK only).
- Use push notifications (available for Mobile SDK native apps only).
- Design a custom security container using your own OAuth module (Mobile SDK only).
Other important Mobile SDK
- Open-source SDK, downloadable for free through npm installers as well as from 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).
- Development costs range from $0 to $1M or more, plus maintenance costs.