3 ms·
At a previous agency job, I was on a project that was re-writing an iOS and Android app used by millions of people. We looked hard into using Xamarin for this b
by flanbiscuit 4y ago
At a previous agency job, I was on a project that was re-writing an iOS and Android app used by millions of people. We looked hard into using Xamarin for this but in the end concluded that it was not ready yet. This was in 2019.
Main reasons were:
- You can use Xamarin.Forms to write cross-platform UI, but our UI was complicated enough (a weather app with lots of custom UI) that Xamarin.Forms would not have worked for us. So we still needed to write 2 separate UI codes, which Xamarin allows for because it exposes the complete SDKs for both platforms via Xamarin.iOS and Xamarin.Android.
- Xamarin provides a way to use existing 3rd party libs written in native iOS/Android by creating "bindings". For very popular libs, the Xamarin team maintains these bindings, for others, you need to rely on open source ones. The client required us to use a bunch of third party libraries and we either couldn't find them at all, or found ones that didn't work. We needed Mapbox, Firebase analytics & Crashlytics, and some other ones... pretty well-known libraries.
We were in contact with someone at Microsoft during this exploration and even they couldn't help us. They couldn't point us to any big well-known names using Xamarin and they couldn't help us with any of the missing or broken bindings we needed.
Thankfully in the end we just split up into 2 teams and wrote the app in native iOS and Android.
- jjnoakes 4y agoDid you consider writing the bindings yourself? In my experience when I've needed a few dozen APIs, it wasn't too bad. It certainly seemed like less work than two native apps. But perhaps that wasn't the case for you?
- criddell 4y ago> Thankfully in the end we just split up into 2 teams and wrote the app in native iOS and Android. When you have millions of users, that's definitely the right call.