For many solutions, a mobile web approach will suffice. We develop all of our solutions with a mobile-first approach so that they may be easily rendered on a mobile browser, without loss of usability. This approach allows you to reach the maximum number of people quickly and easily.

However, sometimes you may need an App that sits permanently on a phone. The reasons for this may be aesthetic or they may be functional. An App may be branded and designed differently than a website and it can also take advantage of all of the phone’s features e.g. push notifications, camera, GPOS, etc more easily than a mobile web solution can. Finally, an App can work offline, which is particularly important for some B2B solutions that we have developed.

What to Consider when Building an App

When building an App you have to consider both the iOS and Android platforms and need to provide an App for each of them. Historically, this meant two separate projects run in parallel with different code bases (Java for Android and Objective-C or Swift for iOS). This added time, cost, and complexity to the project and to the ongoing support of the solution.

Along came a number of “write once, run everywhere” platforms where you could compile your code and then push it to both iOS and Android. Hey, presto! Two Apps for the price of one.

There were technical and aesthetic limitations in this approach, which Xamarin quickly realized and overcame. Xamarin allows for cross-platform implementations across iOS, Android, and Windows mobile from a single C# code base. It also allows for the creation of native user interfaces so that you can take advantage of the rich capabilities that each unique platform provides.

We fell in love with this technology and were the first Australian company to embrace it long before Microsoft purchased Xamarin in 2016 and have continued to train our developers in its use.

Is There a Loss of Functionality with Xamarin?

Xamarin apps still have the normal user interface controls. Not only does a Xamarin-built app look the way you would expect, but it behaves the same way too.

Xamarin apps have the full range of functionality usable by the selected platform and device. These include platform-specific capabilities such as Android Multi-Window mode and ARKit.

Xamarin Apps are compiled for native performance and they can leverage platform-specific hardware acceleration. This is not possible with apps developed that only interpret their code at runtime.

It should also be mentioned that, unlike previous hybrid solutions, an app built using Xamarin can be defined as native. This is because the performance metrics are equivalent to Android apps built with Java or iOS apps built using either Swift or Objective-C.

Are there Other Benefits to using Xamarin?

Firstly, a big plus is app maintenance. Due to its cross-platform functionality, app maintenance and updates are greatly simplified.

Secondly, there is full hardware support. There is no hardware compatibility issue. This is due to it being able to use specific plugins and APIs to work with the different platforms

Finally, Xamarin also supports linking to native libraries. This means better customization and native-level functionality.

Conclusion

For app development, Xamarin should be the first consideration. There is a big saving in both development time and development costs which are carried through to the client. Also, the coding carried through to work on the different platforms gives a consistency that native apps developed on the different platforms may not have.