Dzięki Microsoftowi wyłania się prawdziwie uniwersalny format aplikacji: Android Package
Jeszcze przedwczoraj znany w świecie Windows bloger Paul Thurrotkomentował plotki z Redmond, wyrażając swoje obawy co dosensowności strategii, mającej otworzyć platformę Microsoftu naoprogramowanie Androida. Jak usłyszeliśmy podczas wczorajszejtransmisji z konferencji BUILD, rzeczywistość okazała się gorszaod plotek (przynajmniej z perspektywy prezentowanej przez Thurrota).Na Windows będziemy mogli uruchamiać aplikacje tworzone nie tylkodla Androida, ale i dla iOS-a, znanego z najwyższej jakościdostępnego na nim oprogramowania. Jak się teraz mają czuć wszyscyci, którzy zmarnowali poświęcili długie godziny na naukęprogramowania na Windows Phone, zamiast zająć się Androidem, czyiOS-em?
Przypomnijmy to, co już wiadomo. Microsoft ogłosiłczteroetapowy plan uczynienia z Windows najbardziej uniwersalnąplatformą uruchomieniową dla oprogramowania. Po pierwsze,programiści otrzymali możliwość przekształcania serwisówwebowych i aplikacji przeglądarkowych w „okienkowe” aplikacjeWindows. Po drugie, pojawi się możliwość rozpowszechnianiaaplikacji dla Windows przez oficjalny Sklep, bez względu na to, czysą to aplikacje dla win32, Windows RT, .NET Windows PresentationFoundation czy .NET WinForms. Aplikacje takie mają się instalowaćw zwirtualizowanych kontenerach, automatycznie się aktualizować i wczysty sposób odinstalowywać, tak by użytkownicy nie obawiali siękonsekwencji ich pobrania.
Tym elementom strategii Microsoftu nic zarzucić nie można –bałagan, jaki w Windows potrafią zrobić aplikacje, może byćnielichy, i jest to oczywiście nie wina aplikacji, lecznieprzemyślanej architektury systemu. Wykorzystanie znanych zLinuksa technik konteneryzacji jest najlepszym sposobem uniknięciakonieczności przeprojektowywania systemu (grożącej przecieżutratą wstecznej kompatybilności), a zarazem wprowadzeniaporządków. Tak samo możliwość łatwego przekształcenia webowejaplikacji w coś, co sprawnie będzie współpracować z systemowymiinterfejsami (np. API plików czy mechanizmami zarządzania energią)to dla użytkowników sama korzyść.
Jednak kolejne etapy planu są znacznie bardziej kontrowersyjne.Projekt Islandwood to zbudowany przez Microsoft łańcuch budowaniadla języka Objective C wraz z warstwą middleware, wprowadzającądo Windows interfejsy programowania, których mogłyby oczekiwaćaplikacje dla iOS-a. Przy podobno znikomych poprawkach będzie możnadzięki temu dowolną aplikację dla iOS-a uruchomić na Windows.
Z kolei Projekt Astoria to kompletne środowisko uruchomieniowedla Androida, dzięki któremu będzie można znaczną częśćaplikacji (pisanych zarówno w Javie na Android SDK, jak i w C/C++ naAndroid NDK)w pakietach APK uruchomić bezpośrednio w Windows.Znaczną część, ale nie wszystkie. Najprawdopodobniej Astoria niebędzie w stanie obsługiwać wszystkich API, które należą dozamkniętych, własnościowych Google Mobile Services. Pozostaje otwartym pytanie, w jakim stopniu Microsoftowi uda się odtworzyć je metodami odwrotnej inżynierii.Astoria dostarczyć ma za towłasne interfejsy, dzięki którym androidowi deweloperzy będąmogli dostać się do takich funkcji Windows jak np. cyfrowaasystentka Cortana.
Zarówno Islandwood jak i Astoria mają stać się częściątego, co oficjalnie nosi już nazwę Windows Mobile (czyli specjalnejwersji „okienek” dla smartfonów i małych tabletów) – niewiadomo, czy osadzone zostaną w pełnowymiarowym Windows 10. Wskuteczność ich działania nie ma co wątpić: jeśli BlackBerrybyło w stanie w swoim mobilnym systemie operacyjnym zbudować wysocekompatybilne środowisko uruchomieniowe dla aplikacji Androida, totym bardziej jest w stanie zrobić to Microsoft. Zastanowić sięjednak należy nad tym, czy w tej sytuacji jest jakikolwiek sens wbudowaniu natywnych aplikacji dla Windows Mobile – skoro piszącoprogramowanie na Android SDK można uzyskać dostęp nie tylko doniszowej dość platformy Microsoftu, ale i do najpopularniejszegosystemu operacyjnego w historii ludzkości.
Niewykluczone, że tym posunięciem Microsoft umocnił jedyniebezprecedensowy status Androida, systemu, który rok temu miał ponad1 miliard aktywnych użytkowników i był zainstalowany na ponad 1,6mld urządzeń (według danych firmy Statistika) i który wedługprognoz z początkiem przyszłego roku przekroczy liczbę 2 mldinstalacji. Dane te nie uwzględniają sprzętu, który wykorzystujejedynie opensource'ową wersję Androida, bez dostępu do usługGoogle. Oprogramowanie dla Androida nie działa jednak tylko naAndroidzie – prace nad wprowadzeniem do przeglądarki Chromeobsługi aplikacji z tego mobilnego systemu są już na ukończeniu.Gdy to się stanie, piszący oprogramowanie na Androida zyskajądostęp do użytkowników najpopularniejszej przeglądarki świata, zktórej korzystać ma już co drugi internauta tej planety (daneserwisu StatCounter).
Jeśli do tego wszystkiego dojdzie jeszcze sprzęt z Windows, tobędzie można ironicznie powiedzieć, że faktycznie, Microsoftwynalazł format uniwersalnej aplikacji – i nazywa się on APK(Android Package).