Ah, MAUI. The grand unification theory of .NET UI development.
How did we get here?……
π The Dawn of Time: Mono (2004)
π‘ What Was Mono?
Before .NET was truly cross-platform, Microsoft kept .NET development firmly locked inside Windows.
That didnβt sit well with Miguel de Icaza, an open-source warrior (weenie?) who thought, “Hey, what if .NET could run on Linux and macOS?”
And thus, Mono was bornβa project aimed at making .NET applications work everywhere.
Who made it? Miguel de Icaza and the Mono team at Ximian (later Novell, later Xamarin, later Microsoft).
Why did it exist? Because cross-platform .NET wasnβt a thing yet.
What could you build? Console apps, desktop apps (with GTK#), and later, mobile apps.
π οΈ Mono Code Sample
|
|
Run this on Linux, and boom! Cross-platform C# in 2004. Revolutionary!
It might not seem exciting now.. but back then Cross- Platform was tricky and complicated… much more than now…
π The Silverlight & Moonlight Saga (2007β2012)
π‘ What Was Silverlight?
Microsoft, in a bid to take on Adobe Flash (yeah, remember Flash?), created Silverlightβa browser plugin for rich web apps using .NET and XAML.
It was like WPF but… Ran in a browser! (great idea? or insane? you decide.. :) ).
Who made it? Microsoft.
Why did it exist? To compete with Flash. Spoiler: It lost.
What could you build? Interactive web apps with .NET.
NOTE: The code basially ran as an AxctiveX plugin… Once ActiveX lost favor due to security issues with compiled code running on a browser… Silverlight kind of died with it..
π‘ What Was Moonlight?
Since Silverlight was Windows-only, the Mono team created Moonlight, a Linux-compatible version. It almost worked!
Who made it? Mono/Ximian team.
Why did it exist? Because Linux users also wanted fancy web apps.
What happened? Microsoft lost interest in Silverlight, and Moonlight died with it.
π Silverlight/Moonlight Code Sample
|
|
Silverlight was actually pretty cool, but then HTML5 happened, and Microsoft pulled the plug. RIP Silverlight (2007β2012).
π± The Rise of Xamarin (2011β2020)
π‘ What Was Xamarin?
After Silverlightβs fall, the Mono team pivoted to mobile development. Enter Xamarin, which allowed developers to build native iOS and Android apps using C#.
Who made it? The Mono team, now called Xamarin.
Why did it exist? Because writing the same app three times (Objective-C, Java, and C#) was torture.
What could you build? iOS, Android, and later UWP apps.
π οΈ Xamarin Code Sample
|
|
Fun fact: Xamarin.Forms was originally a separate thing, but people liked it enough that Microsoft turned it into MAUI.
π₯ Enter .NET MAUI (2021βPresent)
π‘ What Is MAUI?
Microsoft, tired of juggling WPF, UWP, Xamarin, and whatever Silverlight was, decided to merge everything into one framework: .NET MAUI (Multi-platform App UI).
Who made it? Microsoft.
Why does it exist? To unify Xamarin and .NET UI development under one framework.
What can you build? iOS, Android, macOS, Windows, and Blazor hybrid apps.
!!!!!!!!!!!!!!!!
π οΈ .NET MAUI Code Sample
|
|
π Evolution Table: Mono β Xamarin β MAUI
Era | Technology | Supported Platforms | Key Feature | What Happened? |
---|---|---|---|---|
2004 | Mono | Linux, macOS, Windows | First cross-platform .NET | Kept .NET alive outside Windows |
2007 | Silverlight | Windows, Web (via plugin) | Rich web apps | Killed by HTML5 |
2008 | Moonlight | Linux (Silverlight alternative) | Open-source Silverlight | Microsoft lost interest |
2011 | Xamarin | iOS, Android | Native mobile apps with C# | Acquired by Microsoft in 2016 |
2021 | .NET MAUI | iOS, Android, macOS, Windows | Unified UI framework in .NET 6+ | The ultimate evolution |