Article

Mobility

Mobility

Mobile application development or Mobility is the process by which application software is developed for low - power handheld devices , such as personal digital assistants , enterprise digital assistants or mobile phones . These applications can be pre - installed on phones during manufacturing , downloaded by customers from various mobile software distribution platforms, or delivered as web applications using server-side or clientside processing (e.g. JavaScript) to provide an "application-like" experience within a Web browser.

Developing application software for mobile devices requires considering the constraints of these devices. Mobile devices run on battery and have less powerful processors than personal computers. Developers also have to consider a lengthy array of screen sizes, hardware specifications and configurations because of intense competition in mobile software and changes within each of the platforms. Mobile application development requires use of specialized integrated development environments. Mobile applications are first tested within the development environment using emulators and later subjected to field testing. Emulators provide an inexpensive way to test applications on mobile phones to which developers may not have physical access.

Native Apps

The most basic way to build apps for mobile devices is to write them for a specific kind of device. For instance, iPhone apps are written in Objective-C, Android apps in Java, etc.

There are a number of advantages of writing apps in this way:

  • They offer the fastest, most reliable and most responsive experience to users.

  • Can tap into the wider functionality of the device, such as the camera, compass, accelerometer, notifications, etc.

  • The downside is :

  • Writing apps for a specific kind of device is that it will not work with other devices.

  • If an app is written in Objective-C for iOS, its not going to run on Android without being completely re-written in Java.

This makes native apps the preference for particular categories of app development. More demanding apps such as games tend to be written natively to take full advantage of the devices capabilities and wider functionality. Large organizations often choose native apps because they have the money to fund the longer development cycle and want a really slick final product. Native apps are basically the ideal. Some examples: Angry Birds, Shazam, Instagram.

Mobile-Optimized Web Apps

At the other end of the scale are mobile-optimized web apps. These have often been the choice of companies who are not ready to invest in a more robust mobile presence. Theyre usually just a condensed version of the usual website, resized to fit a Smart phone screen.

The advantages of a mobile-optimized website or web app are, with a few exceptions

  • They will run on any mobile device with a web browser and internet connection.

  • They dont require any mobile development expertise, so a usual web designer can probably throw one together

  • The downside are :

  • Theyre extremely limited in what they can do effectively.

  • They will display text and images.

  • Videos will work on most devices, with the big exception of Flash videos on iPhone/iPad.

  • The content will only be available when they have an internet connection – there are no options for offline viewing. Some examples : Cisco website, Mercedes Benz website.

Read More

Hybrid Apps

Somewhere between native and web apps are hybrid apps. They are quicker to build (and thus cheaper) than native apps, but a step up from what you can expect out of browser-based web apps. Hybrid apps are web apps built into a native mobile framework. This essentially means that they take advantage of the cross-compatibility of web. Technologies such as-HTML5, CSS and Java script, but sidestep the dis advantages of web apps by being built leveraging device-specific, native frameworks.

The bulk of the app is built using web technologies, but native code is used to allow the app to access the wider functionality of the device and produce a more refined user experience.

The advantage of this approach is that

Only a portion of native code has to be re-written for different kinds of devices. The vast majority of development goes into the web component, which is used across all devices, reducing the time it takes to build the app (and thus the development cost).

As far as user experience is concerned, most people probably wont notice a huge difference from a native app.

They will still have a shortcut on their home screen, it wont open in a web browser and they will receive notifications.

If a native app is unfeasible, a hybrid app is the obvious second choice and a close contender.

Some large organizations use them and they are more accessible to smaller companies than native apps.

Some examples: Facebook, TuneIn Radio, LinkedIn

Native, mobile Web, or hybrid? For companies considering tapping into the mobility of their increasingly connected workforce with enterprise mobile solutions, thats the million dollar question.

The answer: It depends. Theres no single correct solution that applies to all scenarios and needs.

Each option — mobile Web apps, hybrid applications, and native apps — has its own advantages and disadvantages.