OS X Yosemite od środka: na zmianach w interfejsie użytkownika się nie skończyło

OS X Yosemite od środka: na zmianach w interfejsie użytkownika się nie skończyło19.10.2014 10:56

Nowy OS X 10.10 Yosemite przykuł uwagę przede wszystkimodświeżonym interfejsem graficznym, korzystającym w pewnym stopniuz estetyki i wzornictwa wypracowanego przy iOS-ie. Tuż przedoficjalną premierą Yosemite przygotowaliśmy dla Was krótkiprzegląd zmian w pulpicie Maków. Czy jednak faktycznie z Yosemitejest jak z Windows 10 – dużo hałasu o interfejs użytkownika? Pokilku dniach pracy z nowym systemem Apple przekonujemy się, że taknie jest. Choć typowy użytkownik Maka może tego nie zauważyć, Yosemitewprowadza fundamentalne zmiany do systemu, otwierające drogę dobardzo ciekawej przyszłości. Zapraszamy do zapoznania się z tym, co na pierwszy rzut oka w nowym OS X niewidoczne.

System plików

Nie raz sygnalizowaliśmy, że system plików w OS X to tragedia.Wykorzystywany od lat 90 HFS+ znacząco odbiega od nowoczesnychsystemów plików, takich jak linuksowy btrfs czy nawet rozwijanyprzez Microsoft ReFS. Niektórzy liczyli na to, że w Makach w końcupojawi się potężny ZFS, znany z Solarisa i FreeBSD – ale taksię, zapewne z powodów licencyjnych, nie stało. Apple musiało wkońcu zrobić coś swojego. I faktycznie zrobiło, tylko że bocznądrogą. W 2011 roku w OS X 10.7 zadebiutował menedżer wolumenówlogicznych (LVM) dla tego systemu, Core Storage. Jego podstawowymzastosowaniem było wówczas wsparcie dla znacznie ulepszonegomechanizmu szyfrowania dysków FileVault. Rok później Applepokazało korzystający z CoreStorage mechanizm FusionDrive,pozwalający tworzyć pule pamięci masowej z dysków różnejszybkości (np. SSD+HDD).

Oczywiście wciąż poszczególne wolumeny korzystały z HFS+ –i tak jest także w Yosemite. Coś się jednak zmieniło. Nowy systemApple'a wymusza stosowanie CoreStorage. Testowy komputer z OS X 10.9korzystał z najprostszej możliwej konfiguracji dyskowej – jedennapęd SSD, z jednym wolumenem HFS+. Po zaktualizowaniu systemu do OSX 10.10 okazało się, że ten pojedynczy wolumen HFS+ zostałprzekształcony w pojedynczy wolumen logiczny, znajdujący się wgrupie Core Storage.

Jest to o tyle istotna zmiana, że z tego co wiadomo o menedżerzewolumenów logicznych Apple'a, zapewnia on kilka typowych dlanowoczesnych systemów plików rozwiązań, takich jak strukturydrzewiaste, kopiowanie przy zapisie czy niezależne przechowywaniemetadanych. Wprowadzając LVM jako standard, Apple będzie mogło wkolejnych wydaniach OS X bezboleśnie dla użytkowników zastąpićHFS+ czymś nowocześniejszym.

Integracja z chmurą

OS X raczej nigdy nie upodobni się do Chrome OS-a, dla któregoto chmurowy system plików jest tym podstawowym, ale to nie znaczy, że jego użytkownicy nie są zainteresowani przechowywaniem swoich dokumentów poza komputerem. Co prawda w Makachod kilku lat można już przechowywać dokumenty w chmurze iCloud,ale rozwiązanie to nie było dopracowane – tam każda aplikacjaprzechowywała pliki tylko dla siebie, w sposób niewidoczny dlainnych. Nic więc dziwnego, że praktycznie nikt z tego rozwiązanianie korzystał, nawet wierni fani Apple wybierali bardziejzrozumiałego Dropboksa czy Dysk Google, wiedząc, że z nimi będąmogli znaleźć swoje pliki.

O tym, że szykuje się zmiana tego stanu rzeczy, było jużwiadomo po wydaniu iOS-a 8. iCloud zamienił się w iCloud Drive. Coprawda aktualizacja nie jest obowiązkowa, wciąż można korzystaćz chmury Apple po staremu, ale widać, że zmiana jest mocnozalecana. W jednorazowym procesie wszystkie dokumenty z iCloudzostaną przeniesione do iCloud Drive. Stare wersje systemów (iOS 7i OS X 10.9) nie będą już miały do nich dostępu.

