Tak, tak, to nie prima aprilis! Xamarin od wczoraj jest zupełnie za darmo dla użytkowników Visual Studio! Zatem, jeśli programujesz w C#, czy może w F#, możesz bez dodatkowych kosztów robić aplikacje mobilne na Androida, iOSa czy platformy oparte na Windowsie. Z wczorajszego przemówienia Scotta Guthrie na konferencji Build 2016 utkwiło mi w pamięci:
“There’s never been a better time to be a developer”
Scott Guthrie
Obok niedawnego ogłoszenia, że Bash będzie mógł być uruchamiany na Windowsie, informacja o powszechnym udostępnieniu Xamarina jest niewątpliwie hitem konferencji Build 2016. Microsoft, pod wodzą Satya Nadelli, systematycznie dąży do tego, żeby ich system operacyjny stał się bardziej przyjazny dla developerów tworzących oprogramowanie na inne platformy. Już latem tego roku dostępny będzie także “Ubuntu for Windows”. Może nie będzie miało to większego znaczenia dla końcowego użytkownika, ale prawdopodobnie ułatwi życie wielu programistom, którzy będą mogli uruchamiać linuxowe narzędzia spod Windowsa. Kolejnym przykładem otwarcia się na inne platformy było zeszłoroczne wydanie edytora Visual Studio Code, który można zainstalować również na Linuxie albo Macu. Dodajmy do tego, że coraz więcej rzeczy jest open-source, jak np. platforma .NET Core, Mono Project czy niedługo Xamarin SDK. Widać zatem, że inżynierowie z Redmond nie próżnują i chyba powoli pozbywają się niechęci i hejtu wielu zaawansowanych użytkowników ich produktów.
Xamarin to narzędzie pozwalające na pisanie natywnych aplikacji mobilnych na Androida, iOSa i Windowsa przy użyciu języka C# i wykorzystaniu natywnego interfejsu użytkownika danej platformy. Największą zaletą jest to, że do pewnego stopnia kod może być współdzielony pomiędzy te wszystkie platformy. Celem jest jak najszybsze napisanie aplikacji na Androida, iOSa i Windowsa bez wchodzenia w poszczególne języki czyli odpowiednio Javę, Objective C/Swift i C#/C++. Według twórców współdzielony kod może osiągać 70% objętości całego kodu. To jeszcze nie wszystko. Jeśli nie mamy potrzeby wykorzystywać funkcji, które są specyficzne dla danej platformy, a GUI nie musi być dopieszczone dla każdej platformy z osobna, możemy użyć Xamarin.Forms, gdzie współdzielony kod to nawet 96%!
Źródło: https://twitter.com/windowsdev/status/715569526281224192?lang=en
Wydaje się, że zalet jest dużo, jednak użytkownicy wciąż zgłaszają dużo błędów. Niektórzy narzekają na wagę tworzonych aplikacji, wcale nie tak dużą część współdzielonego kodu, czy ograniczenia w tworzeniu GUI. Mimo wszystko, technologia wygląda bardzo zachęcająco, rozwija się teraz pod szyldem Microsoftu i nic dziwnego, że ostatnio Xamarin zdobywa coraz większą popularność wśród developerów. Według ostatnich szacunków jest już ich około miliona. Jednak do tej pory nie każdy mógł sobie pozwolić na użycie tego narzędzia. Licencja dla prywatnej osoby kosztowała 25$/miesiąc, wersja Business już 999$ za rok a wersja Enterprise – 1899$. Istniała co prawda wersja Starter, ale była bardzo mocno ograniczona i właściwie nic poważnego nie dało się w niej napisać. Teraz Xamarin otwiera się na wszystkich, którzy chcą go spróbować. Będzie dostępny wraz z Visual Studio – i to w darmowym Community Edition! Jedynie niektóre bardziej zaawansowane funkcje jak Embedded Assemblies, Xamarin Inspector Preview czy Xamarin Profiler Preview będą wymagały licencji Visual Studio Enterprise.
Jeszcze 2 tygodnie temu mocno się zastanawiałem czy wejść w Xamarina w drugiej części mojego projektu Flover. Bardzo chciałem spróbować. Jednak oprócz 25$/mc czekała mnie jednorazowa opłata 50$ za użycie biblioteki PCL – Accord.net do przetwarzania obrazów i Machine Learningu. Postawiłem na nią w projekcie, co opisałem w Planie działania. Na początku pobawię się z darmową wersją biblioteki, która jednak zostawia watermark na obrazach. Pewnie będzie to trochę przeszkadzać, więc liczę się z tymi 50$. Jak na prywatny projekt koszty zatem nie były małe (25$/mc + 50$ jednorazowo) a poza tym podstawowa licencja Xamarina nie pozwalała pisać w Visual Studio. Biorąc wszystko pod uwagę, nie byłem zachwycony tym wyborem. Teraz sporo tej kwoty odeszło w niepamięć a wszystko będzie można tworzyć w VS! – cóż za perfekcyjny timing 🙂 Czym prędzej więc muszę skończyć pierwszy, desktopowy etap i jeszcze bardziej zmotywowany zacząć zabawę z Xamarinem. Let’s go mobile!