Zmiany w krajobrazie technologicznym ostatnich lat zmusiły Microsoft do ponownego przemyślenia roli aplikacji UWP i Win32, a także Microsoft Store i swojego podejścia do Androida. Mimo pogłosek o uśmierceniu którejś z tych kategorii gigant wybrał rozsądnie i z jednej strony włączył wsparcie dla Win32 w Sklepie, a z drugiej — przyznał dostęp do funkcji UWP deweloperom klasycznych aplikacji Win32. Tym samym ekosystem Windows stał się bardziej uniwersalny, jednak programiści i użytkownicy oczekują jeszcze jednej rzeczy, a mianowicie dostępu do aplikacji UWP na Androidzie.
Jeszcze parę lat temu rozszerzenie platformy UWP na Androida wydawałoby się bezsensowne, jako że Universal Windows Platform celuje w urządzenia z Windows. To już jednak nie jest tak oczywiste, odkąd Microsoft pogrzebał Windows 10 Mobile wraz z ostatnią Lumią i zaczął agresywnie rozwijać swoje aplikacje na Androida. Przełomem okazała się również zapowiedź Surface Duo, czyli pierwszego telefonu firmy z Androidem. W takich okolicznościach aplikacje UWP można oczywiście konwertować na platformie Xamarin i publikować w Google Play Store, ale deweloperom chodzi raczej o natywne wsparcie. Czy odpowiedź na to zapotrzebowanie kryje się pod nazwą JavaWinRT?
JavaWinRT: Java language projection for the Windows Runtime https://t.co/WyZgccAoFm
— WalkingCat (@h0x0d) October 4, 2019
Na trop JavaWinRT wpadł przed paroma dniami WalkingCat. Pod nazwą tą kryje się projekcja języka Java dla Windows Runtime, czyli sposób, w jaki API tej architektury są "wystawione" dla tego języka. Niestety, repozytorium github.com/microsoft/JavaWinRT zostało już usunięte. Co ciekawe, w ostatnich dniach w Microsoft utworzono nowy Core Java Team.
Happy to share that, right after @s1p next week, I'll be moving on to work as a Product/Program Manager, together with engineers in the newly formed Core #Java team at #Microsoft led by @karianna.
— Bruno Borges (@brunoborges) October 4, 2019
Exciting times ahead!
Thank you for all the support @toddanglin @chanezon #DevRel
Zespół ten ma się koncentrować na segmencie serwerowym i optymalizacji runtime'ów oraz narzędzi Java dla usług Azure, przy czym ma on również "wewnętrznych klientów". Bruno Borges zaprzecza, jakoby zespół odpowiadał za stworzenie repozytorium JavaWinRT, niemniej jednak uznaje ten projekt za interesujący. Kolejne potwierdzenie i wyjaśnienie nadeszło ze strony Rafaela Rivery, MVP Microsoftu:
There's no such thing as a "UWP runtime". This is a projection, or facility in which Windows Runtime APIs are exposed to a particular language for use by devs. This is great news!
— Rafael Rivera (@WithinRafael) October 7, 2019
Twierdzi on, że nie ma czegoś takiego, jak "runtime UWP". Jest to raczej projekcja, rodzaj możliwości, w której Windows Runtime API wystawione są dla konkretnego języka w celu użycia przez programistów. Wygląda więc na to, że programiści Java będą mogli korzystać z wyjątkowych możliwości UWP. Wciąż jednak nie wiadomo, czy wyjdą one poza platformę Windows.
Uniwersalna Platforma Windows odnosiła wymierne sukcesy w czasach Windows Phone, a prawie miliard urządzeń z Windows 10 przynajmniej w teorii powinien być dla jej deweloperów świetną bazą, w którą celują. W praktyce wygląda to inaczej. Programiści są zainteresowani albo kategorią mobilną (a ta w świecie Windows nie istnieje), albo klasycznymi aplikacjami desktopowymi.
Odblokowanie Androida dla WinRT bądź też wypuszczenie telefonu z Windows 10X to prawdopodobnie jedyne sposoby na reanimację UWP. Microsoft zdaje sobie sprawę z dotyczących tego próśb, ale póki co spełnia je najwyżej na pół gwizdka.