Nie jestem zbyt dobrym „wróżbitą”. Moja ocena przyszłości technologii jest mocno subiektywna i oparta na własnych „zachciankach”. Jednak czasem udaje mi się coś przeczuć. Uniwersalne aplikacje iOS–macOS wyglądają dokładnie tak jak przewidziałem.

Nie tylko ja miałem rację

Rację mieli również Ci, którzy zapowiadali, że aplikacje wspólne dla iOS i macOS pojawią się na WWDC 2018. Rację mieli też Ci, którzy twierdzili, że pojawią się później, najpewniej w 2019 roku. Dlaczego? Bo Apple nie udostępnił API i narzędzi dla programistów do tworzenia takich hybryd, ale dołączył do systemu własne programy napisane w ten sposób. Ma to być swoisty test technologii, zanim zostanie udostępniona ogółowi programistów.

Co przewidziałem

  • Aplikacje będą musiały być przerobione lub przynajmniej przekompilowane i nie każdy program da się „pożenić” z macOS bez większej adaptacji. Jest to spowodowane różnicami w obsłudze interfejsów klikanych i pukanych.
  • Apple zbierze funkcje interfejsu CocoaTouch (iOS), które da się dostosować do „klikania” i umieści je w macOS. Dokładnie tak się stało. Pokazał to Craig Federighi podczas prezentacji na WWDC.
  • Większość systemu jest wspólna na iOS i macOS. Widać to po umieszczonej w macOS 10.14 Mojave „białej liście” rozszerzeń systemowych macOS, które mogą być używane przez uniwersalne aplikacje z iOS.
  • Nie jest to takie proste. Niestety pokazują to programy „z iOS”, które Apple umieścił w macOS 10.14. Są to: Home, News, Stocks i Dyktafon. Na pierwszy rzut oka wyglądają ok, ale np. obsługa Home, jest trudniejsza i mniej intuicyjna niż na iOS. Oczywiście to pierwsza beta, ale różnic w obsłudze interfejsów się łatwo nie zmieni.
  • Nie będzie ujednolicenia systemów ani „macania” ekranów w MacBookach. Te obietnice padły wprost ze sceny i były potwierdzone podczas wywiadów, przez najważniejsze osoby w Apple.

Jak to zostało zrobione?

Wystarczy zajrzeć do teczki System w macOS 10.14 Mojave. Zobaczymy tam poza znanymi „od zawsze” Bibliotekami nową teczkę iOSSupport. W niej umieszczono elementy systemu potrzebne do pracy aplikacjom z iOS (uniwersalnym). Układ jest podobny jak oryginalnych bibliotek macOS, jednak ilość potrzebnych składników jest znacznie mniejsza. Jest też „biała lista” rozszerzeń macOS, które przez te aplikacje mogą być używane.

iOSSupport w macOS

iOSSupport

Ciekawie wygląda również Info.plist z aplikacji Home. Część z niej odnosi się wprost do macOS. Jednak w końcówce znajdziemy znane dobrze deweloperom iOS hasła dotyczące wyglądu programu na iPadzie i iPhone. W tym kontekście śmiesznie wypada wymóg zgodności „arm7”. Po tym pliku wyraźnie wydać, że nie jest to do końca aplikacja przeniesiona „żywcem” z iOS. W takiej sytuacji w poliku powinny się znaleźć również informacje o minimalnej wersji iOS.

Aplikacja Home Info

Tak czy siak, Apple poszedł najlepszą moim zdaniem drogą i będę się rozwojowi projektu przyglądał z zaciekawieniem.

Tu możecie zobaczyć moje wcześniejsze wypowiedzi w tej kwestii i ocenić, czy rzeczywiście „zobaczyłem przyszłość”.

Nie będzie uniwersalnych aplikacji w tym roku? Jakość przede wszystkim!

Uniwersalne aplikacje dla macOS i iOS? Trochę mnie to niepokoi

Aplikacje z iOS na Mac, ale jak?

 

Może Cię zainteresować: