Mobile Development

By Channel Mobile
mobiledev

Businesses want to provide services for their customers and their employees, and increasingly these people want to access these services while they are mobile. The trend to mobile has been sparked by consumer demand enabled by Apple and its iPhone and iPad, Google and its Android based phones and tablets, and now the enterprise giant Microsoft is combining desktop, tablet and mobile interfaces with Windows 8.1. Gartner predict that by 2015 mobile app development projects for tablets and smartphones will outnumber PC projects by 4:1.

So businesses need to provide mobile services, despite their internal IT departments being singularly ill-equipped to do so. Enterprise IT has been more concerned with old core applications, security and traditional means of communication (such as call centres). Mobile applications in the enterprise world have been very business department specific and siloed. So how do businesses start to develop their mobile apps?

Even the way these are built is fraught for newcomers into the space. There are a number of options, and these are listed below with a quick summary of pros and cons.

Responsive web apps

This where a web app automatically adapts to the device it is being used on, so that the logic of the app remains the same and the appearance of the app changes based on the size of the screen it is being displayed on. This uses HTML5 and Javascript and means that the app can be developed easily and can be deployed once across all platforms (at relatively low cost), but the app will run like a website and will not be able to use any of the features of the device it is running on, such as GPS, camera or local processing (for transitions, etc.).

Hybrid web app

This wraps a web app as above inside a container which is ‘native’, i.e. dependent on the type of device it is running on – either Apple, Google or Microsoft devices. Again the UI and app logic are run within the web app but the app will be able to use some device functions such as device storage. This provides a more feature-rich app on the platforms supported by the container but may lead to inconsistent UI across different devices or versions of the operating system and poor responsiveness.

Hybrid mixed app

Here the core app is still a web app but there is more platform specific native code which takes advantage of more native features. This involves writing more native code but can improve the performance of the app.

Native app

Here the entire app is written in the native language for each platform, which is Objective-C on iOS for Apple, Java on Android and C# on Windows. This allows full access to the device’s features and storage and is faster and better performing, but requires (three) separate builds and the associated support.

Tool providers

These cover the entire spectrum and range from companies providing a series of functions or widgets, including data management, creation of APIs linking to other systems, testing and deployment. As more mobile developments become part of enterprise mobile strategies, these development options will increase to include entire eco-systems for writing and deploying apps.