Mostek dla aplikacji klasycznych — Win32 to nie UWP
Wraz z wprowadzeniem systemu Windows 8, instalacja aplikacji możliwa jest z poziomu wbudowanego sklepu. Początkowo instalować w ten sposób można było tylko aplikacje specjalnie pisane na nowy system. W Windows 10 wprowadzono platformę uniwersalną systemu Windows(UWP), która pozwala tworzyć jedną wersję aplikacji na różne wersje systemu. Nadal w sklepie możliwe było tylko umieszczanie aplikacji tworzonych specjalnie na Windows 10. Twórcy klasycznych aplikacji skazani byli na dotychczasowe sposoby dystrybucji oprogramowania. Z pomocą przyszedł im mostek dla aplikacji klasycznych.
Mostek ten pozwala na umieszczanie w sklepie klasycznych aplikacji Win32, bez potrzeby żadnych zmian w kodzie, jak również stopniowe migrowanie kodu na platformę UWP. Aplikacje przygotowane z pomocą mostka można uruchamiać w Windows 10 1607 i nowszych.
Na stronach Microsoftu znajdziemy opis mostka, zasadę jego działania, jak również przykłady użycia. Wśród zalet wymienione są Usprawnione wdrażanie oraz Większy zasięg i łatwiejsza komercjalizacja. W skrócie, mostek pozwala na dystrybucję przez sklep już istniejących aplikacji i późniejsze ich aktualizowanie. Jako ostatnie wymienione jest Więcej możliwości na różnych urządzeniach. Tutaj należy przytoczyć pełny opis:
Używając mostka dla aplikacji klasycznych, możesz stopniowo migrować kod na platformę uniwersalną systemu Windows (UWP), aby dotrzeć do każdego urządzenia z systemem Windows 10, w tym do każdego telefonu, konsoli Xbox One i urządzenia HoloLens.
W tej opcji za pomocą mostka, autor aplikacji może stopniowo lub w całości przepisać kod swojej aplikacji na platformę UWP.
Pełne zrozumienie działania mostka umożliwia film umieszczony na podanej wcześniej stronie. Znajdziemy tam taki oto schemat:
I
Istniejąca aplikacja Win32 zamiast używać zwykłego instalatora może zostać zapakowana w paczkę APPX i dystrybuowana przez sklep. Windows App package jest tylko specjalnym rodzajem opakowania aplikacji dystrybuowanych przez sklep. Tak jak normalnie aplikacje pakowane są w specjalnie instalatory np. MSI, tak tutaj jest to specjalny format obsługiwany przez sklep.
II
Do aplikacji Win32 mogą zostać dodane api UWP, jak żywe kafelki czy usługi.
III
Jest to połączenie aplikacji Win32 i UWP. Przydatne jeśli jakiś funkcji nie można przepisać na UWP. W ten sposób można stworzyć aplikację UWP, pod którą część funkcji nadal wykonuje aplikacja klasyczna.
IV
Przepisanie całego kodu na UWP. Nowa wersja aplikacji może działać na wszystkich urządzeniach wspierających UWP.
W praktyce w większości przypadków mamy do czynienia tylko z pierwszą opcją, czyli umieszczenie w sklepie klasycznej aplikacji Win32 praktycznie nie mającej nic wspólnego z UWP. Z popularnych aplikacji w sklepie wspomnieć można o:
- IrfanView/IrfanView64 - program występuje w sklepie osobno jako wersja x86 i x64. Już po tym widać, że nie jest to aplikacja uniwersalna. Dodatkowo wersja sklepowa nie pozwala na doinstalowanie pluginów.
- CrystalDiskMark 5 - aplikacja x86/x64. Tym razem jedna pozycja w sklepie dostępna automatycznie w zależności od wersji systemu. Tu nawet poniosło trochę autora aplikacji i dodał UWP w nazwie.
- Krita - aplikacja x64. Aplikacja płatna, niedostępna na Windows 10 x86. Wersje x86 i x64 dostępne do zwykłego pobrania na stronie www.
- Spotify Music - aplikacja x86.
Jeśli przejrzymy komentarze pod niektórymi aplikacjami to zauważymy, że ich użytkownicy również często myślą , że mają do czynienia z prawdziwymi wersjami UWP.
Po czym rozpoznać aplikację Win32?
Najczęściej widać to już na pierwszy rzut oka. Aplikacja wizualnie wygląda tak samo jak ta dystrybuowana innymi drogami. Jeśli widzimy drobne różnice, ale aplikacja zawiera klasyczne kontrolki, w tym na przykład menu to mamy pewność, że to aplikacja Win32.