Well … that depends

Mobile app development is hardly new. Everyone is doing it – to the point of developing mobile applications before actual websites. And as mobile connectivity has abounded, various ways of creating applications to use whenever and wherever have proliferated too.  We are often asked which method is ideal for developing a mobile app, and the answer always comes back as a question. Or rather, as questions:

“What is the purpose of your app and its major functions? Who will be its user? And, what is your budget?”

As with most things, there are pros and cons to each method and your needs will determine which is best for your app. At Coherent, we usually take one of the following approaches to developing a mobile app:

  • Responsive website design
  • PhoneGap
  • Xamarin Platform
  • Native

Let’s look at the advantages and disadvantages of each.

Responsive web design

This is often done when an organization has a legacy website and wants to make it easier to read and navigate on a small screen. Coherent’s corporate site is built using a responsive design approach, for instance, in fact, this kind of mobile “app” is really a website, not an app, thus it relies on mobile connectivity via cellular, data or WiFi service.

The biggest advantage of responsive design is that you use the existing platform of your website and the same familiar tools (JavaScript, HTML, Java, .NET or virtually any other language) to create the mobile version, which also keeps the cost low. The screen shrinks with size, and can change entirely to adapt to a mobile environment, showing less text on a page, or streamlining the page layout.  This kind of mobile design is a good fit for simple information management applications with limited data entry and presentation. The approach also has the advantage of avoiding the store submission and distribution process, which makes updates easier and somewhat more seamless for end users. From the support perspective, it is always good to know that all users are running the same version of your application – the one deployed on the server. This is a bit oversimplified since, as with any application, a different version can potentially be delivered based on geography, partner agreements, etc.

Besides relying on internet connectivity, which can be spotty, responsive design sites are web-based and thus can’t use a mobile device’s tools beyond the features specified by HTML5 standards and supported by the mobile browser. (i.e.: Camera, microphone, local storage and location services.)

PhoneGap

PhoneGap continues to be one of the most popular hybrid application frameworks, not just due to its price (free, as it is open-source), but also because of its rich feature set. PhoneGap ‘wraps’ the app that has been created in the familiar web languages JavaScript, HTML, and CSS, making it work on iOS, Android, Windows and other mobile platforms. In effect, PhoneGap makes the app ‘native’ using web view functionality to deliver the user experience.

Advantages of PhoneGap include (for the most part) the single codebase, a consistent look and feel, and the ability to interface with native components within the application for functionality not supported by the framework, such as Bluetooth communications. But relying on web view for user interface, the app does not respond as immediately or as smoothly as a native app and the uniform look and feel mean that some of the latest platform-specific design language is typically ignored – like translucency on iOS-7.

Xamarin Platform

Xamarin is a cross-platform development framework that makes it possible to do native iOS, Android and Windows development in C#. Xamarin developers can reuse existing C# code, sharing it across device platforms. This allows a much wider base of providers to develop the app, because they can work in the development language most familiar to them.

While Xamarin claims that developers can share 70-75% of their code, in my experience it is closer to 20-50%. However, the higher percentages can now be achieved with UI reuse by utilizing Xamarin Forms. And the Xamarin platform creates the seamless experience of a native app, tapping all the functionality of the mobile device because the app uses the native user interface framework, as opposed to web view. As a product of a for-profit company, Xamarin comes with developer license costs and gets updates as the company sees the need. Xamarin uses Mono technology behind the scenes and Mono runtime is required for Android platform, thus increasing the size of your app.

Native apps

Native apps reside on the mobile device, working quickly, seamlessly, and tapping the full functionality of each device, including Bluetooth, NFC and any future capabilities such as temperature, pressure and humidity sensor. But, because iOS and Android each make up an important share of the mobile market, native apps usually have to be developed for both platforms – doubling development time and costs.  And for developers concerned about including every kind of device out there (ie: Windows, BlackBerry), there can be even more development costs. But as the gold standard in terms of functionality, performance and reliability, native apps continue to be needed for some purposes.

You can see that each method for developing a mobile app has its pluses and minuses. At Coherent Solutions, we look carefully at a client’s needs and budget before recommending a method. If you’d like to talk over your mobile app with us, please feel free to contact me at: maxb@coherentsolutions.com. Or call: 612-279-6261.