macOS 10.15 Catalina

W październiku Apple udostępniło kolejną wersję macOS, oznaczoną numerkiem 10.15 oraz nazwą „Catalina”. Wprowadziła ona między innymi możliwość łatwego portowania aplikacji z iPada na komputery i właśnie dlatego zdecydowałem się na publikację tego posta tak długo – czekałem aż pojawią się aplikacje wykorzystujące to rozwiązanie, by zobaczyć jak deweloperzy do niego podchodzą.

Najbardziej rzucającą się zmianą w nowym wydaniu macOS jest niewątpliwie pozbycie się znienawidzonego przez wielu kombajnu o nazwie iTunes. Inżynierowie z Apple zdecydowali się na rozbicie aplikacje na kilka mniejszych czy przerzucenie funkcji do innych aplikacji systemowych (np. zarządzania urządzeniami z iOS czy iPodami do Findera).

Teraz zamiast iTunes mamy więc Muzykę, TV, Podcasty (iBooks już wcześniej miało swoją aplikację). Oczywiście nie obeszło się bez problemów, ponieważ nie wszystkie funkcje obecne w iTunes znalazły się w nowych programach. Przykładem jest między innymi opcja synchronizacji biblioteki z aplikacjami firm trzecich poprzez pliki XML, której brak odczuło wielu DJów (Apple oferuje nowsze metody, ale wiele aplikacji się do nich nie dostosowało, więc trzeba teraz czekać na aktualizacje).

Kolejną z większych nowości w macOS 10.15 Catalina jest udostępnienie wszystkim deweloperom możliwości stosunkowo prostej konwersji aplikacji z iPada na te dla macOS. Apple zachwala, że wystarczy „jedno kliknięcie”, choć w praktyce nie jest aż tak różowo.

Z tego co można przeczytać na blogach czy profilach twitterowych różnych deweloperów, często aplikacja po tym „jednym kliknięciu” rzeczywiście uruchomi się na macOS, ale będzie mocno odstawać od tego, czego oczekuje się po oprogramowaniu dla tego systemu.

Za przykład służą zresztą aplikacje Apple dostępne już w poprzedniej wersji macOS (praktycznie niezmienione w Catalinie) – w Home bez większego problemu można natknąć się na okna wyciągnięte żywcem z iPada i kompletnie nieprzystosowane do obsługi myszką i klawiaturą (np. ustawiania czasu). Normalnie w takich sytuacjach deweloper powinien dopisać trochę kodu specyficznego dla macOS, ale skoro nawet Apple nie chciało się tego zrobić, to wielu deweloperów tym bardziej tego nie zrobi.

Przykładem takiego podejścia był zresztą reklamowany przez Apple oficjalny klient Twittera bazujący na swojej iPadowej wersji. Jego przypadek pogarsza dodatkowo używanie niemal wszędzie własnych kontrolek (przez co nie dostają one automatycznie ulepszeń pod kątem obsługi myszką i klawiaturą jak te systemowe).

W pierwszych wersjach aplikacji suwak od ustawiania rozmiaru czcionki w preferencjach programu (swoją drogą kompletnie nieprzystających do realiów macOS) trzeba było przesuwać myszką. Kliknięcie w miejscu docelowego poziomu nic nie robiło. Po kilku aktualizacjach nie jest już aż tak źle, choć moim zdaniem i tak ewidentnie widać, że program ten nie był pisany z myślą o macOS.

Przykładem z przeciwnego bieguna jest aplikacja Fiery Feeds, której twórca przyłożył się do portowania i napisał nieco kodu dopasowującego program do macOS (możecie poczytać o tym na jego blogu), dzięki czemu aplikacja nie odstaje wyglądem czy obsługą od innych programów dla macOS w tak dużym stopniu jak wspomniany klient Twittera. Problemem pozostaje przede wszystkim kwestia wydajności czy wykorzystania pamięci, ale tu piłka leży w większym stopniu po stronie Apple i to problem w niemal każdej bardziej rozbudowanej aplikacji korzystającej z Catalyst.

Generalnie potwierdziły się moje obawy z czasu ogłoszenia Apple – wielkie firmy potraktują Catalyst jako tani sposób na tworzenie aplikacji dla kolejnej platformy i zrobią to po linii najmniejszego oporu, czyli nie dostosowując programu do realiów macOS. Na dodatek te wielkie firmy najczęściej stosują również własne kontrolki, co dodatkowo pogarsza sprawę.

Z kolei niezależni deweloperzy, którzy do tej pory omijali macOS ze względu niekorzystny stosunek kosztu stworzenia aplikacji dla tej platformy wobec potencjalnego zwrotu („czysto” dla macOS pisze się nieco inaczej niż dla iOS, w dodatku użytkowników iOS jest o wiele więcej) starają się dopasować swoje aplikacje do macOS w możliwie największym stopniu.

Teraz przejdźmy do gorszych zmian. Z nieprzyjemnych niespodzianek czekających na użytkowników w Catalinie niewątpliwie na pierwszym miejscu należy wymienić koniec obsługi aplikacji 32-bitowych. Zaboli to przede wszystkim graczy, ponieważ zdecydowana większość starszych produkcji nie została zaktualizowana i ciągle jest 32-bitowa. Tym samym u wielu z nich spora część biblioteki ze Steama może wylecieć z dysku.

Zwykłych aplikacji, które nadal są tylko 32-bitowe raczej już się nie spotyka poza niszowymi zastosowaniami, więc te przypadki raczej zabolą mniejszą liczbę użytkowników niż kwestia z akapitu wyżej.

Inną niemiłą zmianą jest definitywny koniec obsługi starego formatu rozszerzeń dla Safari. Oznacza to, że już nie można ich instalować nawet z oficjalnego katalogu, a te które mieliśmy zostaną usunięte. Jest to smutna wiadomość, ponieważ większość deweloperów przeglądarkowych rozszerzeń nie polubiła się z nowym formatem i po prostu porzuciła tworzenie dodatków dla Safari, czego efektem jest ich jeszcze mniejsza liczba.