Blog (31)
Komentarze (132)
Recenzje (0)
@SiplasApple way - część 6 - jedziemy na Safari

Apple way - część 6 - jedziemy na Safari

28.07.2010 14:54, aktualizacja: 28.07.2010 19:03

Uwaga, będzie mocno - Apple nie wymyśliło Internetu! Naprawdę. Można nawet powiedzieć, że jak już ten Internet był wymyślony, to Apple nie bardzo wiedziało co z nim zrobić. Znaczy wiedziało, ale jak to już wcześniej bywało ich plany były bardziej wizjonerskie niż praktyczne. W efekcie premiera pierwszych iMaków oprawiona była atrakcyjną internetową otoczką, ale same komputery z debiutującym Mac OSX np. nie miały własnych... przeglądarki WWW i klienta poczty. Do dyspozycji użytkowników był kiepściutki Internet Explorer Microsoftu (chyba jeszcze w wersji 4) lub niewiele lepsza przeglądarka Netscape. Ta ostatnia zapewniała także obsługę poczty chociaż w tamtym czasie większą popularnością cieszył się klient zawarty w pakiecie Claris Works (po przejęciu przez Apple rozwijany do dzisiaj i znany jako iWorks).

Dopiero w lipcu 2003 roku zadebiutowała własna, autorska przeglądarka dedykowana dla Mac OSX pod nazwą Safari. Od pierwszej wersji była tworzona na bazie silnika WebKit używanego m.in. w linuksowej przeglądarce Konqueror. Safari z powodzeniem rozwijane jest do dzisiaj i właśnie kilka tygodni temu pojawiła się jej piąta wersja.

Przeglądarkowe wojny są dzisiaj elementem internetowej tradycji. Zwolennicy kolejnych wersji swoich ulubionych programów potrafią znajdować nawet najbardziej kuriozalne „braki” w konkurencyjnych projektach i jednocześnie bezkrytycznie chwalić nawet najdrobniejsze cechy (zalety?) używanej przez siebie przeglądarki. I dobrze - taki jest urok internetowej wolności i oby zawsze był taki wybór i możliwość oceny. Od pewnego czasu, konkretnie od 2007 roku także Safari zostało wciągnięte do tej „świętej wojny” - pojawiła się wtedy wersja Safari 3 dla systemów Windows. Z niezliczoną ilością bugów, o skromnych możliwościach na tle konkurencji, przeglądarka Apple wprowadziła sporo zamieszania za sprawą bardzo dobrej „żwawości”, była szybka ale wymagająca wobec twórców stron (zgodność ze standardami). Niestety, wspomniane liczne bugi i ascetyczna oprawa sprawiły, że opinie użytkowników przyzwyczajonych już do elastyczności Firefoksa dalekie były od entuzjazmu. Po blisko 5 latach udziału w tej batalii Safari przeszła głęboką przemianę i dzisiaj jest na pewno zdecydowanie doskonalszym produktem niż jej wczesne wersje, ale krytyczne opinie z dawnych lat do teraz odbijają się czkawką.

Nie będę przekonywał o wyższości Safari nad innymi przeglądarkami - to kwestia gustu i potrzeb. Sam na co dzień używam co najmniej dwóch (Safari i Firefox), a w służbowym PeCecie zdarza mi się czasami odpalić starego (nie)dobrego Internet Explorera. Jednak niezmiennie od wielu lat moim podstawowym programem do przeglądania zasobów WWW jest właśnie Safari. W zupełności zaspokaja moje potrzeby, jest szybka, wydajna i precyzyjna, a z wersji na wersję co raz bogatsza w możliwości. Oczywiście nie są to możliwości niespotykane, każda współczesna przeglądarka ma podobne lub wręcz identyczne, różnią się głównie mechaniką obsługi. Mnie ta w Safari w zupełności wystarcza.

Rozszerzenia

Najnowsza wersja mimo, że opublikowana bez wielkiego zadęcia przyniosła sporo istotnych zmian. Autorzy wsłuchali się w głosy użytkowników i wreszcie wprowadzili system obsługi rozszerzeń. Na tym etapie trudno ocenić przydatność i jakość tego rozwiązania, szczególnie w konfrontacji z doskonałym pod tym względem Firefoksem, ale dynamicznie rosnąca biblioteka dodatków pozwala przypuszczać, że był to duży krok w dobrym kierunku. Na razie trudno jest mi wskazać rozszerzenie, które w szczególny sposób mógłbym polecić - jest ich niewiele i są dosyć siermiężne, ale na pewno w niedalekiej przyszłości zaczną pojawiać się takie, które wniosą istotne nowości i udogodnienia. Jest to tym bardziej prawdopodobne, że Apple zgodnie ze swoją strategią wraz z premierą Safari 5 udostępniło bezpłatnie dodatek do swojego pakietu dla programistów ułatwiający pisanie rozszerzeń wraz z dokumentacją.

