Cross Platform Mobile Apps

Cross Platform Mobile App Development in 2016

What is Cross Platform App Development?

The mobile ecosystem in 2016 is split predominantly between Android and Apple.   Traditionally, if you wanted a mobile app on both platforms you would need to have the technical expertise, manpower and large budgets required to develop two completely separate applications on both platforms.

With “Cross Platform” mobile app development, you write the code once and in theory the application will run on multiple mobile device platforms. However, that’s just the theory and as we will see here, there is no silver bullet.  Each cross platform app technology has its own pros and cons.

Determining the right mobile app development solution to employ for your new business app depends upon a multitude of factors.

Why Cross Platform?

save-time-moneyBefore we go into further detail for the multi platform mobile development options you currently have available, let’s first consider why you might even want go down the cross platform route:

Save Money and Time!

All the pros for cross platform app development essentially come down to saving you money and time over the traditional native mobile app development route:

  • Faster to develop as you are writing code that runs on all platforms as opposed to separate code for each individual platform that has to be supported.
  • A single developer/team can be responsible for the complete app, no longer is it a team for Android and a team for iOS.
  • One codebase that runs on all platforms.
  • Easier to maintain and support. Any updates or code fixes are automatically done on all platforms.

Of course these cost savings come at a price with some cross platform tools having more ‘of a price’ than others.

Broadly speaking, for multi-platform mobile app development, you have mainly 3 choices:

  • A compile time solution such as Xamarin
  • A hybrid solution such as React Native
  • A web/JavaScript solution such as Cordova.

Each of these three different solutions also comes with their own unique set of advantages and disadvantages. Let’s now take a more detailed look into the pros and cons of the three different platforms.



Xamarin LogoXamarin – Compile Time Solution

  • Microsoft owned platform that uses the extensive C# codebase
  • Native user interfaces on every mobile device platform the app is deployed to
  • Able to benefit from both the large .NET/C# and the growing Xamarin communities.
  • Share the app code across iOS, Android and Windows platforms.
  • Add components to apps directly from the IDE, including controls, web service APIs, etc.
  • Add security features such as authentication and encryption.

SHOWCASE APPS

Pros

  • Excellent performance when compared against the hybrid and web based counterparts.  There is only a thin wrapper accessing the native APIs and as its compiled code there is no performance hit translating from Javascript to native.
  • Native look and feel.  Users will not be able to tell the difference to a native app or an app developed
  • 100% API coverage for both Android and iOS.  Meaning any functionality offered by the underlying platform is available to Xamarin
  • “Write Once Run (Natively) Anywhere” – Possible to achieve nearly 100% code re-use when writing an app using Xamarin Forms.
  • Extensibility.  Possible to write and re-use existing objective-c or java code

Cons

  • The app has to include its own run-time. This leads to a small performance hit as well as a slight increase in app package size.
  • Developers need to have knowledge about the Android and iOS platform specifics, as far as the user interface is concerned. Most platform specific features, like camera access, sensors, geo positioning, etc. are abstracted behind a unified API, but this is not true for the user interface.
  • Time to compile and test is slower due to a slightly more complicated build and deployment process.

How Does Xamarin Work?

Cordova Logo


Cordova – Web Based Solutions

Cordova is a free and open source platform that uses HTML5, CSS and JavaScript to develop hybrid apps.  Applications run inside a web browser with Cordova acting as the bridge between the web app and the functionality offered by the native device.

phonegap

Various UI frameworks built on top of Cordova are available. Some of most noticeable ones include:

Cross Platform Framework Logos

 

SHOWCASE APPS

Pros

  • Easy to get started
  • Easy barrier to entry, no need for developers to know the platform(s) intricacies
  • Time to compile and test is usually fast, so apps are quick to develop and test
  • Able to update your apps live, there’s no need to re-submit them to app stores
  • Single code base to develop and maintain
  • Good platform support – Android, iOS, Windows, Blackberry, Ubuntu, Firefox, LGwebOS, FireOS all supported

Cons

  • Poor performance – Application is running in web view making it less performant than native applications
  • Limited API depending on the framework chosen
  • User interface can be slow and sluggish
  • Multithreading is hard to get right
  • Difficult and time consuming to get the app looking truly native.

 


RReact Native Logoeact Native – Hybrid Solution

React Native is a free Javascript Library which was released in 2015 by Facebook .  It uses JavaScript and JSX as a markup language with support for iOS, Android and Windows UWP platforms.

SHOWCASE APPS

Pros

  • Better performance than web based solutions
  • Large set react native components available, although still not 100% native UI coverage.
  • Native look and feel.  Apps will look and behave exactly like a native app
  • Quick to develop and test with features such as hot reloading.  This allows developers to make a change and almost immediately see any changes
  • Extensibility. If the standard components don’t offer the required functionality its possible to write or re-use existing objective-c or java code with the use of Native modules

Cons

  • Not all UI controls are available although coverage is getting better
  • No “Write once run anywhere” so separate UI code has to be written for each supported platform.
  • Writing native modules requires native Android (Java) or iOS (objective c) development expertise.
  • Immature technology.  Android support only available from September 2015

React Native


Thumbmunkeys Specialise in Xamarin!

At Thumbmunkeys we excel in cross platform development and have years of experience helping many businesses to realise the benefits a multi-platform mobile application can bring.

After in-depth research and testing we settled on Xamarin as our framework of choice due to the extensive C# codebase available, full backing from Microsoft and a larger and faster growing community than other frameworks.

Contact us today to discuss how cross platform mobile apps could transform, streamline and modernise your business.

Xamarin