3

Project Centennial receptą na brak aplikacji w Sklepie Windows? To świetny pomysł, ale ma swoje wady

Co by nie mówić, Windows to mimo wszystko platforma z największym wsparciem przeróżnej maści deweloperów. Nie widać tego może w jednej z odnóg działalności Microsoftu - urządzeniach mobilnych, ale na rynku pecetowym niepodzielnie rządzi Windows, który może się pochwalić nieprzebranymi pokładami aplikacji dostępnych dla tego systemu. Obok aplikacji .NET / Win32 pojawiły się również aplikacje ze Sklepu, które bazują na immersywnym trybie pracy z Windows 8.1/10. Nic dziwnego, że te dwie sfery Microsoft będzie chciał zunifikować - właśnie dzięki Project Centennial.

Czym jest Project Centennial?

W ogromnym skrócie mamy do czynienia z jednym z „pomostów” obok wygaszonej Astorii (Android), Westminstera (aplikacje webowe) i Islandwood (iOS). Microsoftowi jako gigantowi technologicznemu zależy na jak najlepszej kondycji zunifikowanej platformy, odpowiedzią na to jest Universal Windows Platform, który pozwala na przygotowanie aplikacji, które posiadają jeden kod dla każdej klasy urządzeń (Surface Hub (?) -> Xbox -> W10PC -> W10M (Continuum)), pozwala to deweloperom na skrócenie czasu potrzebnego na przygotowanie konkretnej aplikacji przy zachowaniu przyzwyczajeń osób tworzących oprogramowanie (ze względu na dostępność frameworków). W skrócie – pomosty skracają czas potrzebny na przygotowanie aplikacji uniwersalnych, przy dokonaniu niewielkiej liczby zmian w kodzie.

Na temat UWP można napisać prawdziwy elaborat – niuansów na temat rozdzielności funkcji ze względu na klasę urządzeń, czy specyfiki przechowywania danych przez aplikację jest mnóstwo. Jednym z ważniejszych problemów w przypadku UWP jest chociażby brak kontroli nad ścieżką instalacji, brak możliwości późniejszej ingerencji w aplikację, czy niemożność uruchomienia aplikacji w trybie jądra (czyli nie załadujemy dodatkowych sterowników, nie odpalimy aplikacji powiązanej ściśle ze systemem). Z jednej strony jest to dobra wiadomość dla maniaków bezpieczeństwa – z drugiej jednak w przypadku sztuczek dotyczących kompatybilności wstecznej – te przestaną działać ze względu na specyfikę UWP (na dobrą sprawę nie muszą, nie muszą być kompatybilne z niczym innym, jak z Windows 10).

project centennial

Project Centennial w idei jednego Windows pozwala na proste przeniesienie aplikacji Win32 / .NET do Sklepu (CWA -> AppX). Udostępnienie narzędzi dla deweloperów w kręgu Centennial pozwoli na prosty dostęp do wyspecjalizowanych API. Microsoft ma nadzieję, że choćby niewielki procent zdecyduje się na użycie Centenniala do przeportowania swoich aplikacji. Według ostrożnych szacunków istnieje 60 milionów aplikacji klasycznych dla Windows – to ogromna baza. Centennial nie jest jeszcze gotowy i nie został udostępniony szerszej liczbie deweloperów, jest na razie testowany przez garstkę i ta grupa przekazuje regularnie Microsoftowi stosowne uwagi odnośnie funkcjonowania narzędzi. Microsoft sam pracuje nad Office 2016 opartą o Centenniala i będzie to jeden z poważniejszych sprawdzianów dla tego pomostu.

Podsumowując, Centennial pozwala na przygotowanie aplikacji W32 / .NET do formy obsługiwanej przez Sklep Windows. UWP to również nowy poziom bezpieczeństwa aplikacji – z powodów, które wskazałem powyżej, są one obkładane pewnymi ograniczeniami, jednak dla ogólnego bezpieczeństwa systemu jest to solidny krok naprzód. Aplikacje Win32 / .NET ze względu na swoją specyfikę mają dostęp (za przyznaniem praw administratora) do trybu jądra. Zestawmy to z sandboxem dostępnym dla aplikacji UWP (ze wskazaniem na wirtualizację App-V Microsoftu). Wiadomo od razu, że jedną z zalet UWP jest bezpieczeństwo. Płacimy za to pewnymi ograniczeniami płynącymi ze specyfiki działania AppX.

project centennial

Project Centennial tak dobry, jak bardzo polubią go deweloperzy

Podstawowym pytaniem, jakie należy sobie zadać przy okazji rozważań nad Centennialem, to jego przydatność deweloperom. Dla jednych wejście w Sklep Windows za pomocą Centenniala może okazać się być atrakcyjną alternatywą, szczególnie w przypadku aplikacji, które nie odwołują się do sterowników i nie wymagają trybu jądra. Z drugiej jednak, ograniczona kontrola użytkownika nad działaniem aplikacji, potrzeba przebudowania niektórych funkcji na potrzeby UWP może okazać się dla twórców nieatrakcyjne. Microsoft nie będzie naciskał na to, by deweloperzy masowo przenosili się z Win32 / .NET do UWP, ale da im taką możliwość, jeżeli uznają to za stosowne. Niektórym, zwłaszcza twórcom gier może nie spodobać się ograniczenie kontroli nad aplikacją, czy brak dostępu do pewnych sztuczek optymalizacyjnych. Centennial nie jest zatem kompletną receptą na braki w Sklepie Windows, lecz stanowi pozytywną prognozę dla nowej generacji aplikacji dostępnych dla platformy Windows, szczególnie w kontekście tych propozycji bazowo napisanych dla Win32 / .NET.

Źródło informacji: MSDN