Things happen thick and fast in the Salesforce ecosystem. With 3 releases every year (Winter, Spring, Summer) and several new frameworks being launched on a regular basis, you need to be on your toes and forever learning to keep up with these changes.
Just in case, you didn’t realise how much Salesforce has changed as platform over the years – watch this video which talks through the 50 releases of Salesforce made till date (I just got exhausted listening to it!).
The Salesforce Marketing team is a champion when it comes to branding new offerings and re-branding existing offerings. They do a great job of getting developers, admins and end users alike excited with the branding and the messaging on their products.
However, in some cases, that often means, things get a bit confusing. Don’t believe me. Here are a few facts to ponder
- Salesforce 1 is the name of the app (iOS, Android) as well as the platform.
- When it comes to mobile, the initial offering was called Salesforce Classic. It then gave way to Salesforce Mobile, which eventually became Salesforce 1. The line between Salesforce Classic and Salesforce Mobile was quiet thin and the terms used interchangeably very often.
- Force.com is the name of the PaaS platform while Salesforce.com is the company’s CRM product.
I’ve been asked many such questions in our Developer User Group meetups and at my Dreamforce sessions as well. Typically, these branding exercises happen around (as do a lot of other things) Dreamforce. Last year, at Dreamforce 2015, Salesforce introduced something called the ‘App Cloud’.
What is App Cloud?
Salesforce announced App Cloud as a complete platform for ‘app building’ which offers enterprise-level trust and security and bridges the developer gap. While Force.com and Heroku as platforms have been around for a while now, the Lightning framework was introduced last year.
While each of Heroku, Force.com and Lightning can be used on it’s own, independent of each other, when used together – these offer a comprehensive platform for building full-stack applications – you can use Force.com (Visualforce) and Lightning as your front-end frameworks while using Heroku or Force.com data model as your backend.
Further, there’re additional entities such as Shield (security), AppExchange (packaging and distribution) and last but not the least – Trailhead, which I love to call as the self-learning tool for anything and everything related to Salesforce.
To sum it up, the umbrella offering which combines all of these pieces together is the ‘App Cloud’.
Originally, there was no distinction in terms of App Cloud – whether you’re developing apps for the desktop or the mobile devices.
The Salesforce leadership has often emphasised the importance of being a ‘mobile-first’ platform. In that sense, it’s no surprise, that last month, Salesforce decided to de-couple the mobile aspect from App Cloud and re-brand it as ‘App Cloud Mobile’.
App Cloud Mobile
This post from Christophe Coenraets (one of my favourite Developer Evangelists from Salesforce and my session coordinator for Dreamforce 15) does a great job of explaining what ‘App Cloud Mobile’ is.
To eliminate the jargon, App Cloud Mobile is an umbrella offering similar to App Cloud. It encompasses Salesforce1, Salesforce Mobile SDK and a bunch of other components as shown in this diagram.
For someone who’s been doing Salesforce mobile development for several years now, the best thing about ‘App Cloud Mobile’ is that it finally projects the Salesforce Mobile SDK and Salesforce1 at a level playing field.
If you need to mobilise your Salesforce offerings without too many complex customisations, Salesforce1 is what you pick. However, if you do want to leverage the full power of native platforms/ hybrid frameworks such as Cordova and build powerful offline-first Salesforce applications, you should be using the SDK.
When to use Salesforce1?
Salesforce1 offers a easy way to mobilise your existing offerings. If you’ve built responsive pages (and apps) using Visualforce or Lightning, it’s easy to expose them as Salesforce1. In general, if you want to allow CRUD operations on some standard and custom objects, Salesforce1 works great. It also has limited offline support and does provide some flexibility when it comes to branding.
When to use Salesforce Mobile SDK?
If you want to build a mobile app with lot of hardware interaction or need full offline support (ability to create/ read/ delete/ update records offline), Mobile SDK is the option you should explore forward.
While the Mobile SDK has existed for years and is continuously being refined, the aggressive marketing strategy behind Salesforce1 has often made it challenging to justify the additional cost of development to customers. With App Cloud mobile, it finally projects Mobile SDK as an advanced development toolkit for building powerful, high-performant applications will full offline support.
So, why is App Cloud Mobile important?
It is important for several reasons. It makes ‘App Cloud Mobile’ – the full stack development framework for any mobile development for Salesforce applications.
- You can chose between Salesforce 1 and Mobile SDK as your front end.
- You can chose between Force.com and Heroku as your data model/ backend (along with the relevant tooling & application services)
Can you use App Cloud Mobile with other MBaas?
A typical MBaas (Mobile Backend as a Service) platform is one which provides the following typical backend services for building your mobile apps.
It would allow creating scalable web services and offer device-centric features such as push notifications. With App Cloud Mobile, it’s very well possible to use the Mobile SDK with a MBaaS of your choice – whether it’s the Parse framwork, Backendless, Appcelerator Alloy framework or any other.
So, what’s changed?
The bottom line – what’s changed with App Cloud Mobile? If you look at the components, everything existed earlier as well – in silos though. However, if you look at it from a complete full-stack development framework perspective, you now have everything under one umbrella. Of course, there’s flexibility to pick and chose the components you want.
I strongly recommend look at the Dreamhouse app and the video below. It should help clear any other doubts that you have.
Learning more on App Cloud Mobile
You’ll find information related to all aspects of App Cloud Mobile development here. Additionally, there’s a webinar coming up on July 13th 10 AM PST on ‘Build, Manage and Deploy Mobile Apps Faster with App Cloud Mobile’. I strongly recommend attending it.
I can understand that so much jargon and terminology can sometimes be intimidating and tough to understand. Hopefully, this post did it’s job – explaining everything in clear & simple language that developers like to understand.