Xamarin Froms
Xamarin umožňuje psát nativní aplikace pro různé operační systémy, konkrétně pro Android, iOS a Windows, v nejvyspělejším z programovacích jazyků současnosti .NET C# a zároveň v nejkomfortnějším vývojovém prostředí Visual Studio. V základu Xamarin poskytuje pro každou z platforem řadu knihoven, které zapouzdřují do C# tříd příkazy pro konkrétní operační systém.
Xamarin.Froms pak jde v této abstrakci ještě dál a poskytuje univerzální komponenty a třídy, jenž se po té při kompilaci pro každou z platforem přeloží do pro ni nativní podoby (viz např. TabbedPage). Design stránek (popř. obrazovek či aktivit) se dá definovat v jakési obdobě jazyka XAML, což platí i pro uživatelské komponenty (UserControls). Případné odlišnosti jednotlivých systémů, které Xamarin.Forms zatím neřeší přímo, a které se musí pro každou z platforem řešit zvlášť, lze celkem efektivně zapouzdřit pod společné rozhraní (v kódu) či view (v XAMLu) a při kompilaci se postará o dosazení třídy či komponenty s kódem pro správnou platformu. Vše ostatní pak může být ve společné části (projektu) PCL (portable class library), jež používají všechny ostatní projekty vytvořené pro jednotlivé platformy s jejich specifiky, popř. ve sdíleném projektu (shared project), který se při kompilaci sloučí s právě kompilovaným projektem, jako by byl jeho součástí.
A právě tento nadějný, ale dosti drahý Xamarin nedávno koupil Microsoft a poskytl ho k Visual Studiu zdarma. Přestává tak rozhodování, jestli použít nejprve Javu (Android), pak Object C (iOS) a pak třeba i C# (Windows) a v každém z těchto jazyků psát aplikaci v podstatě od začátku. S Xamarinem můžete rovnou začít v tom nejvyspělejším jazykem C# a u něho už i zůstat, přičemž pokryjete všechny platformy současně. Pokud byste raději vytvářeli nějakou hru než aplikaci, pak je tu Monogame (opět zdarma, opět C# a opět vzniká výstup pro všechny platformy). No a jde-li o nějaké náročnější hry, pak je tu Unity (to už není zdarma, ale zase C#, vše najednou a výčet podporovaných koncových zařízení je dokonce ještě širší).
Zkrátka jakýkoli jiný jazyk než C# nedává v dnešní době moc smysl. Jednak nic jiného nepokryje tolik možností (mimo mobilní aplikace umí i ty desktopové, webové, databázové, IoT, robotické a spoustu dalších) a pak kromě základních příkazů a knihoven skrývá pro pokročilejší programátory obrovské, stále rostoucí množství usnadňujících příkazů a možností (např. LINQ, Lambda výrazy, více vláknové použití bez rozdělování kódu, ...), díky čemuž může zdrojový kód stále získávat na své eleganci.