Realities of Cross-Platform Development: How Platform-Specific Can You Go? - Part 1

My personal beliefs on cross-platform development were formed in November 1993. I worked at The Coca-Cola Company at the time, and a few colleagues and I were discussing how to provide Mac users with the same set of applications that we were building on Windows 3.1 with PowerBuilder.

The discussion centered around the UI. The concern was with providing a Windows-centric interface to Mac users. I remember one of the great lines from the meeting: "If you provide Windows help to a user expecting Mac balloon help, you are going to have users that hate you." After this and some personal experiments, I came to agree with this viewpoint. If developers want to make users as happy as possible, they need to call the native APIs of the platform.

Fast-forward to 2009, when I fell in love with the Xamarin iOS product from the first announcement. Xamarin had created a way for C# developers to use the Microsoft .NET Framework and to call into the native platform APIs. Xamarin Android operated the same way. While I would often discuss the need for a cross-platform UI with Xamarin management, I never forgot the lessons of cross-platform from many years ago. At the same time, I knew that there was a need for a cross-platform toolset to create an application. I had talked to enough people to understand the pain and agony. Quite honestly, I was a fence sitter in this area. I liked the idea of XF, but I was never quite ready to make the jump and, honestly, try XF for anything more than some personal experiments and helping a couple of customers.

Url: Platform Specific with Xamarin-Forms

1 Comment

  • Hey welcome to the party. :) Xamarin.Forms is a nice stab at the problem, however it does suffer from a myriad of problems, most notably of which is its renderer API (you basically need to create a new control renderer for each platform -- very tedious and labor-intensive. Plus, what happens when a new platform emerges?), and its internal Xaml system. It's open-source though now so that leaves more possibilities than before.

    I think what you see developers asking for is a cross-platform UWP that not only works on iOS/Droid but also on the web, via WebAssembly or transpiled JavaScript:
    https://visualstudio.uservoice.com/forums/121579-visual-studio-2015/suggestions/10027638-create-a-ubiquitous-net-client-application-develo

Comments have been disabled for this content.