Mobile SDK 1.2: Connected Apps and SmartStore Enhancements
The new version of the Mobile SDK is out, and now it is even easier to quickly create native and hybrid applications with Force.com. In this blog, I outline these additions around data security and offline data synchronization.
The new release of the Mobile SDK is out, and now it is even easier to quickly create native and hybrid applications with Force.com. In the last release we introducted flexible OAuth, offline support, and iOS blocks. This enabled hybrid apps to have more direct control over authentication flows as well as more control over asynchronous event handling. In the 1.2 release of the Mobile SDK, we’ve added more around mobile data security and offline data synchronization.
The Connected Apps Pilot is a new feature in Summer ’12 which enables you to configure security controls for a mobile application. With the new version of the Mobile SDK, you can take advantage of Connected Apps and bypass IP restrictions with the added option of defining rules for both PIN code protection and session timeout intervals. What does this mean for developers on the platform using the SDK? No custom code to handle security for visible data within your organization.
When developing on the Force.com platform, there are underlying security settings setup to control the visibility and read/write capability for any given user (for example, profiles and organization-wide defaults). When making REST API calls from your mobile device on Force.com, the platform returns only what the you are allowed to see based off of these security and visibility settings. If the Connected Apps Pilot is enabled, a developer using the Mobile SDK version 1.2 can take full advantage of these security features and session timeout intervals for any of their native or hybrid application implementations.
SmartStore is the what the Mobile SDK uses to store dynamic business data for offline use. To facilitate integration and external offline storage support, you can now upsert records based on an external id. SmartStore can now determine record uniqueness and perform the proper updates based on an id defined by the developer. This design reflects the Salesforce REST API, making it easier to implement data synchronization.
In addition, developers can now build and test SmartStore apps directly in the desktop browser. This mock SmartStore implementation will make it easier to debug offline apps and expedite SmartStore builds. There will also be an an optional ability for developers to self-encrypt SmartStore databases that can be securely backed-up.
If offline is important to your application check out our offline synchronization example which demonstrates the new upsert functionality.
Check it Out
If you don’t already have it, you can get the Mobile SDK packages off GitHub here and download the Mobile SDK workbook here to get started. I plan to add a quick walkthrough video in the future to do a quick demo of how easy it is to use the new Connected Apps Pilot, so stay tuned! If you have any questions, feel free to reach out to me via twitter @samantha_ready or ask in the comment thread below.