Mobile Application Development: Three Considerations to Save You Time and Money

Image of smart phones, tables, and a laptop.‘Write Once, Run Anywhere’…If you still believe this is possible, call me, I have a bridge to sell you!  Writing an application once to run on the wide array of popularly used networked platforms today, such as mobile phones, tablets and desktops can provide significant challenges.  Here are three considerations to help save you time and money when planning a strategy to target these three platform classes in your next new application development effort:

  1. Design for Mobile First: Start new development with the intent of deploying to mobile platforms first. Leverage Responsive Web Design (RWD) to target as wide of an array of platforms as possible using HTML5, CSS, and JavaScript, or build native applications (see below).  Make desktop usage a secondary (to smartphones) or tertiary (to tablets) consideration. According to the August 2014 comScore US Mobile App Report, US Digital Media usage on mobile platforms has exceeded Desktop usage since the fourth quarter of 2013. Your users are increasingly going mobile.
  2. Adopt JavaScript as Your Lingua Franca (primary development language): JavaScript can allow you to quickly build application prototypes that run well and look good on mobile platforms, depending of course on the complexity and business uses of your application. Frameworks such as bootstrap.js, jQuery Mobile, Angular Mobile, etc. offer look-and-feel alternatives to native application development, which allow you to target mobile devices using JavaScript, HTML5, and CSS vis-à-vis a supported mobile web browser. It is possible to target your application development efforts to many different mobile device platforms at once using your JavaScript skills in development environments like Appcelerator, PhoneGap, Ionic, etc. However, your mileage may vary with this ‘write once’ approach as well.
  3. Consider Native Application Development: ‘Native Application’ in the context of mobile, refers to applications written in such a way that the application can run natively on the host Operating System. Android native applications, for example, are written in Java; iOS native applications, on the other hand, are written in Objective-C. According to the comScore Report referenced above, Mobile Device Users greatly prefer to use native mobile applications over mobile applications deployed inside of a web browser. Moreover, as native applications run directly on the device, whereas mobile web applications are likely downloaded from the server with each access, data usage with mobile web applications can be more expensive for your end-users.

In summary, my recommendation is to forget the ‘write once, run anywhere’ paradigm and jump into native application development straight away, targeting both Android and iOS smartphones and tablets.  While the number of development resources and time-to-market may be higher, the user experience and stickiness of your native applications stand to be greater too.  Ultimately, however, your applications will likely need to deploy both mobile web and native applications in order to achieve the best overall acceptance and usage of your application.