Reader

O wiele większą przyjemność sprawiło mi wprowadzenie funkcji „Reader”. Rzecz mała a niezwykle przydatna, szczególnie dla osób, którym czytanie małych literek na pstrokatym tle sprawia wyraźne kłopoty np. dla mnie. Jeżeli odwiedzana strona jest dobrze opisana w HTML przeglądarka potrafi „automagicznie” rozpoznać na niej tekst główny. W takiej sytuacji w pasku adresu pojawia się mały guzik nazwany „Reader”, po naciśnięciu którego (lub przez Cmd+Shift+R) na ekranie pojawia się biała „kartka” zawierająca tylko pisaną większą czcionką treść artykułu, a całość ekranu pod nią zostaje przyciemniona. Pozwala to na o wiele łatwiejsze czytanie, a funkcja bez problemu obsługuje nawet artykuły stronicowane bez konieczności ręcznego klikania w linki kolejnych stron. Dodatkową korzyścią jest możliwość prostego wydrukowania lub wysłania wyświetlanej treści.

Wydajność

Safari zawsze uważałem za przeglądarkę szybką i wydajną, na moim Maku nie sprawia też żadnych problemów z zajętością zasobów ani ze współpracą z innymi aplikacjami, ale z wersji na wersję wydajność i tak rośnie. Wersja 5 pod tym względem daje odczuć zauważalną poprawę w szybkości renderowania stron, a przede wszystkim w interpretacji JavaScriptu. Nie jest to dla mnie szczególnie istotna cecha, ale miło, że i tutaj widać polepszenie działania. Oczywiście Safari szybkością i wydajnością nagradza przede wszystkim strony DOBRZE napisane - zgodność ze standardami jest sprawą kluczową. Poprawie wydajności służy także DNS Prefetching, dzięki któremu nawigacja po stronach z licznymi odnośnikami faktycznie przyspiesza.

Dla programistów

Ciekawą funkcją przydatną głównie twórcom stron WWW jest „Kontrola elementu”. Dostępna po włączeniu w preferencjach menu „Programowanie” pozwala na podgląd struktury strony w przejrzystej, hierarchicznej postaci z wręcz detalicznym opisem wszystkich obiektów i stylów zastosowanych na stronie. Funkcja ta dostępna była już we wcześniejszych wersjach Safari, ale w najnowszej jeszcze ją usprawniono. Bezdyskusyjnie przydatna w wielu sytuacjach.

Reklamy

Problem reklam dotyka wszystkich przeglądarek i w każdej twórcy lub społeczność stosują rozwiązania pozwalające na ich blokowanie. Pierwotnie Safari dysponowała tylko podstawową funkcją blokowania wyskakujących okienek, bardziej zaawansowane mechanizmy pojawiły się dopiero od wersji 4. Filtrowanie odbywać może się trzema drogami:

1. przez własne arkusze stylów CSS 2. przez mechanizm SIMBL (SIMple Bundle Loader) - np. Safari AdBlocker 3. przez zewnętrzny mechanizm Proxy - np. Glimmer Blocker

Najprościej jest zacząć od instalacji własnego arkusza stylów CSS. Ten sposób z powodzeniem jest wykorzystywany głównie przez użytkowników Opery, ale także w Safari i Firefoksie sprawdza się doskonale. W sieci można znaleźć gotowe stworzone przez użytkowników arkusze stylów CSS, które po skopiowaniu na własny dysk możemy w preferencjach wskazać jako arkusz domyślny. Nie zastępuje on stylów przypisanych do wyświetlanych stron (chociaż może), a jedynie je uzupełnia. Pozwala to na wyeliminowanie ze strony elementów związanych z wyświetlaniem reklam o ile są one opisane w źródle strony identyfikatorem lub parametrem pozwalającym na ich rozpoznanie. Ta metoda jest całkowicie bezinwazyjna, nie ingeruje w proces renderowania stron a jedynie modyfikuje obraz wyświetlanej na ekranie strony.

Popularny jest m.in. arkusz fanboy-adblocklist-elements.css, który po ściągnięciu zapisujemy np. w folderze ~/Biblioteki/Safari i w Preferencjach Safari w zakładce Zaawansowane wskazujemy go jako własny arkusz stylów. Nie jest wymagany restart przeglądarki, arkusz jest stosowany od razu po jego aktywacji. W efekcie już tylko po tej operacji zniknie spora część reklam, które wcześniej wyświetlały się na stronach.

