Kiedy mowa o programowaniu na iOS i Androida, pierwsze przychodzą na myśl Objective-C, Swift i Java. Są dobrze znane jako natywne zestawy technologii i najczęściej właśnie z nich się korzysta. Wygodne i przyjazne aplikacje można jednak robić rozmaicie. Przyjrzyjmy się Xamarinowi i porównajmy go z podejściem natywnym i wieloplatformowym.
Czym jest Xamarin?
Xamarin to narzędzie do wieloplatformowego tworzenia aplikacji mobilnych, które pozwala używać około 90 procent wspólnego kodu na głównych platformach. Jest stosunkowo młody, opiera się na technologiach Microsoftu i ma już społeczność ponad 1,4 miliona programistów.
Platformę stworzyli ci sami ludzie, którzy stali za Mono — otwartoźródłowym środowiskiem opartym na .NET Framework, pokazanym po raz pierwszy w 2001 roku. Firmę Xamarin założono 16 maja 2011 roku.
Początkowo Xamarin był projektem komercyjnym, ale w 2016 roku Microsoft kupił firmę. Xamarin stał się popularnym produktem wieloplatformowym dla społeczności wokół ekosystemu Microsoftu i bariera finansowa dla jego użycia zniknęła. Kiedy Microsoft otworzył kod Xamarin SDK, wszedł on do środowiska Xamarin Visual Studio.
Główne możliwości
Żeby robić aplikacje na wszystkie platformy mobilne, Xamarin używa jednego języka — C#. Xamarin kompiluje się natywnie, więc dobrze nadaje się do szybkich aplikacji o natywnym odczuciu.
C# to język wieloparadygmatowy z surowym typowaniem, które chroni kod przed nieoczekiwanym zachowaniem. Należy do języków .NET, dostępne są więc takie rzeczy jak lambdy, LINQ i programowanie asynchroniczne.
Mówiąc technicznie, Xamarin używa C# i natywnych bibliotek z warstwy .NET do tworzenia aplikacji wieloplatformowych.
Takie aplikacje można porównywać z natywnymi zarówno dla iOS, jak i dla Androida — i pod względem szybkości, i wygody. Co więcej, Xamarin daje dostęp do wszystkich natywnych i najświeższych API, by korzystać z możliwości platformy: choćby ARKit na iOS albo tryb wielu okien w Androidzie.
Z Xamarinem można zrobić osobną warstwę interfejsu pod każdą platformę, a kod logiki biznesowej, pracy z bazą danych i siecią zostawić wspólny. Dlatego aplikacje wieloplatformowe na Xamarinie wyglądają na każdym urządzeniu całkiem natywnie i dają lepsze wrażenia niż zwykłe aplikacje hybrydowe.
Jak przebiega kompilacja?
Platforma Xamarin ma dwa podstawowe produkty — pod iOS i Androida, a kompilują się one różnie.
- Xamarin.iOS. Kod źródłowy kompiluje się wprost do natywnego kodu ARM (kompilacja z wyprzedzeniem).
- Xamarin.Android. Aplikacje androidowe najpierw kompilują się do języka pośredniego, a dopiero potem — do kodu natywnego w czasie wykonania.
Mimo tej różnicy w obu wypadkach kompilacja przebiega samoczynnie i uwzględnia takie rzeczy jak przydział pamięci, sprzątanie nieużytków i współdziałanie z platformą.
Budowa projektu Xamarin
Większość projektów na Xamarinie zakłada pracę na komputerze z Windowsem, na którym zainstalowano Visual Studio i Xamarina. Aplikację można odpluskwiać wprost z pulpitu — na urządzeniach albo w emulatorach. Robienie aplikacji na iOS pod Windowsem również jest możliwe: Visual Studio łączy się z projektantem storyboardów i symulatorem iOS.
Xamarin podbija świat. Przez ponad siedem lat istnienia urósł do 1,6 miliona programistów w 120 krajach, a Microsoft kupił go, by uczynić częścią środowiska Visual Studio. Dzięki temu Xamarina wybrało 15 000 firm w takich dziedzinach jak energetyka, transport, media, ochrona zdrowia i wiele innych. (c) Źródło