Demand for consumer enterprise applications are at an all time high, as most organizations have come to realize that it’s a mobile-first world. But how you build, maintain and deploy an application remains the great debate for CIOs and developers alike. Unfortunately, there is no single application strategy, so it’s critical to understand your options when it comes to mobile application development technologies and platforms. Salesforce, being one of the fastest growing and most innovative companies, offers a mobile SDK, which supports three development approaches that you can consider when building your next mobile app.
When building a mobile app, there are three primary approaches to choose from:
- Native applications are built specific to a single platform (iOS, Android, etc.) using the development tools and language that the respective platform supports (e.g., Xcode/Objective-C with iOS, Eclipse/Java with Android).
- Hybrid applications allow you to create an app using the best features of both native and HTML5 apps by wrapping your web app within a small container to access and/or extend the app to advanced device capabilities.
Let’s look at each approach in more detail:
What separates native applications from alternative methods – HTML5 or Hybrid – is that they are designed for a specific device or platform, using the provided SDK with the ability to access device specific features. There are many mobile platforms that offer developers their own development toolkit, interfaces and SDKs. This enables developers to start creating an app for the corresponding platform. There are a number of advantages to developing native mobile applications:
- They offer the most reliable, responsive and fluid experience to users.
- They give developers the ability to access device specific functionality, including the camera, microphone, compass, accelerometer, geo-location and advanced touch features.
- The native platform gives developers the Fast Graphics API, which enables a fast application response when using several elements on the same screen.
- The Fast Graphics API, also provides the ability to have fluid animation. This is a feature that gives you those fast, smooth transitions with interactive reports & graphs, sounds and even gaming effects.
- Salesforce offers mobile SDK’s to allow you to get started building native apps on its platform quicker.
While native application development can create an amazing user experience, there are a few drawbacks to consider:
- The development process is very complex and requires more time to maintain.
- You will need application developers, such as iOS or Android developers, to develop on the specific platforms.
- Native development tends to be more expensive, especially if you are considering multiple platforms, such as iOS and Android at minimum, and possibly even Windows.
HTML5 Web Applications
If you have ever seen or heard of responsive web design or a mobile website, that’s exactly what I am talking about here. HTML5 apps load within a mobile browser, like Safari or Chrome, and your users’ devices are not dependent on storage capacity to download or install anything.
Some of the benefits to developing a web app are:
- They can be opened with any modern mobile browser, like Safari or Chrome.
- Web apps are indexed by search engines such as Google, Yahoo and MSN, which means they are searchable.
- Developers can tap into HTML5 supported device features such as Geolocation, Voice Recognition (limited) and offline storage (limited).
- Salesforce has mobile packs, which gives you access to supported frameworks on which to build your web app.
Now lets look at the downside to an HTML5 web app:
- These apps are web based only and cannot be distributed in the Apple App Store or Google Play marketplace.
- They are not always as fluid or seamless as a native app.
- There are limited device specific capabilities. While some are available, they are not all supported on devices.
We define hybrid apps as a web app that is wrapped in a small native container that provides access to native-only features. PhoneGap is an example of a popular container used to develop hybrid applications.
Hybrid apps essentially provide the best of both worlds. Web developers are able to create beautiful HTML5 layouts that can be used on any device without sacrificing native only features, while Salesforce extends capabilities by including analytics, lead generation and offline capabilities, just to name a few.
Benefits to a hybrid approach are:
- Developers can use existing web skills, such as HTML5, CSS3, and jQuery.
- Developers can utilize TCS’ rapid prototyping development cycle to quickly realize an application’s potential.
- Developers only need to maintain a single code base for multiple device applications.
- Get to market faster, by reducing development time and costs.
- Developers can utilize UX toolkits, such as TCS’ UX Accelerator to easily design for multiple devices.
- Capably of supporting multiple web features and technologies to further enhance your application experience.
- The ability to access advanced offline capabilities within your application.
- You will have increased visibility, since the app can be distributed in app store, marketplace and mobile browsers.
While there are several approaches to developing your next consumer application, you really need to decide which one best fits your needs. Native and HTML5 apps are great approaches and both offer unbeatable benefits for application development but at TCS, our developers utilize the Hybrid development approach in combination with our UX Accelerator library to help clients quickly realize application potential through a rapid prototyping process.
Developing a hybrid application on the Force.com platform will give you all the benefits of hybrid, plus it offers the ability to utilize an enterprise cloud platform, have tight integration with your current Salesforce CRM implementation, and leverage the option to use several different front-end frameworks through mobile packs. You also have access to Salesforce Mobile SDKs, which gives you access to tools, frameworks and APIs to quickly build your application.
I look forward to your comments or questions around building your next mobile app and encourage you to contact us to set up a meeting to discuss with TCS’ Salesforce experts.