Xamarin Application Development

Xamarin, a cross-platform development solution that helps simplifies the development process by letting developers use C# to create iOS, Android, and Universal Windows apps

Xamarin

A mobile web approach can be the solution for many clients. Greenfinch Technology develops all of our solutions with a ‘mobile first’ approach. This allows them to be easily rendered on a mobile browser, without any loss of usability. This allows the client to reach the largest number of people easily and quickly.

In some cases though, this approach does not meet the clients’ needs. The client may need a mobile app that can be placed on a phone or tablet. There are different reasons for this. They can be either functional or aesthetic. A ‘mobile app’ can be branded and styled differently than a website. The mobile app can also make use of the mobile phones features easier than a web app e.g. the camera, GPS, speaker etc. Many of our customers value the ability of an app to work offline as their employees may use the solution in areas where there is poor Internet connectivity and yet need access to the app. 

When setting out to build a mobile app it is necessary to consider both the iOS and Android platforms and most of our customers require an app for each platform. In the past, this would have meant two different projects running in parallel, using different code bases. Objective-C or Swift for iOS and Java for Android. This made the project slower, more expensive, and added complexity to the final solution, and its ongoing support.

To get around this there were some ‘Hybrid’ solutions developed. They allowed you to “write once, run everywhere”. As they worked on both platforms (iOS and Android) this meant you were now getting two apps for the cost of one.

Xamarin Application Development
Xamarin Cross Platform Development

Xamarin & Greenfinch

Unfortunately, there were a lot of aesthetic and technical limitations to these ‘Hybrid’ solutions and this is where Xamarin came in. Xamarin was built specifically to meet and overcome the problems that the Hybrid platforms have. Xamarin enables cross-platform implementations across Android, iOS, and Windows mobile from a single C# code base. It also lets the developer create native user interfaces to take advantage of the large capabilities of each of the different platforms.

Greenfinch Technology found and embraced this technology long before Microsoft (link to https://visualstudio.microsoft.com/xamarin/) purchased Xamarin in 2016. We have continued the training of our developers in its use and are a Xamarin Premier Consulting Partner. We are considered to be leaders in the field with this technology.

Xamarin was developed as a development tool that while using only a single .NET code base can develop apps in Android, iOS, and Windows. These mobile apps have the same look and feel as apps developed on the different platforms – because they are. When developing with Xamarin you only use one computer language – C# – to build mobile apps for any of the 3 platforms.

We embraced Xamarin for several reasons. With the cross-platform coding, the consistency of the app is improved. Not having to write code in several languages also means savings in both money and time to the client.

Is There a Loss of Functionality with Xamarin?

Because of its ability to use all of the platforms natively, Xamarin apps have all the normal user interface controls. This means that the user interface looks exactly the way you would expect it to. It also behaves the way you would expect it to.

Again thanks to its ability to use all of the platforms natively, Xamarin apps have full functionality available to the selected platform. These include platform-specific capabilities. Examples of these would be ARKit or Android Multi-Window modes.

Xamarin Mobile Apps are compiled for native performance. Because of this, they are able to leverage platform-specific hardware acceleration. This capability is not possible when using apps that only interpret their code at runtime.

Unlike previous Hybrid platforms, Xamarin built apps are defined as ‘Native’. This is due to the fact that apps built using Xamarin have comparable performance metrics to those built using Swift or Objective-C for iOS apps, and Java for Android apps.

Are there Other Benefits to using Xamarin?

The first big plus is app maintenance. Because it is a cross-platform solution both app maintenance and app updates are greatly simplified.

Next, there is full hardware support. Due to Xamarin being able to use specific plugins and APIs when working with the different platforms, there are no hardware compatibility issues.

Lastly, Xamarin capabilities also include linking to native libraries. This results in better customisation and native-level functionality.

In Conclusion

Xamarin should be at the front of your list when considering app development. With the saving in both time and development costs to the client, it has to be considered. Add to this the consistency giving by using the same coding for all platforms. This is something that native apps developed in parallel may not have.