Tuesday, April 09, 2013

Salesforce.com turbo-charges Mobile Developer offerings with Salesforce Platform for Mobile Services

UPDATE 04-16-2013 : You can watch the DeveloperForce.com Mobile Code Talk Google Hangout on Salesforce Platform for Mobile Services with Sandeep Bhanot, Dave Carroll, and more right now!

It was only last month that I wrote about Salesforce.com & AT&T releasing a new Mobile SDK, the AT&T Toolkit for Salesforce Platform, but nonetheless Salesforce.com is at it again: this time releasing a serious upgrade to the mobile development toolkits available to software developers wishing to create applications that access the Salesforce.com platform.

On April 9, 2013  Salesforce announced the release of its new Salesforce Platform for Mobile Services
which consists of updates to its Mobile SDK, a new set of tools called Mobile Packs, and a Mobile Accelerator Program.

Before you get into the details, you may also want to check out Ben Kepe's post on 'Embracing Commoditsation' which argues why these advances are inevitable...

The (Bad) Old Days

Developing mobile applications on the Salesforce.com platform hasn't exactly been terribly difficult compared to other platforms I've worked with.  The main consideration was the lack of options available to developers who are experienced in modern web frameworks based on JavaScript, like Backbone.js, Angular.js, jQuery, or Bootstrap.

There were decent native Salesforce developer toolkits for the iOS and Android platforms, but if you wanted to:
  1. Develop Hybrid Apps
  2. Develop HTML5 Apps
  3. Support more than just two Smart Phone platforms
you basically were left with rolling (most) of your own code or using the Sencha framework, which is based on JavaScript but uses their own EXT framework instead of the more popular ones I mention above.  

Don't get me wrong, I've used Sencha and it's a great toolkit.  But as of a few days ago, Salesforce has given developers all over the world a whole new range of options to develop the apps our customers are demanding.

Salesforce's Platform for Mobile Services offers the option of developing Native, Hybrid, or HTML5 apps for targeting multiple mobile platforms with a single SDK.
Salesforce.com's Platform for Mobile Services offers the option of developing Native, Hybrid, or HTML5 apps.

The (Good) New Days

Ok, so the past was not yet ideal, but it wasn't a total wasteland either.  So what's so great about the new offerings vs. what we had before, you ask?  To paraphrase from the DeveloperForce Blog

First, there's the Mobile SDK v2.0, available in June, which is a significant update to the successful Salesforce Mobile SDK for developing hybrid and native apps for iOS and Android.

They have organized the focus of the latest release around the following core improvements:

   1) A new entity framework system for working with Salesforce data directly from within JavaScript as objects.

   2) Upgraded SmartStore system leveraging SQLCipher to securely store sensitive data for disconnected devices.

  3) A lightweight, modular design to make it easier than ever to build new, or existing native apps, and connect them to Salesforce.com customer data.

Although I'm really excited about the updates they are making available in the SDK updates (including direct access to native device hardware like Cameras, Mics and internal objects like Address Books), they're still only targeting Android and iPhone.  I know, I know...those are the widest adopted platforms, but many of us still support clients with a wide mix of devices and limiting our developers to only native apps on two platforms definitely keeps some projects off the table.  With support for HTML5 & Hybrid apps, however, developers can choose an platform that gives them at least some support for a wider mix of devices.

Second, Salesforce is releasing a series of Mobile Packs, a new term for a sub-set of the functionality targeting the latest JavaScript frameworks.  Initially supporting three of the most popular frameworks (Backbone.js, Angular.js, jQuery) with support for Bootstrap on the way, these Mobile Packs allow developers to focus on developing application and presentation logic on their favorite JavaScript framework of choice, while the Salesforce.com Mobile Pack handles the heavy-duty lifting of the boring things like identity management, business services, authentication, etc. 

There's a great writeup on the new Mobile Packs concept from Dave Carroll over at the DeveloperForce blog, you should read it if you've ever been frustrated programming mobile apps (who hasn't).

This, more than the other updates I think, will really offer something to help Salesforce energize the legions of Web Developers out in the world that have already been building applications using these frameworks to go out and build apps on the Salesforce.com platform.

Finally, Salesforce is starting up a Mobile Accelerator Program, which promises to work with integrators and consultants to provide training, certification, and best-practices sharing for those seeking to ramp up Mobile Development.  To kick it all off, they've got a week-long series of events planned around the globe for their Mobile Developer Week from April 21-27, 2013.  Check it out if you want to get a head start on simplifying your work developing mobile apps on the Salesforce.com platform.

If you're like me though, you'll head over to the github repository and grab the code and start playing with it right away ;)

View Mobile Developer Week in a larger map