Links

iOS, Android és Windows Phone keresztfejlesztés .NET-ben

In Új kínálat/stratégia on 2012. szeptember 21. péntek by Nacsa Sándor Címkézve: , , , , , , , , , , , , , , , , , , , , , , ,

A Xamarin tegnap jelentette be, hogy együttműködik a Microsoft-tal az augusztus 28-án bejelentett Azure Mobile Services kliens oldali kiaknázásában. Ezzel már látszik, hogy miként valósul meg a hét elején általam még csak ígéretként jelzett állítás, nevezetesen Az eredeti .NET jövőkép első megvalósulása: .NET Framework 4.5 … Windows Azure Mobile Services Window 8/RT, Windows Phone, iOS és Android kliensekkel utolsó része.

A Xamarin megoldás speciális előnye, hogy mindhárom platformon az ott elérhető legnagyobb hatékonyságúként működik a közös C# kód. Az iOS-en úgy, hogy assembly kód generálódik, az Android az ottani Dalvik-nak megfelelő IL kód, míg természetesen a Windows Phone-on a .NET Framework IL kód.

Funkcionálisan a Silverlight 4-el ekvivalensnek mondja a már kipróbálható Xamarin Mobile Services-t a Xamarin. Ez persze nem azt jelenti, hogy az SL4 XAML kódját protolja valamilyen eszköz. Minden célplatformon az arra jellemző UI keretrendszerben kell dolgozni.

Az iOS esetében az Apple CocoaTouch SDK-t “jeleníti meg” a Xamarin MonoTouch (az iOS-en “.NET-et” megvalósító Xamarin termék), és az abban lévő MonoTouch.UIKit API-k segítségével lehet teljesen natív iOS kinézetű alkalmazásokat előállítani. Opcionálisan az Apple Xcode Interface Builder-t is segítségül lehet venni ehhez.

Az Android esetében a Xamarin Mono for Android terméke a Google Android SDK-t hozza be C# szintre, ahonnan ezután az Android.Views segítségével lehet az ottani UI control-okat használni. A Xamarin saját “Android drag-and-drop UI designer”-t készített az Android esetén támogatott MonoDevelop és Visual Studio IDE-khez.

A Xamarin MonoTouch (másnéven Xamarin.iOS) és a Xamarin Mono for Android (másnéven Xamarin.Android) a Mono keretrendszeren alapul, mely a .NET Framework nyílt forrású, a .NET ECMA szabványok alapján elkészített változata. A Windows Phone esetén természetesen nem kell Mono alapú Xamarin termék, ahogyan a felhasználói felület fejlesztés is a Visual Studio “drag-and-drop UI designer”-ével vagy Blend-el végezhető.

Mindebből már látszik, hogy az IDE támogatás a következő:

Mindezek alapján az is világos, hogy a Xamarin megoldás a UI tekintetében nem teljesen portábilis. Ugyanakkor a Xamarin dokumentációk részletesen kifejtik, hogy:

  1. Vannak mindhárom platformon hasonló “UI metafórá”-k (pl. a hasonló “scrolling-list control”-ok) és – kisebb részben – platform-specifikus UI metafórák (pl. az iOS-nél “hierarchical navigation with soft back button”, az Android-nál “tabs on the top of the screen”, vagy a Windows Phone-nál a “panorama layout control”). Ezek megfelelő figyelembe vételével a közös kód részaránya igen magassá tehető.
  2. Az MVC vagy az MVVM tervezési minták megfelő használatával még tovább növelhető a közös kód részaránya.

A Xamarin állítása az, hogy akár 90%-ban közössé tehető a C# kód, miközben mindegyik platformon teljesen natív kinézetű az elkészült alkalmazás, és ugyanolyan hatékonyságú, mintha teljesen platform-specifikusan készült volna a kód.

Jómagam a lehető legszélesebb értelemben, azaz Az eredeti .NET jövőkép első megvalósulása: .NET Framework 4.5 … Windows Azure Mobile Services Window 8/RT, Windows Phone, iOS és Android kliensekkel állításnak megfelelően, látom óriási jelentőségűnek a Xamarin Mobile Services bejelentést. Ezért az itt megjelent, ezen állítás mögötti, tételes trendkövető összeállításom, a The cloud experience vision of .NET by Microsoft 12 years ago and its delivery now with Windows Azure, Windows 8/RT, Windows Phone, iOS and Android among others [Experiencing the Cloud blog, Sept 16-20, 2012] című bejegyzés utolsó, “Windows Azure Mobile Services (Preview) for the “reborn” June 2012 release of Windows Azure” című, utolsó szekcióját frissítettem a fentieknél sokkal részletesebb szakmai információval.

Mivel a Xamarin-ra vonatkozó ottani információk meglehetősen terjedelmes anyagok erősen a lényegre szűkített kivonatai, ráadásul megfelelő kiemelésekkel, érdemes tételes trendkövető összeállításomban oda navigálni (sajnos csak pörgetéssel megy). Amennyiben valaki inkább a teljes és/vagy kiemelés nélküli forrásokat preferálja, azok a következők voltak:

  1. Xamarin partners with Microsoft to support Windows Azure Mobile Services on Android and iOS [Xamarin blog, Sept 20, 2012]
  2. Overview of Xamarin: Build iOS and Android Apps in C# [July 24, 2012]
  3. Introduction to Mobile Development [Xamarin, Aug 29, 201
  4. Building Cross Platform Applications [Xamarin documentation, July 21, 2012]
    Best Practices for Developing Mobile Applications with Xamarin
  5. About Xamarin

Jómagam úgy kommentáltam mindezt a VNext.hu FB csoportban tegnap:

A kiegészítések egy komplett kigyüjtést mutatnak a Xamarin legújabb, "Xamarin Mobile Services" állapotáról. HIHETETLENÜL LENYŰGÖZŐ!!! Ezzel végképp megvalósul az eredeti .NET jövőkép!

Ugyanott az általatok jó ismert Velvárt András ezt írta:

Hihetetlen, hogy a HTML5 korában a .NET lesz a lingua franca🙂

Mi a ti véleményetek?

2 hozzászólás to “iOS, Android és Windows Phone keresztfejlesztés .NET-ben”

  1. Egy natív alkalmazással soha nem ér fel a HTML5

  2. […] szept 16.). Megjegyzem, hogy a Xamarin lehetőségről is volt már korábban itt beszámoló: ld. iOS, Android és Windows Phone keresztfejlesztés .NET-ben (2012. szeptember […]

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: