Articles

Xamarin Software

Probably the best multi-platform framework

Om maar meteen met de deur in huis te vallen: Ik heb ervaring met zowel native Xamarin als .Forms varianten, met Visual Studio als keuze IDE. De ontwikkeling is eenvoudig en er is voldoende leermateriaal beschikbaar om zelfs middenniveau .Net ontwikkelaars in staat te stellen binnen een paar dagen productief te worden. Vanuit het oogpunt van de producteigenaar is dit de tool bij uitstek wanneer meerdere platforms moeten worden gebruikt. Je krijgt het voordeel van de mogelijkheid om device & platform specifieke functies te targeten zonder de pijn van het gebruik van web containers zoals Cordova of Ionic frameworks) Voor de standaard ontwikkelaar, is de grootste pijn de debugging ervaring. Dit is meestal traag (het mist bijvoorbeeld de native Android’s “Fast deployment” functie) en als gevolg van compiler optimalisaties, zal Intelisense nauwelijks werken (je krijgt geen lijsten van de beschikbare eigenschappen & methoden, terwijl sommige eigenschap waarden helemaal niet toegankelijk zullen zijn) – hoewel dit kan worden gemitigeerd door het gebruik van een goede logging tool. Verder zal het (relatief) nieuwe Xamarin Forms de ontwikkelaar verder dwingen om een eenduidige implementatie te gebruiken, waardoor het totale product nog beter onderhoudbaar wordt (hoewel dit beperkingen kan hebben bij het converteren van bestaande native apps). Al met al is dit een volwassen product dat altijd moet worden overwogen bij het richten van multi-platform software.

Pros

– Eerst en vooral is het draagbaarheid die de markt drijft. In staat zijn om een enkele implementatie te schrijven die zich richt op meerdere platforms is zeer kosteneffectief – Omdat het wordt ondersteund door .Net (zeer gebruikelijk onder de software ontwikkel gemeenschap) is het veel gemakkelijker om een Xamarin oplossing te onderhouden (in tegenstelling tot het moeten vinden van native platform ontwikkelaars) – Hardware ondersteuning is echt op een all time high – zelfs hardware producenten (bijv.: Motorola) brengen Xamarin SDK’s uit.

Cons

– Misschien is het enige echte nadeel dat er altijd een vertraging is voordat het wordt bijgewerkt om de nieuwste platformupdate te ondersteunen – Debuggen kan vervelend worden en ik heb dit vooral gezien op de native implementaties als gevolg van Xamarin’s minder-dan-optimale manier om een probleem te melden (dat wil zeggen: je kunt in situaties terechtkomen waar een foutmelding met betrekking tot een Android-runtime eigenlijk werd veroorzaakt door een klein lay-outprobleem waarbij een benodigd element niet aanwezig is)