Znika podział na „nowoczesne” i „klasyczne” aplikacje Windows. UWP i Win32 stają się jednością
Projekt Universal Windows Platform stracił swój sens. Szkoda jednak by było, by zestaw nowoczesnych frameworków i API przepadł na rzecz ciut archaicznych klasycznych rozwiązań. Na szczęście tak się nie stanie.
Wraz z rosnącą popularnością ultramobilnych urządzeń typu iPhone i iPad szybko się okazało, że Microsoft nie ma właściwie żadnej propozycji dla programistów chcących tworzyć aplikacje dla urządzeń podobnego rodzaju – ale z Windowsem na pokładzie. Tak zwane aplikacje Win32 (jest to nazwa niewłaściwa i umowna – ale się przyjęła) wykorzystują mechanizmy projektowane z myślą o desktopach i laptopach. Nie o stale połączonych z Siecią energooszczędnych urządzeniach z małymi, dotykowymi wyświetlaczami.
Tak powstał zupełnie nowy model aplikacji, stworzony specjalnie dla Windows 8 o nazwie Metro/Modern i który został rozwinięty w Windowsie 10 jako Universal Windows Platform. Nowoczesny framework zapewniał pięknie skalujące się interfejsy – od telefonicznego aż po duże desktopowe monitory – i kulturę pracy przystosowaną do nowoczesnego, ultramobilnego świata. Jest tylko jeden problem.
Microsoft przegrał walkę o telefony i tablety. Windows Phone i Windows 10 Mobile wylądowały na śmietniku historii, a tablety Surface Pro – i ich klony od partnerów Microsoftu – zostały zredukowane do roli malutkich laptopów z odczepianą klawiaturą i dotykowym interfejsem. Liczba powodów by którykolwiek deweloper chciał wykorzystać Universal Windows Platform znacząco się zmniejszyła.
Zmniejszyła – tak. Ale UWP nadal ma wiele przewag nad Win32. Poznajcie Project Reunion.
A te bez wątpienia są użyteczne również i w przypadku klasycznych przenośnych urządzeń z Windowsem, takich jak ultrabooki czy wspomniane wyżej hybrydowe tablety. Nowoczesne kontrolki, skalujący się interfejs, kontrola uprawnień aplikacji i szeroko rozumiana energooszczędność czy kultura pracy są równie przydatne w telefonach komórkowych, co w notebookach. Jak więc przekonać twórców aplikacji do korzystania z Universal Windows Platform, a zarazem by wpoić im że nie muszą już ich dostosowywać do najsłabszej formy, jaką jest system na telefony?
Zdecydowano, że wpajać im tego nie należy. Ogłoszona na konferencji Build 2020 inicjatywa Project Reunion uwalnia platformę UWP od jej zamkniętego ekosystemu, pozwalając twórcom aplikacji na dowolne mieszanie elementów Windows API (Win32) i UWP w ich tworach. Programy tworzone w C++, WPF, Windows Forms, UWP, WebView 2 (Chromium) czy React Native mogą być rozwijane o dowolny element dostępny w dowolnej obsługiwanej platformie deweloperskiej i w ramach modelu interfejsu WinUI 3.0.
To oznacza, że budowanie nowoczesnych aplikacji na Windowsa nigdy nie było tak łatwe. Co więcej, Project Reunion – co szczególnie ważne – pozwala też rozwijać się istniejącym aplikacjom, które teraz bez przepisywania ich na nowo mogą zyskiwać kolejne nowoczesne moduły. Warto przypomnieć, że jednym z największych problemów w popularyzacji UWP była konieczność przepisywania klasycznych aplikacji na nowo – a mało który deweloper skłonny był wyrzucić lata – a czasem i dekady – swojej pracy do śmietnika, tylko po to, by było nowocześnie.
Project Reunion to w mojej subiektywnej ocenie najważniejsza – ex equo z usprawnieniami dla Fluid Framework – z nowości zakomunikowanych deweloperom w ramach dedykowanej im konferencji Build 2020. Na dziś trudno sobie wyobrazić bardziej przyjazny dla twórców aplikacji system od Windowsa. A przecież to zawsze przekłada się na korzyści dla użytkowników końcowych w postaci jeszcze lepszych aplikacji.