Drugą metodą jest instalacja jednego z dodatków filtrującego odwiedzane strony. Jednym z popularniejszych jest Safari AdBlocker. Po zainstalowaniu i uruchomieniu Safari w preferencjach pojawia się nowa zakładka, w której możemy dokonać szybkiej konfiguracji filtrów. Odbywa się ona podobnie jak w znanym z Firefoksa rozszerzeniu AdBlock Plus - Safari AdBlocker może korzystać z tych samych filtrów, wystarczy tylko dopisać je do listy subskrypcyjnej i będą one automatycznie aktualizowane. Dodatkowo z pomocą menu kontekstowego możemy decydować o dodawaniu do filtrów (Black List/White List) indywidualnych stron lub adresów.

Podobne działanie oferuje Glimmer Blocker będący zewnętrznym w relacji do przeglądarki mechanizmem filtrowania zawartości stron. Instaluje się jako Panel Kontrolny co sprawia, że jego działanie będzie widoczne także w innych niż przeglądarka programach korzystających z zasobów WWW np. w czytnikach RSS. Ciekawą cechą tego rozwiązania jest możliwość ustawienia Glimmer Blocker jako serwera proxy. Po takiej operacji (o ile na to pozwolimy) także inni użytkownicy w naszej sieci zyskają możliwość filtrowania wskazując jako swoje proxy adres naszego komputera z właściwym numerem portu (domyślnie 8228). Działanie oparte jest na zasadach podobnych do Safari AdBlockera - definiujemy listę subskrypcyjną filtrów, które są automatycznie aktualizowane, ale nie są one kompatybilne z AdBlock Plus więc korzystać trzeba z listy podanej tutaj.

Kolejnym sposobem uzupełniającym podane wcześniej rozwiązania jest zdefiniowanie własnego pliku hosts. W Mac OSX jest on umieszczony w /Private/etc i wymaga uprawnień administracyjnych do jego edycji. Można skorzystać z plików dostępnych w sieci np. hosts.txt. Skopiowanie tego pliku do podanego katalogu z nazwą "hosts" (bez rozszerzenia) nie wymaga żadnych dodatkowych konfiguracji. Efektem działania jest skuteczne blokowanie dostępu do podanych w nim adresów dlatego należy być ostrożnym w jego stosowaniu.

Na koniec sprawa Flash’a - technologia wszechobecna w Internecie dostarcza sporo radości dla oczu, ale w iście imponującym tempie pożera zasoby naszego komputera. Nie zawsze zależy nam na tym, żeby nasz procesor zyskiwał dodatkową funkcję grzałki więc dobrze jest mieć kontrolę nad wyświetlaniem obiektów Flash. Do tego celu dobrze nadaje się mały programik ClickToFlash. Po jego zainstalowaniu wszystkie obiekty Flash na odwiedzanych stronach są blokowane i wyświetlane w postaci szarych prostokątów. Włączamy je poprzez kliknięcie, dopiero po którym animacja się ładuje i zaczyna odtwarzać. Docenią to wszyscy użytkownicy MacBooków, w których Flash potrafi połknąć szybciutko nawet świeżo naładowaną baterię.

Podane powyżej sposoby oparte są o powszechnie dostępne, bezpłatne rozwiązania. Jeżeli chcemy wydać kilka dolarów, to bez trudu znajdziemy w sieci rozwiązania komercyjne, być może doskonalsze, ale w efekcie dające taki sam skutek jak te podane przeze mnie. Możemy oczywiście stosować je pojedynczo, ale równie dobrze mogą one działać wspólnie. Skutek jest bardzo dobry co ilustrują obrazki dołączone do tego artykułu.

Safari nie cieszy się imponującą popularnością, ale w Mac OSX jest przeglądarką podstawową, szybką i wydajną. Na tle konkurencji dotychczas brakowało jej kilku funkcji, a głównie możliwości swobodnego rozszerzania funkcjonalności. W najnowszej wersji zostało to naprawione i można przypuszczać, że już wkrótce biblioteka rozszerzeń będzie bogatym źródłem nowych funkcji. Nadal nie ma istotnej dla wielu użytkowników możliwości zmiany skórki, ale to akurat uważam za drobną niedogodność. Przejrzystość interfejsu w mojej ocenie nie wymaga żadnych poprawek ani zmian. Safari oferuje za to świetny mechanizm obsługi Historii i Ulubionych, ciekawą funkcję Top Sites i całkiem praktyczną obsługę RSS. Niestety, w wydaniu dla systemów Windows Safari traci sporo ze swojego makowego uroku, np. opisane powyżej sposoby walki z reklamami będą trudne do zaimplementowania, ale przede wszystkim mechanizm obsługi rozszerzeń w Windows jeszcze nie został wprowadzony. Może w kolejnej aktualizacji zostanie to naprawione?

Aktualizacja:

Zmiany zachodzą szybciej niż moje pisanie. Właśnie ukazała się kolejna aktualizacja Safari dla Mac OSX i Windows, która prawdopodobnie usuwa w wersji Windows przynajmniej niektóre z braków, o których napisałem wcześniej. Pełna informacja o tej aktualizacji tutaj.

Wybrane dla Ciebie
Komentarze (0)