Dlaczego MAUI zastępuje Xamarin.Forms?

Dlaczego MAUI zastępuje Xamarin.Forms?

Autor: Miłosz Pawłowski

Opublikowano: 2/4/2022, 7:00 PM

Liczba odsłon: 8446

Na początku stycznia 2021 Microsoft opublikował ostatnią wersję Xamarin.Forms 5.0 oraz zapowiedział, że jest to finalna aktualizacja wprowadzająca nowości. Tym samym siły zespołów deweloperskich zostały przekierowane do pracy nad zapowiedzianym pół roku wcześniej frameworkiem MAUI, a wcześniejsza technologia będzie otrzymywała jedynie zmiany serwisowe aż do momentu oficjalnego wydania następcy, co jest planowane na drugi kwartał 2022 roku.

Pomimo niechęci wielu osób do tej zmiany nie jest ona wprowadzana bez przyczyny. Xamarin.Forms posiada wiele mankamentów, które potrafią doprowadzić programistów do szewskiej pasji. Co więcej, niektóre wprowadzone funkcjonalności działały tylko w teorii. Dobrym przykładem jest tworzenie aplikacji na komputery. Mimo tego, że framework był w pierwszej kolejności tworzony na urządzenia mobilne z systemami iOS i Android, to udostępniał również narzędzia do realizacji dla systemu macOS i Windows. Ich działanie jednak jest wątpliwe, a programiści uważają je jedynie za wersję poznawczą, co przekłada się na brak ich wykorzystania przez przedsiębiorstwa. .NET MAUI w założeniu ma wspierać od samego początku wszystkie systemy operacyjne, co stanowi wielką zmianę dla przyszłego jego wykorzystania.

Inną niedogodnością, która powoduje konieczność wykonywanie tej samej pracy po kilka razy, jest posiadanie osobnych projektów dla każdej platformy. Podczas tworzenia aplikacji z wykorzystaniem Xamarin.Forms należy przechowywać te same obrazy i czcionki oraz instalować te same pakiety NuGet dla każdego systemu operacyjnego osobno. Jest to też przyczyna późniejszych rozbieżności w przypadku wykonania zmian z pominięciem któregoś projektu. Nadchodzący framework MAUI w pełni rozwiązuje wspomniany problem poprzez ujednolicenie struktury do jednego projektu.

Jednym z największych niewygód podczas pracy z Xamarin.Forms jest brak funkcji Hot Reload dla części logicznej aplikacji oraz niedoskonała i często działająca źle jego wersja do odświeżania UI. Konieczność przebudowania całego projektu po wykonaniu drobnej zmiany powoduje, że praca wydłuża się, a sam framework jest mniej chętnie wybierany w stosunku do React Native lub Fluttera, które taką funkcjonalność posiadają. Microsoft zapowiedział, że .NET MAUI będzie posiadał kompletne wsparcie dla Hot Reload, co powinno mocno spopularyzować jego wykorzystanie w przyszłych komercyjnych projektach.

Nowy framework ma również poprawić wydajność uruchomienia oraz działania aplikacji mobilnych, wprowadzić możliwość pracy z wykorzystaniem Visual Studio Code oraz zminimalizować ilość kodu pisanego osobno dla każdego systemu operacyjnego. Ostateczny wynik prac poznamy w drugim kwartale 2022 roku, a do tego czasu pozostaje kontynuować pracę z wykorzystaniem Xamarin.Forms.