Autor | Microsoft |
---|---|
Język programowania | C++ |
System operacyjny | Windows 10, Windows 10 Mobile, Windows 10 IoT, Windows 11, Xbox One, Windows Mixed Reality, Xbox One X, Xbox Series X/S |
Rodzaj | Interfejs programowania aplikacji |
Universal Windows Platform (UWP) – interfejs API stworzony przez Microsoft i po raz pierwszy użyty w systemie Windows 10. Jego celem jest ułatwienie pisania aplikacji uniwersalnych , działających zarówno na komputerach, jak i telefonach, konsolach Xbox One oraz okularach HoloLens bez potrzeby ich przepisywania dla każdego rodzaju urządzeń. Obsługuje języki C++, C#, VB.NET, XAML oraz JavaScript[1]. Jest następcą Windows Runtime zaprojektowanego dla systemów Windows 8 i Windows Server 2012.
UWP jest częścią systemów z rodziny Windows 10. Z tego powodu aplikacje uniwersalne wykorzystujące ten interfejs nie działają we wcześniejszych wersjach środowiska. Programy go implementujące są pisane za pomocą Visual Studio w wersji 2015 lub nowszej. Starsze, napisane dla Windows 8.1 i/lub Windows Phone 8.1, wymagają pewnych modyfikacji, aby mogły obsługiwać UWP[2][3].
Podczas przemówienia na konferencji Build 2015 zostały zaprezentowane tzw. mosty UWP służące do przenoszenia oprogramowania wydanego na systemy Android i iOS na Windows 10 Mobile[4]. Most dla systemu Android (nazwa kodowa Astoria) pozwalał na publikację aplikacji napisanych w Javie oraz C++ w Sklepie Microsoft oraz na ich uruchamianie w specjalnym kontenerze, który tłumaczył wywołania systemowe na odpowiadające im na platformie UWP. Kevin Gallo, lider Windows Developer Platform, wyjaśnił, że taka metoda ma pewne ograniczenia – niektóre usługi Google Play oraz interfejsy API nie są dostępne i ze względu na to, niektóre aplikacje, głęboko integrujące się z systemem i wymagające ciągłej pracy w tle (np. niektóre komunikatory), mogą nie działać poprawnie[5][6]. Natomiast most dla systemu iOS (nazwa kodowa Islandwood) jest otwartoźródłowym oprogramowaniem pośredniczącym (ang. middleware), pozwalającym na konwersję projektu Xcode napisanego w Objective-C do rozwiązania Visual Studio przeznaczonego na Windows 10 Mobile[4][7][8]. Wczesna wersja mostu dla iOS została opublikowana na licencji MIT 6 sierpnia 2015, podczas gdy wersja dla Androida była wtedy w trakcie testów beta[4].
W lutym 2016 Microsoft ogłosił wstrzymanie rozwoju mostu dla Androida (Astoria), argumentując to faktem, iż iOS jest głównym systemem branym pod uwagę przy wydawaniu oprogramowania na wiele platform, a most dla iOS-a (Islandwood) daje kod natywny i nie wymaga żadnego emulatora wbudowanego w system. W zamian, programiści zostali zachęceni do korzystania z narzędzi Xamarin Mono zakupionych przez Microsoft[9][10][11].
Aplikacje uniwersalne w swoim pliku manifestu nie określają systemu, pod jaki zostały napisane, lecz podają jedną lub więcej obsługiwanych rodzin sprzętu, takich jak komputery PC, telefony, tablety czy konsole Xbox One. Program może samodzielnie sprawdzić, jakie funkcje są dostępne na danym urządzeniu i dostosować się w taki sposób, by w jak największym stopniu wykorzystać możliwości sprzętu[12]. Dodatkowo, aplikacja uruchomiona na telefonie może się zachowywać jak komputerowa po podłączeniu do stacji dokującej[13].