Jaka jest pierwsza myśl, która przychodzi ci do głowy, gdy słyszysz "Maui"? Mogę się założyć, że dla większości z was jest to postać półboga z filmu Disneya Moana. Niezależnie od wieku! Ale Maui to także hawajska wyspa. Nie żebym tam był, ale w Google wygląda oszałamiająco. Dziś dodajmy do tej listy jeszcze jedno skojarzenie: zespół .NET wydał właśnie nowy framework - .NET MAUI!

Czym jest .NET MAUI?

Semantycznie MAUI oznacza wieloplatformowy interfejs użytkownika aplikacji. Technicznie jest to wieloplatformowy framework do tworzenia aplikacji. W praktyce chodzi o napisanie jednego kodu, ale możliwość korzystania z niego w ten sam sposób w dowolnym środowisku: Windows, Android, iOS lub w przeglądarce. To coś wielkiego! Możesz nie tylko napisać większość aplikacji w C#, ale jednym kliknięciem przycisku wygenerować natywną wersję dla wszystkich głównych platform. Rozwój mobilny, desktopowy i webowy w jednym.

Jak działa .NET MAUI?

.NET MAUI wprowadza interfejsy API, które umożliwiają programistom dostęp do natywnych możliwości platformy. W bardzo ogólnym zarysie - MAUI jest warstwą abstrakcji na szczycie już istniejących frameworków specyficznych dla platformy, takich jak .NET dla Androida, .NET dla iOS, .NET dla macOS i Windows UI. Dzięki temu szczegóły implementacji nie mają znaczenia, a interpretacja logiki jest obsługiwana w ramach frameworka. W pełni przejrzyste dla dewelopera. Wszystko to dzięki wykorzystaniu .NET 6 BCL, który umożliwia tłumaczenie języka C# na kod natywny.

.net maui framework
źródło: https://docs.microsoft.com/en-us/dotnet/maui/

Co .NET MAUI oznacza dla biznesu?

Spójrzmy prawdzie w oczy, z wyjątkiem rozwiązywania bardziej złożonych problemów, coraz więcej codziennych użytkowników korzysta z aplikacji na swoich telefonach komórkowych, tabletach i innych urządzeniach przenośnych. Nie sądzę, by era komputerów osobistych miała się ku końcowi, ale faktem jest, że aby rozszerzyć swój zasięg organiczny, musisz rozszerzyć swoją ofertę techniczną. Oznacza to zaspokojenie potrzeb potencjalnych użytkowników na wybranym przez nich urządzeniu. To właśnie dostępność mobilnej wersji aplikacji jest decydująca przy wyborze oferty programistycznej!

TikTok to głównie aplikacja na urządzenia mobilne. Mają dostępną wersję internetową, ale nie jest to ich główny cel. Staje się to oczywiste po porównaniu ich funkcjonalności. A jednak zaangażowanie platformy jest ogromne. Ile innych aplikacji masz na swoim telefonie komórkowym, które w ogóle nie są dostępne w sieci?

Tworzenie natywnych aplikacji jest kosztownym przedsięwzięciem. Chyba że... weźmiemy pod uwagę .NET MAUI. Użyjmy samochodu jako analogii. Twój zespół zbudowałby tylko jeden silnik, który pasowałby do nadwozia samochodu dowolnej marki. Główną inwestycją byłoby to, co ten silnik może zrobić. Niezależnie od tego, czy zostałby zamontowany w SUV-ie, coupe czy hatchbacku, zapewnione byłyby te same wrażenia, wysoka jakość i bezpieczeństwo. Przekładając to na rozwój aplikacji, Twój zespół zbuduje wspólną logikę backendu i frontendu. Nawet statyczne części interfejsu użytkownika mogą być współdzielone! Następnie, tylko kosztem obliczeń, zostaną wygenerowane natywne aplikacje na Androida, iOS, Tizen, macOS, Windowsa, Linuksa, web (jak kto woli!).

Co .NET MAUI oznacza dla deweloperów?

Zanurzenie się w MAUI z pewnością podniesie Twoją wartość jako programisty. Blazor otworzył drzwi do rozwoju full-stack, ale .NET MAUI idzie o krok dalej, do rozwoju cross-platformowego full-stack. Tak jak w Blazor miałeś trochę CSS i HTML, w MAUI będziesz miał trochę XAML, ale prawie na tym samym poziomie, na jakim JS jest wymagany w Blazor - szczupły do zera.

Cała reszta będzie napisana w C# i najnowszym .NET 6. Wkraczasz na dobrze już znane wody. Co więcej, jedna baza kodu oznacza nie tylko znacznie mniej rozwoju, ale także znacznie mniej konserwacji. Nie zrozum mnie jednak źle - nadal masz pełną możliwość wprowadzania zmian specyficznych dla platformy. Chociaż, o ile absolutnie nie musisz iść tą drogą, unikaj tego za wszelką cenę, aby zapobiec niekontrolowanej utracie kompatybilności międzyplatformowej bazy kodu. Obowiązują te same wzorce projektowe i można przestrzegać tych samych zasad kodowania. Mimo to konfiguracja jest przechowywana jako JSON. Komunikacja zewnętrzna może odbywać się za pomocą JSON. Koncepcje wstrzykiwania zależności, czasu życia zależności i nawigacji są nadal takie same jak w innych wersjach .NET Core. Szczerze mówiąc, tak naprawdę niewiele się różni!

Nie mogę nie wspomnieć o Blazorze

Praktycznie przy każdej okazji. Jest jednak powód, dla którego warto o tym wspomnieć. Istnieje specjalna wersja .NET MAUI pod nazwą .NET MAUI Blazor App. Można ją również znaleźć jako Blazor Hybrid MAUI App. Pamiętasz cały mój spam o tym, jak niesamowity i przyszłościowy jest Blazor? Jeśli śledzisz nas w mediach społecznościowych (a absolutnie powinieneś), było wiele na ten temat. Mam nadzieję, że nawet zacząłeś budować aplikacje Blazor Server lub Blazor WASM. Możesz teraz przenieść te komponenty do .NET MAUI! Oznacza to, że przy niewielkich lub żadnych kosztach, można przekonwertować swoją aplikację internetową do dowolnej wersji natywnej platformy! To otwiera ogromny potencjalny rynek.

Gdzie dowiedzieć się więcej?

Od naszego zespołu Inspeeriteam!

Jeśli zainteresowałem Cię pomysłem .NET MAUI i chciałbyś omówić swoje wyzwania, skontaktuj się z nami. Pomożemy Ci wybrać najlepszy kierunek działania dla Twojego pomysłu. Dzięki naszemu wieloletniemu doświadczeniu w tworzeniu oprogramowania jesteśmy w stanie ocenić Twoje potrzeby biznesowe.

A jeśli chcesz dowiedzieć się więcej, kontynuować naukę i rozwijać się w dziedzinie oprogramowania - sprawdź naszą stronę Kariera, skontaktuj się z nami i dołącz do naszego zespołu. Być może jesteś dokładnie tym, kogo szukamy!

5/5 - (5 głosów)