By: Weikko Aejmelaeus
2013-09-23
C# finns överallt
För ett par år sedan arbetade jag i ett projekt där vi utvecklade en applikation som skulle kunna köras i Windows och Mac OS X. För kompilering till Mac OS X använde vi Mono-ramverket som är en cross-platform implementation av C# och CLR:en. Användargränssnittet byggdes i Gtk#. Det funkade ok rent tekniskt, men gav inte en bra UI-upplevelse.
Ett tag sedan besökte SweNug och Brian Costanich från Xamarin oss på Dynabyte. Brian föreläste om cross-platform utveckling för mobiler i C#. Konceptet har på ett par år utvecklats enormt och har blivit ett intressant alternativ när man ska utveckla en mobilapp som riktar sig till flera plattformar.
Men PhoneGap då? Jag tror att det i många fall kan vara en bra lösning, speciellt ifall det är en “liten” app som är ett komplement till någon annan tjänst. Men ifall appen är det centrala i ens affär kan det vara bra att satsa på att bygga den med “native”-känsla till de olika plattformarna.
Mycket av kodbasen kan vara delad och med god arkitektur separerar man logik från presentation. Det finns “bindings” i C# för de olika nativa användargränssnitten och dess kontroller. Det man bör tänka på när man designar sitt användargränssnitt är “metaforerna” i de olika systemen, dvs. hur kontroller och flöden fungerar, så användare känner igen sig i din app.
Cross-platform utveckling av mobilappar i C# är ett intressant alternativ, speciellt ifall man har kunskaper i C#.NET och man utvecklar en avancerad app där man kan dra nytta av delad kodbas.
Weikko Aejmelaeus
.NET-utvecklare på Dynabyte