What is Xamarin?
Xamarin is a tool used by developers to create iOS, Android and Windows mobile apps. It is one of several options to use to build a mobile app, and one that we have found to be powerful, robust and with cost savings both during design and development and throughout a product lifecycle. Xamarin is part of the Microsoft family.
How is it used?
The types of app built using Xamarin are referred to as native mobile apps. A native app means that the app is built specifically for the platform it is on – iOS apps for iPhones, Android apps for Android phones.
Native apps are usually preferable as they can fully harness the features of that platform, without compromise. If a single app was built to run on both iOS and Android, typically that app would be a hybrid app, which can only use a subset of the platform’s features.
This isn’t the case with Xamarin. It is just one tool, but provides true native apps across multiple platforms.
What makes Xamarin different to other app development?
Being able to use one tool to produce apps on multiple platforms is referred to as cross-platform mobile development and comes with a range of benefits.
If you imagine using two separate tools to create one iOS app and one Android app, you are maintaining two separate apps and two separate codebases. You also need to know different programming languages, for example Swift for iOS and Java or Kotlin for Android. This might result in needing two different technical teams.
And yet a lot of what iOS and Android apps do is the same, and this is where Xamarin comes in.
Xamarin shares everything that can be shared, but also has separate code for the bits that can’t be shared, the certain features or functions that work differently on iOS and Android.
One of the biggest benefits of using Xamarin is this shared codebase, but without sacrificing the user experience at all. Xamarin apps look, feel and behave as your user expects from their mobile phone.
There are other types of cross platform development. What sets Xamarin apart from other ‘hybrid’ tools is that the apps are not compromised apps – Xamarin apps are native apps, not hybrid apps.
Xamarin shares code where possible, but not all the time, and the performance of your app is never compromised.
What is Xamarin used for?
It is used for a wide range of mobile apps – basically anything that is a mobile app, is likely to be able to be built using Xamarin.
You might also see the phrase ‘high performance app’ applied to Xamarin apps – this simply means that Xamarin is a powerful tool that creates native apps without limitations.
Xamarin has a sister tool called Xamarin.Forms, which is great for certain types of apps, typically data driven apps and form-based apps.
You can read more about Xamarin.Forms and how it compares and differs to Xamarin on our blog here.
Why is Xamarin a great tool for app development?
We chose to specialise in Xamarin apps because we were so impressed with its ability to use the same code across different platforms, providing cost savings for our clients but without sacrificing any beauty or usability for customers and end users.
The users of the app get a seamless “native app” experience – something that is often a requirement from our clients.
It was our experience that most companies want both iOS and Android apps, and even for clients concentrating on one platform, there is usually a need to consider other platforms for the future. Using Xamarin from the outset keeps the option open.
The cost savings are not only for the initial design and development of the app, where one set of code can be shared across the two apps, it also applies to ongoing maintenance, support and enhancements.
If an improvement or upgrade is needed on the app, much of the code is shared and only needs to be updated once. For a Xamarin app, expect at least 75% of the code to be shared.
In 2016, and after surging popularity, Xamarin was bought by Microsoft. Read more about the benefits of this from Eastpointer Oli here.
What Xamarin apps have Eastpoint built?
We collaborated with our client Imray to work on an Android app, built using Xamarin.
Imray had previously built an industry-leading iOS app, but this was a native iOS app built using Swift and they identified Xamarin as a long-term choice for cross-platform development.
The Android app, built using Xamarin native, allows users to plan and track where they are sailing, and to view Imray’s world-renowned nautical charts through the app.
You can read more about the approach to this project and what we built here.
Another app we built using Xamarin is the smart traffic app called GLOSA (green light optimised/optimal speed advisory).
The app was initially only for Android, but the project leaders were very keen to build the app in Xamarin, having also identified it as a sensible approach to cross-platform development.
As an authorised Xamarin consulting partner, Eastpoint was chosen as the mobile developer and this project was an incredible opportunity for us.
The app was part of a system to advise drivers on the speed to approach a traffic light when it is green, to avoid unnecessary stops to reduce traffic delays, fuel usage and emissions.
Using Xamarin native, the app was designed and built for Android and very quickly after, we began work on the iOS version.
Read more about this award-winning project here.
Why use Xamarin?
In summary, we recommend Xamarin apps for the following reasons:
- Native user interface (UI) when using Xamarin native
- Xamarin.Forms is a powerful and cost-effective option for the right app
- Shared codebase = great opportunity to ease the burden of maintenance, improvements and upgrades when developing for both iOS and Android
- Typically at least 75% shared code across development platforms
- Open source = great community support and transparency
- Xamarin is owned by Microsoft, for peace of mind on longevity
Xamarin development in collaboration with Eastpoint
If you are looking to build an app for both iOS and Android, our experts are here to help. We have used Xamarin for more than five years and are an authorised Xamarin consulting partner for mobile apps. Read more about our Xamarin development here.
We work with startups, SMEs and larger businesses and have worked on many Xamarin projects across a variety of sectors.