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:
- ProgNET London 2018 (in London on 12th - 14th September 2018)
- Functional Concurrency in .NET with C# & F# with Riccardo Terrell (in London on 20th - 21st September 2018)
- Modern Application Development with C# and .NET Core (in London on 4th - 7th December 2018)
- Fast Track to F# with Tomas Petricek & Phil Trelford (in London on 6th - 7th December 2018)
.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.