Nov 21, 2012

Salesforce Mobile SDK - Introduction

It's hard to avoid the excitement that is being generated as a result of Salesforce.com's mobile SDK. If you made the pilgrimage this September to Dreamforce in San Francisco or braved the rain at this month's Cloudforce in New York, you may have surely been exposed to the mobile SDK in one way or another. This year's Dreamforce App took advantage of the Salesforce Touch Platform. Several of the sessions at both events demonstrated just how easy it was to develop an app for both the Android and iOS platforms while minimizing the amount of code that had to be rewritten.

Using the Salesforce Touch Platform, you can develop apps in three ways - each has their own unique advantages and disadvantages.

Native
Coding is specific to the platform, meaning your using the traditional development tools and languages used in iOS and Android development. This approach requires you to be well versed in Objective-C for iOS, Java for Android, and to be able to navigate their respective environments, Xcode and Eclipse. Once developed, these apps are packaged and made available on the platforms' app market places.

HTML5
Using stadard web technologies, like HTML5, Javascript, and CSS, web pages are created to mimic the look and feel of native apps. However, these are not downloaded from the platforms' app market places, but are accessed via the mobile device's browser. Many of the device's native hardware functions are not accessible using this approach.

Hybrid
Using the hybrid approach, you can take advantage of the write-once-run-anywhere philosophy and wrap an HTML5 page (or Visualforce page) within a native app container while having access to a device's hardware capabilities, without needing to know Objective-C or Java.

Over a series of posts to follow, I will detail the creation of an HTML5 based Visualforce page and how to generate both an Android and iOS app, using the same page. These posts will also detail the steps required to setup both development environments.