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

Strona głównaOS X Yosemite od środka: na zmianach w interfejsie użytkownika się nie skończyło
19.10.2014 10:56
OS X Yosemite od środka: na zmianach w interfejsie użytkownika się nie skończyło

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.

bEUNvDfp

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.

350126913542776769

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.

bEUNvDfr

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.

350126913543038913

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.

bEUNvDfx

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.

350126913543366593

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).

bEUNvDfy

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.

350126913543694273

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.

bEUNvDfz

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.

bEUNvDfA

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ń.

Programy

Aktualizacje
Aktualizacje
Nowości
Udostępnij:
bEUNvDfB
Komentarze (63)
bEUNvDgn