Having an existing XAML/.Net code-base, it was natural to use Xamarin.Forms, so the UI development for the Android app would not be starting entirely from scratch. And Xamarin.Forms certainly achieves the basics: getting a usable UI onto the screen. But it's not perfect - various things actually work quite differently in Xamarin, and Visual Studio performance and stability were a disappointment too. Conversely, some things (such porting graphics from Win2D to SkiaSharp) went remarkably smoothly. Sharing the core application code (Model, ViewModel, whatever) also worked just fine, with only a few nasty suprises. Overall, I think Xamarin.Forms was probably the least bad option available to me, given the various corners I had painted myself into, because of design choices I made over the years. Also, I made life difficult for myself by stubbornly insisting on keeping some aspects of the Windows UX, which really don't fit the Android way of doing things. If I was starting a project from scratch, and aiming to achieve a 'real native app' look on Android, I think that on balance I wouldn't choose Xamarin.Forms; you have to do so much platform-specific stuff anyway, that you might as well just code the UI natively for each platform. You need to debug and test separately on each platform anyway.
YOU MAY ALSO LIKE:
- Real World Kotlin Development Workshop (in London on 28th February - 1st March 2019)
- Modern Application Development with C# and .NET Core (in London on 1st - 4th April 2019)
- Fast Track to F# with Tomas Petricek & Phil Trelford (in London on 2nd - 3rd April 2019)
- ProgNET London 2019 (in London on 11th - 13th September 2019)
.NET Xamarin.Forms development for Android - an Indie developer's perspective
An aged geek, and tech enthusiast ever since I wrote my first line of code at the age of 12, on an Apple II. (there - now you can work out just how aged I am). These days, my day job is IT Strategy and Architecture, working in the banking sector. But in evenings and weekends, I keep hands-on with coding, as an Indie app developer on various projects. I suspect it will never make me rich, but it does provide drinking money, and pays for assorted technology toys that would otherwise be hard to justify.