Do chmurowej pamięci masowej mamy oczywiście dostęp zarówno zFindera, jak i z okna dialogowego plików. Pozornie wygląda to jakkolejna lokacja systemowa, zachowuje się jednak nieco inaczej. Popierwsze, tworzy hierarchię folderów dla poszczególnych zgodnych ziCloud Drive aplikacji, z którymi niewiele można zrobić – nawetnie mamy dostępu do informacji o nich. Tak samo nie można (zbytłatwo) znaleźć informacji o lokalizacji lokalnego folderu, którymiałby synchronizować się z chmurą. Z poziomu terminala w końcuznajdziemy jego lokalizację, w /Library/Mobile Documents/, gdziezobaczyć można będzie całą listę podkatalogów z nazwami wodwrotnej notacji DNS (np. comapple~TextEdit). Wyraźnie nie jest tocoś, co miałby oglądać użytkownik – Apple nie chce byśmymyśleli o iCloud Drive jako o folderze, który się synchronizuje zchmurą. To pełna abstrakcja wolumenu w chmurze, nic mniej.

Warto tu też wspomnieć o frameworku CloudKit, który maprzekonać deweloperów do korzystania z usług synchronizacji iuwierzytelniania od Apple, i wydaje się być zamiennikiemniemożliwie skomplikowanego Core Data. Ujawnia on podstawowestruktury danych (np. konta użytkowników) i pozwala na łatwemanipulowanie nimi na serwerach Apple. Sądząc po opiniachwyrażanych w serwisach takich jak StackOverflow, programistomCloudKit bardzo się podoba. Zachowuje się w pełni przewidywalnie,jest dostępny za darmo, chroni też w wysokim stopniu prywatnośćużytkowników – nie ma sposobu, by twórca aplikacji korzystającejz CloudKit uzyskał dostęp do prywatnych danych użytkownika.

Rozszerzenia

Koncepcja rozszerzeń jest chyba oczywista dla każdegoużytkownika przeglądarki internetowej. Kilkoma kliknięciami możemyznacznie zwiększyć możliwości programu – albo go popsuć, jeślirozszerzenie zrobi coś niewłaściwego. A gdyby tak można byłorozszerzać cały system za pomocą takich dodatków? Pomysł niejest niczym nowym. Takie możliwości rozszerzeń były w Amiga OS-iei klasycznym Mac OS-ie... pozwalając czasem na spektakularnezawieszenia systemu. Brak ochrony pamięci w tych antycznychsystemach sprawiał, że awaria jednego programu mogła zawiesićcały komputer.

Nowoczesne systemy operacyjne nie pozwalają programom na takiebezeceństwa, ale zarazem utrudniają modyfikowanie systemu. W OS Xod niemal samego początku można było takie niezależne modyfikacjewprowadzać, korzystając z mniej lub bardziej udokumentowanych API,ale nie ma co ukrywać – system Apple'a był znacznie trudniejszy imniej podatny na modyfikacje niż Windows. OS X Extensions zmieniato. Otrzymaliśmy globalny mechanizm rozszerzeń, odpowiedni dlanowoczesnych systemów operacyjnych.

Rozszerzenia są tu dostarczane w paczkach aplikacji (nie mogąbyć zainstalowane samodzielnie), ale działają jako niezależnebinarki, z własnymi uprawnieniami, w niezależnych procesach i woddzielnej przestrzeni adresowej. Uruchamiane są w odpowiedzi nadziałania użytkownika przez system operacyjny, nawet jeśliprzypisana im aplikacja nie działa, wykonując operacje nadostępnych im punktach styku z aplikacją. Na razie są cztery takiepunkty – Share (do współdzielenia plików poprzez serwisyinternetowe), Action (zmiany treści w jednej aplikacji przez innąaplikację), Today (do wyświetlania zdarzeń w pasku powiadomień)oraz Finder Sync (do kontrolowania stanu synchronizacji plików przezniezależne usługi).

Warto wspomnieć, że rozszerzenia nie są ograniczone do tylkojednej aplikacji. Dzięki mechanizmowi App Group możemy współdzielićrozszerzenie między wieloma aplikacjami, dając np. wszystkimaplikacjom graficznym możliwość publikowania w niewspieranym przezApple serwisie internetowym czy edytowania za ich pomocą obrazkówwklejonych do procesora tekstu. Trzeba pamiętać, że rozszerzeniadziedziczą ustawienia prywatności po swojej macierzystej aplikacji.Zarządzać dostępnymi rozszerzeniami typu Share, Action i Todaymożna w Preferencjach systemowych (Rozszerzenia) – sprowadza sięto do zaznaczania i odznaczania tego, co nas interesuje.

Ze względu na podobieństwo zastosowanych interfejsów między OSX 10.10 i iOS 8 można się spodziewać, że wiele tych rozszerzeńbędzie wymienianych między oboma systemami. Zapewne też pojawiąsię aplikacje-atrapy, których jedynym zastosowaniem będziewprowadzanie do systemu nowych rozszerzeń.

Automatyzacja

Ręka do góry – wszyscy ci, którzy znają AppleScript. Nocóż... a teraz ręka do góry wszyscy ci, którzy znająJavaScript. Dziękujemy za las rąk. Mechanizm automatyzacji systemuoperacyjnego, udostępniany poprzez Open Scripting Architecture,otrzymał interfejs, z którym poradzi sobie każdy webdeweloper –wreszcie można będzie sterować Makiem za pomocą popularnegoJavaScriptu.Co ciekawe wprowadzono tu mostek do Objective-C, dzięki któremu zpoziomu skryptów można uzyskać dostęp do systemu plików ibudować wizualne aplikacje Cocoa.

