Though there are multiple options open to companies that are producing a mobile app, the differences between them grows smaller the more technology advances. Still now, as in the earlier days of app development, the choice depends as much on the type of app being made as it does on time and budget restrictions. Below is discussed some of the advantages of each different development path for mobile applications.
HTML5 (web apps)
HTML5 applications are basically html5 mobile web-pages in a “wrapper” that will give it some of the functionality of a native iOS / Android app. These apps can be produced and supported much faster and cheaper than other apps, as all development and changes can be made to all platforms at once. Although now html5 hybrid apps are able to use more of the features of the device (push notifications, camera, Facebook and Twitter integration, etc.), each of these features will require the use of native plug-ins to support these features. Adding too many features means expanding the size of your “wrapper” and entails some native development anyways. Currently, most html5-based apps do not support features such as background processing, though these features may not be necessary for all applications.
Although a short-time ago, the different ways in which mobile browsers interpreted html5 was a legitimate concern, today it receives a much wider support. And with the current mobile-browser engines on increasingly powerful phones and devices, the quality of html5-based apps has significantly improved and can now perform almost identically to native apps.
The Netflix mobile apps (iOS, Android, Windows) are all HTML5-based web apps.
Native apps are often prized for their smooth interfaces and ability to use all the features of the native OS. However, this is often only important if your app is using a lot of graphics and animations (games). This essentially means coding in two (or more) languages from start to finish, often meaning double cost and development times. Updating will also have to go through a similar procedure: creating separate patches for each platform your native apps are on. If however, your app will be restricted to one platform (iOS or Android only) or if the development budget is available, producing native apps are a great way to go.
SnapGuide is a popular DIY app that was developed specifically for the iOS.
Xamarin apps use a different type of cross-platform technology that uses the Microsoft.NET language for development. This framework allows the code to be recompiled in a native format, providing the same performance and user experience as native apps with a fraction of the cost and time of development. Xamarin apps can also run faster than native apps because of the concise and flexible nature of coding in C# and Visual Studio as opposed to Objective-C and/or Java. Though some native coding will still be required, this is significantly less troublesome than adding plug-ins in html5 hybrid apps, and Xamarin apps can easily have all the features and security of a native app.
Xamarin apps are becoming more and more popular, which means increased support and resources for coders. The consensus is that very soon, Xamarin apps will soon outnumber both html5-based apps, and native apps, on all devices.
Rdio is a popular music streaming service whose multi-platform apps (iOS, Android, Windows, BlackBerry) were developed with Xamarin.
|Development & Maintenance Costs||Lowest||High||Low|
|App Speed & Performance||Slowest||Best||Fast|
|App Download Size||Varies||Lowest||High|
|Native API Support||Most, w/plug-ins||Full support||Full support|
Digital Fractal Technologies is an Edmonton, Alberta based software-development company that focuses on data-driven mobile applications. We develop both cross-platform apps (HTML5 and Xamarin) as well as native mobile applications. For a free app consultation, please contact us.