Xamarin on sovelluskehitystyökalupaketti ja koodikirjasto, jonka avulla voi kehittää Microsoftin Visual Studiolla mobiileja sovelluksia kaikille kolmelle alustalle: Windowsille, iOS:lle ja Androidille. Käytännössä sovellus ohjelmoidaan C#:lla ja julkaistaan kaikille alustoille samalla kertaa. Sovelluskoodia voidaan jakaa joustavasti eri alustoille tulevien versioiden kesken. Lopputuloksena on siis täysin natiivit sovellukset eri alustoilla.
Olemme tehneet nyt muutaman Xamarin-sovelluksen ja riemuinneet natiivista käyttökokemuksesta ja tuottavasta sovelluskehitysympäristöstä. Microsoft-kehittäjänä on ollut myös hienoa tehdä natiiveja sovelluksia Androidille ja iOS:lle.
Xamarinin yhteydessä nousee nopeasti kysymyksenä esille se, että kummalla tavalla kannattaa sovellus tehdä: natiivina Xamarin-sovelluksena vai alustalle paketoituna HTML5-sovelluksena. Tähän ei ole mielestäni absoluuttista vastausta, vaan sovelluksen tekotapa riippuu siitä, mikä on sovelluksen käyttötarkoitus. Tässä voisi yrittää tehdä vertauksen kulkuvälineisiin: joku valitsee Bemarin, joku menee bussilla. Kummallakin pääsee perille. Bussilla kulkiessa pitää hyväksyä se, että kaikkia mukavuuksia ei ole ja tuolit on suunniteltu monenlaiselle kulkijalle. Bemari sen sijaan sopii kuin hanska käteen ja ajotuntuma on tarkka ja johdonmukainen.
Itse suosin Xamarinia aina, jos vaaditaan mahdollisimman hyvää alustan mukaista suorituskykyä, fiilistä ja ominaisuustukea.