Z JavaScriptu możemy teraz korzystać w edytorze skryptów,globalnym menu skryptów, appletach i dropletach, poprzez liniękomend i we wszystkich innych miejscach, gdzie można było dotądużywać AppleScriptu (np. w zarządzaniu folderami poczty). Koddziała na tym samym silniku JavaScriptCore, z którego korzystaprzeglądarka Safari.

Swift

Wygląda to niepozornie – ot w katalogu /usr/bin można znaleźćcoś, co nosi nazwę swift. Jest to jednak największa zmiana whistorii Maka od czasu przejścia na procesory Intela. Swift to nowyjęzyk programowania, na pierwszy rzut oka przypominający mieszankęPythona i Ruby, ale podobno dający możliwości statycznych językówo silnej typizacji. Stworzony przez Chrisa Lattnera, jednego zgłównych programistów pionu Apple Developers Tools, autoranarzędzi dla kompilatora LLVM, ma docelowo zastąpić Objective-Cjako wiodący język programowania – i to dla obu systemówApple'a. Firma z Cupertino określa go jako pierwszy na świeciejęzyk przemysłowej jakości, który jest równie ekspresyjny iprzyjemny jak języki skryptowe, skalujący się od 'witaj świecie'do całego systemu operacyjnego.

Osoby zainteresowane Swiftem powinny odwiedzić iTunes, by pobraćz nich darmowego e-booka TheSwift Programming Language. Tutaj jedynie przedstawimy kilkanajważniejszych cech Swifta. Można o nim myśleć jako o językuwyższego poziomu niż Objective C, z przejrzystą składnią,automatycznym zarządzaniem pamięcią, typami danych przechowywanymiw bibliotece standardowej języka (notabene też napisanej w Swifcie)i pełną inferencją typów. Znajdziemy tu w zasadzie wszystkierozwiązania znane z innych nowoczesnych języków, w tym domknięcia,krotki, szybkie iteracje po kolekcjach czy wywoływanie funkcjiwyższego rzędu, takich jak mapy czy filtry.

Ze Swifta możemy korzystać zarówno jako z języka skryptowego,uruchamianego shebangiem (#!), poprzez interaktywną konsolę, jak ido budowania wysoce zoptymalizowanego kodu pośredniczącego imaszynowego, z wykorzystaniem (a jakże!) kompilatora clang i całejinfrastruktury LLVM. Oczywiście Swift zapewnia pełną obsługęsystemowych frameworków Apple'a, na czele z Cocoa, pozwala też nawykorzystanie praktycznie wszystkich API dla Objective-C bezkonieczności wprowadzania zmian w kodzie.

Opinie o Swifcie są podzielone. Na pewno wiele osób jestniezadowolonych z tego, że Swift nie jest opensource'owy – alepewnie wcześniej czy później Apple będzie zmuszone do wydaniajęzyka na jakiejś otwartej licencji. Dyskusje o składni czysemantyce języka nie mają końca, zapewne wiele rzeczy możnabyłoby tu zrobić lepiej, ale trzeba podkreślić jedno – Swift tonie jest produkt akademicki. Język został zrobiony przez człowieka,który zawodowo pracuje nad kompilatorami, dla którego najważniejszajest wydajność i wygoda programowania.

Refleksje

Zmiany wprowadzone w systemie, który swoją numeracją żadnegowielkiego przełomu przecież nie obiecywał, są daleko bardziejidące, niż można by było sądzić. To postawienie fundamentówpod nowy, znacznie bardziej modularny i elastyczny system Apple'a, odpodstaw pisany z myślą o zastosowaniach desktopowych – alezarazem dobrze się integrujący z systemem tworzonym dla urządzeńmobilnych, współdzielący z nim liczne interfejsy i mechanizmy.

Wbrew spekulacjom o tym, jakoby Apple dążyło do połączenia OSX i iOS-a w jeden system, coś na podobieństwo jednego Windows 10dla wszystkich urządzeń, na to się tu nie zanosi. Producentsprzętu z Jabłkiem widzi, że między komputerami osobistymi atabletami czy smartfonami rozciąga się przepaść – i nie ma cona siłę jej zasypywać. Maki mają być przede wszystkimnarzędziami do tworzenia treści, podczas gdy iUrządzenia –narzędziami do jej konsumpcji. To wymaga integracji interfejsówsystemowych, a nie ujednolicania interfejsów użytkownika, jak tosobie wyobraził swego czasu Microsoft. Dlatego też autor tegotekstu wątpi w pojawienie się kiedykolwiek hybrydowych Maków-iPadówczy wciśnięcie dotykowego interfejsu do OS X-a. Apple stawia nawspólne fundamenty – ale odmienną ergonomię, dostosowaną dospecyfiki poszczególnych urządzeń.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.