Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00351 008377 10461759 na godz. na dobę w sumie
Projektowanie serwisów WWW. Standardy sieciowe - książka
Projektowanie serwisów WWW. Standardy sieciowe - książka
Autor: Liczba stron: 408
Wydawca: Helion Język publikacji: polski
ISBN: 83-7361-394-3 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> webmasterstwo >> funkcjonalność stron
Porównaj ceny (książka, ebook, audiobook).

Tworzenie serwisów WWW może być bardzo frustrującym zajęciem. Jakże często spotykamy się z sytuacją, kiedy dopracowany i przetestowany w jednej przeglądarce serwis WWW wygląda koszmarnie w innej? Ile razy trzeba było przepisywać kod serwisu z powodu pojawienia się nowej przeglądarki i nowych 'możliwości'? Najwyższy czas na zmianę. Standardy projektowania serwisów WWW opracowano właśnie po to, aby takie sytuacje nie miały miejsca. Mają one pomóc projektantowi w tworzeniu serwisów WWW, które będą wyglądać tak samo dobrze w każdej przeglądarce i na każdym urządzeniu.

Książka ta jest nieocenionym źródłem informacji dla każdego projektanta serwisów WWW. Zawarte w niej informacje umożliwią stworzenie serwisu, który nie tylko będzie uniwersalny, czytelny, łatwy w nawigacji, testowaniu i aktualizowaniu, ale także zgodny ze wszystkimi wytycznymi dotyczącymi projektowania sieciowego.

Czytając tę książkę, dowiesz się:

Dodatkowym, bardzo pomocnym materiałem, jest zestawienie informacji o używanych obecnie przeglądarkach internetowych.

O autorze:
Jeffrey Zeldman jest jednym z najbardziej znanych projektantów sieciowych na świecie. W 1998 roku był współzałożycielem The Web Standards Project -- stowarzyszenia projektantów i konstruktorów serwisów sieciowych [więcej...\

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

IDZ DO IDZ DO PRZYK£ADOWY ROZDZIA£ PRZYK£ADOWY ROZDZIA£ SPIS TREĎCI SPIS TREĎCI KATALOG KSI¥¯EK KATALOG KSI¥¯EK KATALOG ONLINE KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK TWÓJ KOSZYK DODAJ DO KOSZYKA DODAJ DO KOSZYKA CENNIK I INFORMACJE CENNIK I INFORMACJE ZAMÓW INFORMACJE ZAMÓW INFORMACJE O NOWOĎCIACH O NOWOĎCIACH ZAMÓW CENNIK ZAMÓW CENNIK CZYTELNIA CZYTELNIA FRAGMENTY KSI¥¯EK ONLINE FRAGMENTY KSI¥¯EK ONLINE Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl Projektowanie serwisów WWW. Standardy sieciowe Autor: Jeffrey Zeldman T³umaczenie: Janusz Grabis (rozdz. 1–9), Szymon Kobalczyk (rozdz. 10–16, dod. A) ISBN: 83-7361-394-3 Tytu³ orygina³u: Designing with Web Standards Format: B5, stron: 408 Tworzenie serwisów WWW mo¿e byæ bardzo frustruj¹cym zajêciem. Jak¿e czêsto spotykamy siê z sytuacj¹, kiedy dopracowany i przetestowany w jednej przegl¹darce serwis WWW wygl¹da koszmarnie w innej? Ile razy trzeba by³o przepisywaæ kod serwisu z powodu pojawienia siê nowej przegl¹darki i nowych „mo¿liwoġci”? Najwy¿szy czas na zmianê. Standardy projektowania serwisów WWW opracowano w³aġnie po to, aby takie sytuacje nie mia³y miejsca. Maj¹ one pomóc projektantowi w tworzeniu serwisów WWW, które bêd¹ wygl¹daæ tak samo dobrze w ka¿dej przegl¹darce i na ka¿dym urz¹dzeniu. Ksi¹¿ka ta jest nieocenionym ĥród³em informacji dla ka¿dego projektanta serwisów WWW. Zawarte w niej informacje umo¿liwi¹ stworzenie serwisu, który nie tylko bêdzie uniwersalny, czytelny, ³atwy w nawigacji, testowaniu i aktualizowaniu, ale tak¿e zgodny ze wszystkimi wytycznymi konsorcjum W3C dotycz¹cymi projektowania sieciowego. Czytaj¹c tê ksi¹¿kê, dowiesz siê: • Dlaczego Twoje serwisy WWW wygl¹daj¹ inaczej w ró¿nych przegl¹darkach • Czym kieruj¹ siê twórcy standardów sieciowych • Jakie problemy wyst¹pi³y przy pierwszych próbach znormalizowania metod projektowania • Jak stworzyæ czytelny i uniwersalny kod z wykorzystaniem jêzyka XHTML • W jaki sposób stworzyæ strony WWW tak, aby by³y poprawnie wyġwietlane na ró¿nych urz¹dzeniach • Jak zdefiniowaæ wygl¹d strony za pomoc¹ stylów CSS • Jak poradziæ sobie z ró¿nymi przegl¹darkami • Jak rozwi¹zaæ problemy zwi¹zane z czcionkami na stronach WWW • W jaki sposób zaimplementowaæ w serwisie WWW mechanizmy u³atwieñ dostêpu • Jak wykorzystaæ na stronie skrypty oparte na modelu DOM (Document Object Model) Dodatkowym, bardzo pomocnym materia³em, jest zestawienie informacji o u¿ywanych obecnie przegl¹darkach internetowych. Spis treści O Autorze ......................................................................................... 13 Wprowadzenie .................................................................................. 15 Nie wszystko dla wszystkich...................................................k..........................................15 Teoria a praktyka ...................................................k...................................................k..16 Układy hybrydowe: rychły koniec? ...................................................k.........................16 Ciągłość, nie zbiór sztywnych reguł ...................................................k..............................19 Pokazuj, nie sprzedawaj...................................................k...........................................19 Niech praca sprzedaje się sama...................................................k................................20 Sprzedaż domowa ...................................................k...................................................k.21 Zapach zmian ...................................................k...................................................k..............21 Część I Houston, mamy problem .................................................23 Zanim zaczniesz ............................................................................... 25 Nakręcanie kosztów, zmniejszanie zwrotów ...................................................k.................25 Przerwanie cyklu starzenia się ...................................................k.......................................27 Czym jest zgodność w przód?...................................................k........................................28 Żadnych zasad, żadnego dogmatu...................................................k..................................29 Praktyka, nie teoria...................................................k...................................................k......31 Czy ta podróż jest naprawdę potrzebna?...................................................k........................32 Rozdział 1. 99,9 witryn jest przestarzałych ....................................................... 35 Nowoczesne przeglądarki i standardy sieciowe...................................................k.............36 Nowy kod do nowej pracy ...................................................k.......................................36 Problem „wersji” ...................................................k...................................................k.........38 Myślenie wsteczne ...................................................k...................................................k......39 Przestarzałe znaczniki: dodatkowy koszt dla właścicieli witryn ................................42 Zgodność wstecz...................................................k...................................................k...43 Blokowanie użytkowników nie wpływa dobrze na interesy.......................................45 Droga do Pacanowa ...................................................k.................................................48 Dobre traktowanie złego kodu ...................................................k.......................................49 Lek...................................................k...................................................k...............................51 4 Projektowanie serwisów WWW. Standardy sieciowe Rozdział 2. Projektowanie i budowanie z użyciem standardów............................. 53 Pokonywanie trudności ...................................................k..................................................55 Koszt projektowania przed wprowadzeniem standardów.................................................56 Nowoczesna strona starymi metodami...................................................k...........................57 Trzy elementy standardów sieciowych ...................................................k..........................60 Struktura...................................................k...................................................k................60 Prezentacja ...................................................k...................................................k............62 Zachowanie ...................................................k...................................................k...........62 W praktyce ...................................................k...................................................k..................63 Zalety metod przejściowych...................................................k...........................................63 Projekt standardów sieciowych: przenośność w zastosowaniu.........................................66 Jeden dokument dla wszystkich...................................................k...............................67 A List Apart: jedna strona, wiele widoków...................................................k....................69 Projektowanie nie tylko z przeznaczeniem na ekran ..................................................71 Oszczędność czasu i kosztów, wzrost zysków ...................................................k........72 ......73 Przejściowa zgodność w przód ...................................................k................................73 Całkowita zgodność w przód ...................................................k...................................75 Co dalej?...................................................k...................................................k................ Rozdział 3. Problem ze standardami.................................................................... 79 Miło popatrzeć, trudno zakodować ...................................................k................................79 Wspólne zamiary, wspólne środki ...................................................k...........................81 Przyjęcie standardów a rzeczywistość ...................................................k.....................82 2000 — rok, w którym przeglądarki osiągnęły dojrzałość ...............................................83 IE5/Mac: przełączanie i powiększanie...................................................k.....................84 Mocne posunięcie Netscape’a...................................................k..................................84 Przełamanie tamy...................................................k...................................................k..87 Za mało, za późno?...................................................k...................................................k......88 CSS: pierwsze koty za płoty ...................................................k....................................88 Złe przeglądarki prowadzą do złych praktyk ...................................................k.................89 Klątwa złego odwzorowywania...................................................k...............................90 Brak dziedziczenia ...................................................k...................................................k91 Złe zachowanie ...................................................k...................................................k.....92 Długo oczekiwany standard w językach skryptowych ...............................................92 Mało czytelne witryny, niezrozumiałe nazewnictwo...................................................k.....93 Problemy akademickie a problemy ekonomiczne ...................................................k...94 Konsorcjum sugeruje, firmy sprzedają ...................................................k....................95 Świadomość produktu a świadomość standardów...................................................k...95 ........97 Flash ...................................................k...................................................k.................... Wartość Flasha...................................................k...................................................k......97 Problem z Flashem...................................................k.................................................100 Inny problem z Flashem...................................................k.........................................100 Zgodność to brzydkie słowo ...................................................k........................................101 Potęga języka w formowaniu percepcji ...................................................k.................101 Problem z inspiracją...................................................k...............................................101 Inne problemy ...................................................k...................................................k.....102 Rozdział 4. XML podbija świat (oraz inne opowieści o sukcesach standardów sieciowych) ............. 105 Uniwersalny język (XML) ...................................................k...........................................106 Porównanie XML-a i HTML-a...................................................k..............................106 Jeden rodzic, wiele dzieci ...................................................k......................................107 Niezbędny element profesjonalnego oprogramowania.............................................108 Bardziej popularny niż MTV ...................................................k.................................110 Spis treści 5 Pięć spraw świadczących o potędze technologii ...................................................k...111 Pokaźna dawka wynalazków ...................................................k.................................112 Narzędzia do publikacji dla całej reszty ...................................................k................113 Do twoich usług ...................................................k...................................................k..115 XML a twoja witryna ...................................................k...................................................k115 Ciągle w fazie przedszkola ...................................................k....................................116 Zgodny z natury ...................................................k...................................................k........116 Era współpracy...................................................k...................................................k..........117 Testy i specyfikacje...................................................k................................................117 Jak można ze sobą współpracować? ...................................................k......................118 Standardy sieciowe i narzędzia ...................................................k....................................119 Grupa zadaniowa Dreamweaver ...................................................k............................120 Narzędzia WYSIWYG przełomu wieków (dwa z trzech nienajgorsze)...................121 FrontPage: niezgodny z założenia ...................................................k.........................121 Nadejście układów CSS ...................................................k...............................................122 Kampania uaktualniania przeglądarek...................................................k...................122 Początek potopu ...................................................k...................................................k..125 Skąd czerpać style? ...................................................k................................................126 Chwilowa moda… o ustalonym przeznaczeniu...................................................k.....129 Upowszechnianie standardów sieciowych ...................................................k...................130 Witryny komercyjne dają się ponieść fali...................................................k..............132 Wired Digital zmienia technologię ...................................................k........................133 Łącznie standardów z metodami tradycyjnymi ...................................................k.....135 Do akcji wkracza W3C ...................................................k..........................................137 Podsumowanie ...................................................k...................................................k..........137 Część II Projektowanie i budowanie ...........................................139 Rozdział 5. Nowoczesny układ znaczników ........................................................ 141 Ukryty schemat kiepskiego kodu ...................................................k.................................144 Przeformułowanie ...................................................k...................................................k.....146 Podsumowanie ...................................................k...................................................k..........148 Który XHTML jest dla mnie najlepszy? ...................................................k......................148 10 najważniejszych powodów, dla których warto wybrać XHTML ........................149 5 powodów, dla których nie warto wybierać XHTML-a..........................................150 Rozdział 6. XHTML: restrukturyzacja sieci......................................................... 151 Konwersja do XHTML-a: proste zasady, łatwe wytyczne .............................................152 Na początku poprawny typ dokumentu i przestrzeń nazw .......................................152 Zadeklaruj typ zawartości strony ...................................................k...........................154 Wszystkie znaczniki pisz małymi literami ...................................................k............156 Wartości wszystkich atrybutów umieszczaj w cudzysłowach..................................158 Wszystkie atrybuty wymagają wartości...................................................k.................159 Zamykaj wszystkie znaczniki ...................................................k................................159 Zamykaj również „puste” znaczniki ...................................................k......................160 Zakaz stosowania podwójnych myślników w komentarzach ...................................161 Koduj wszystkie znaki i ...................................................k..................................161 Podsumowanie zasad XHTML-a...................................................k...........................161 Kodowanie znaków: toporne, bardziej toporne i najbardziej toporne ............................162 Unicode i inne zestawy znaków...................................................k.............................162 Leczenie strukturalne ...................................................k...................................................k163 Sensowne kodowanie dokumentu...................................................k..........................163 Swoboda w ustalonych ramach...................................................k..............................164 Elementy wizualne i struktura...................................................k......................................167 6 Projektowanie serwisów WWW. Standardy sieciowe Rozdział 7. Struktura w układzie ścisłym i hybrydowym: gwarancja zwartych i trwałych stron............................................... 169 Czy każdy element musi być strukturalny?...................................................k..................170 div, id i inni pomocnicy ...................................................k.........................................171 Odważ się robić mniej ...................................................k...........................................174 Układy hybrydowe i spójny kod: co należy, a czego nie wolno .....................................175 Nazwijmy złe rzeczy po imieniu...................................................k............................176 Powszechne błędy w układach hybrydowych...................................................k........176 Znaczniki div są w porządku ...................................................k.................................179 Pokochać atrybut id...................................................k................................................180 Zakaz stosowania nadmiarowych komórek tabel ...................................................k..181 Przeterminowane metody w paradzie ...................................................k..........................183 Czas map...................................................k...................................................k.............183 Cięcie i składanie ...................................................k...................................................k184 W obronie układów tabelek nawigacyjnych ...................................................k..........186 Nadmiarowa rozwlekłość tabel...................................................k..............................186 Powraca zły CSS...................................................k...................................................k.187 Co dalej? ...................................................k...................................................k.............189 Rozdział 8. XHTML w przykładach: układ hybrydowy (część I)........................... 191 Zalety metod hybrydowych zastosowanych w tym rozdziale.........................................191 Arkusze stylów zamiast JavaScriptu...................................................k......................192 Podstawowe podejście (wstęp)...................................................k.....................................192 Oddzielne tabele: korzyści pod względem CSS i funkcji ułatwień dostępu.............193 Skip navigation — co i jak...................................................k.....................................194 Dodatkowe atrybuty id...................................................k...........................................198 Pierwszy kod taki sam jak ostatni ...................................................k................................199 Kod nawigacji: pierwsza tabela ...................................................k.............................199 Prezentacja, semantyka, czystość i grzech...................................................k.............200 Kod treści (druga tabela)...................................................k........................................201 Rozdział 9. Podstawy CSS ................................................................................ 203 Wstęp do CSS..................................................k...................................................k.............203 Korzyści z CSS ...................................................k...................................................k...204 Anatomia stylów ...................................................k...................................................k.......204 Selektory, deklaracje, właściwości i wartości...................................................k........205 Wielokrotne deklaracje ...................................................k..........................................206 Biała przestrzeń i brak rozpoznawania wielkości znaków .......................................207 Wartości ogólne i alternatywne ...................................................k.............................207 Selektory grupowe ...................................................k.................................................208 Dziedziczenie i jego rozłączanie...................................................k............................209 Selektory kontekstowe (potomne) ...................................................k.........................210 Selektory id i kontekstowe selektory id ...................................................k.................211 Selektory klas...................................................k...................................................k......212 Łączenie selektorów do tworzenia zaawansowanych efektów.................................213 Style zewnętrzne, osadzone i inline ...................................................k.............................215 Zewnętrzne arkusze stylów...................................................k....................................215 Style inline ...................................................k...................................................k..........218 Metoda „najlepszego możliwego scenariusza” ...................................................k............218 Od stylów osadzonych do zewnętrznych: metoda dwóch arkuszy...........................219 Względne i absolutne ścieżki plików...................................................k.....................220 Korzyści płynące ze stosowania metod najlepszego możliwekgo scenariusza i dwóch arkuszy stylów ...................................................k.......................................220 Spis treści 7 Rozdział 10. Zastosowanie CSS: układ hybrydowy (część II)............................... 221 Przygotowanie ilustracji...................................................k...............................................221 Ustalenie podstawowych parametrów...................................................k..........................223 Style ogólne, więcej na temat skrótów i marginesów...............................................223 Elementy niewidoczne i blokowe ...................................................k..........................224 Kolory odnośników (wprowadzamy pseudoklasy)...................................................k226 Poprawiamy inne pospolite elementy ...................................................k....................228 Więcej na temat rozmiarów czcionek ...................................................k....................229 Rozmieszczenie podziałów strony...................................................k.........................232 Elementy nawigacyjne: pierwsze podejście...................................................k.................234 CSS dla elementów nawigacyjnych: pierwsza próba przy drugim podejściu.................237 CSS dla elementów nawigacyjnych: ostatnie podejście .................................................238 Czynności końcowe: style zewnętrzne oraz efekt „jesteś tutaj” .....................................239 Rozdział 11. Praca z przeglądarką. Część I: przełączanie przez typ dokumentu i tryb standardowy...................... 243 Saga o przełączaniu przez deklarację typu dokumentu...................................................k244 Przełącznik do włączania i wyłączania standardów .................................................245 Przełączenie przełącznika ...................................................k......................................246 Sterowanie wydajnością przeglądarki: przełącznik typu dokumentu .............................247 Trzy tryby pracy przeglądarek Gecko...................................................k....................247 Kompletne i niekompletne deklaracje typu dokumentu ...........................................248 Pełna lista kompletnych deklaracji typu dokumentu XHTML .................................249 Świętujmy różnorodność przeglądarek! (A przynajmniej nauczmy się z nią żyć) .........252 Problem luk pomiędzy obrazkami w Gecko...................................................k..........252 Od „niech żyje różnorodność” do „@#$! Tego $#@$.”...........................................256 Rozdział 12. Praca z przeglądarką. Część II: model ramkowy, błędy i sposoby radzenia sobie z nimi .................... 257 Model ramkowy i jego braki ...................................................k........................................258 Jak działa model ramkowy?...................................................k...................................259 Jak model ramkowy został złamany? ...................................................k....................260 Sztuczka z modelem ramkowym: CSS stanie się bardziej demokkratyczny dzięki odpowiednim zabezpieczeniom...................................................k................266 Błąd znaków odstępu w IE dla Windows...................................................k.....................268 Błąd właściwości „float” w IE6 dla Windows ...................................................k.............271 Flash i QuickTime: obiekty pożądania?...................................................k.......................273 Obiekty osadzane: opowieść o próżności i zemście .................................................273 Dwie pieczenie na jednym ogniu: osadzanie obiektów multikmedialnych przy przestrzeganiu standardów ...................................................k..........................274 Łyżka dziegciu w beczce miodu: object nie działa ..............................................275 Świat, w którym omijanie błędów jest codziennością ...................................................k.277 Rozdział 13. Praca z przeglądarką. Część III: typografia...................................... 279 Rozmiar ma znaczenie ...................................................k.................................................279 Kontrola użytkownika ...................................................k..................................................280 Horrory starej szkoły...................................................k...................................................k.280 Punkty sporne...................................................k...................................................k......282 Nareszcie standardowy rozmiar — ale na jak długo? ...................................................k..283 Wszelkie starania zniweczone przez jedno kliknięcie ..............................................285 Upojenie węszycieli: zła reakcja na zmiany w przeglądarkach................................285 Chimera i Safari: świetna wydajność, wstyd w kwestii rozmiarów .........................287 Jednostki em zawodzą...................................................k..................................................289 Ustawienia użytkownika a jednostki em...................................................k................293 8 Projektowanie serwisów WWW. Standardy sieciowe Piksele dowodzą, że piksele działają...................................................k............................294 Najmniejsza jednostka: to rzecz całkowicie względna.............................................295 Kłopot z pikselami ...................................................k.................................................297 Metoda symbolicznych rozmiarów czcionek...................................................k...............299 Dlaczego wartości symboliczne wygrywają z jednostkami em i procentami?.........300 Początkowe problemy przy implementacji wartości symbolicznych .......................301 Wartości symboliczne dojrzewają: metoda Fahrnera ...............................................302 Użyteczne czcionki: poszukiwania trwają ...................................................k.............304 Rozdział 14. Podstawowe mechanizmy ułatwień dostępu.................................... 305 Dostępność według podręczników...................................................k...............................306 Powszechna dezorientacja...................................................k............................................308 Zły duch macza w tym palce ...................................................k.................................308 Prawo i kompozycja ...................................................k...................................................k..310 Wyjaśniamy znaczenie paragrafu 508 ...................................................k...................310 Obalamy mity dostępności ...................................................k...........................................313 Mit: dostępność zmusza cię do tworzenia dwóch wersji witryny.............................313 Mit: wersja tekstowa zaspakaja wymagania równego lub równorzędnego dostępu .. 313 Mit: dostępność kosztuje zbyt wiele ...................................................k......................314 Mit: dostępność wymusza tworzenie prymitywnych, słabej jakości projektów.......316 Mit: zgodnie z paragrafem 508 witryna musi wyglądać tak samok we wszystkich przeglądarkach i agentach użytkownika ........................................316 Mit: dostępność jest „tylko dla osób niepełnosprawnych” .......................................317 Mit: Dreamweaver MX/Watchfire’s Bobby/ Tutaj wstaw nazwę narzędzia rozwiązuje wszelkie problemy dostępności ...........317 Mit: projektanci mogą swobodnie ignorować przepisy o dokstępności, jeśli tak nakazują im klienci ...................................................k................................318 Udogodnienia dostępu element po elemencie...................................................k..............318 Obrazki...................................................k...................................................k................319 Apple QuickTime i inne przesyłane strumieniowo obrazy wideo............................321 Macromedia Flash 4/5...................................................k............................................321 Macromedia Flash MX ...................................................k..........................................322 Kolory ...................................................k...................................................k.................324 CSS ...................................................k...................................................k.....................324 Efekty rollover oraz inne zachowania implementowane w skryptach......................326 Formularze ...................................................k...................................................k..........328 Mapy obrazu ...................................................k...................................................k.......328 Układy oparte na tabelach...................................................k......................................328 Tabele przechowujące dane ...................................................k...................................329 Ramki i aplety ...................................................k...................................................k.....329 Elementy błyskające lub migające...................................................k.........................329 Sprawdzone narzędzia...................................................k..................................................330 Korzystanie z serwisu Bobby...................................................k.......................................330 Interpretowanie list kontrolnych ...................................................k............................331 Zachowaj kolejność: nasz dobry znajomy atrybut tabindex .....................................331 Planowanie dostępu: jak na tym skorzystasz ...................................................k...............336 Rozdział 15. Wykorzystanie skryptów opartych na modelu DOM.......................... 339 Poznaj DOM...................................................k...................................................k..............339 Standardowy sposób na to, by strony WWW zachowywały się jak aplikacje .........340 Zatem gdzie to działa? ...................................................k...........................................342 Brakująca (inter)akcja: środowiska nieobsługujące DOM .......................................343 Drobne detale DOM...................................................k...............................................345 Spis treści 9 Proszę, DOM, nie zrób im krzywdy...................................................k.............................345 Pokazywanie i ukrywanie...................................................k.............................................349 Dynamiczne menu (opuszczane i rozwijane)...................................................k...............353 Przełączniki stylów: ułatwiają dostęp, oferują wybór...................................................k..354 Rozdział 16. Przeprojektowywanie z zastosowaniem CSS.................................... 359 Definiujemy cele ...................................................k...................................................k.......359 Charakter marki ...................................................k...................................................k..360 10 najważniejszych celów...................................................k......................................360 W tym szaleństwie tkwi metoda ...................................................k............................362 Ustalamy podstawowe parametry ...................................................k................................365 Instalujemy pasek boczny ...................................................k......................................366 Ustalenie położenia...................................................k................................................367 Tworzymy kolorowe paski ...................................................k....................................369 Przestrzeń dla treści ...................................................k...............................................370 Projektowanie oparte na regułach ...................................................k................................371 Przycisk strony głównej z efektem rollover...................................................k.................374 Inne zastosowania metody Fahrnera zastępowania obrazków (FZO) ......................376 Pasek nawigacyjny w CSS/XHTML...................................................k............................379 Dodajemy style ...................................................k...................................................k...379 Czynności końcowe...................................................k...................................................k...384 Dodatki ...................................................u....................................389 Dodatek A Nowoczesne przeglądarki: dobre, złe i okropne................................ 391 Zgodne przeglądarki: pierwsza fala ...................................................k.............................392 Opera 7...................................................k...................................................k................392 MSIE5+/Macintosh...................................................k................................................392 Netscape 6+...................................................k...................................................k.........393 Mozilla 1.5 ...................................................k...................................................k..........393 Safari ...................................................k...................................................k...................394 MSIE 6/Windows...................................................k...................................................k394 MSIE 5.5/Windows...................................................k................................................395 MSIE 5/Windows...................................................k...................................................k395 Netscape 4...................................................k...................................................k...........396 MSIE 4 ...................................................k...................................................k................396 Skorowidz....................................................................................... 397 Rozdział 1. 99,9 witryn jest przestarzałych Jest taka choroba, która dotyka niemal każdej witryny znajdującej się obecnie w sieci, od najskromniejszej strony domowej po portale korporacyjnych gigantów. Przebiegła i podstępna, rozprzestrzenia się niemal nierozpoznana, ponieważ bazuje na standardach przemysłu sieciowego. Chociaż projektanci i właściciele stron mogą o tym jeszcze nie wiedzieć, 99,9 witryn jest przestarzałych. Strony mogą wyglądać i zachowywać się prawidłowo w popularnych przeglądarkach, których wersje są oznaczone cyfrą 4 lub 5. Ale poza tym tolerującym błędy środowiskiem zaczynają być już widoczne symptomy choroby i rozkłaodu. W nowych wersjach przeglądarki Microsoft Internet Explorer, Opera Software, Netscape Navigator i Mozilla (przeglądarka typu open source bazująca na silniku Gecko, którego kod jest sterownikiem między innymi takich środowisk jak Navigator, CompuServe, AOL dla OS X, AOL China) starannie zbudowane układy stron zaczynają się rozpadać, a kosztowne mechanizmy zachowań przestają funkcjonować. Wraz z ewolucją tych przeglądarek wydajność stron będzie stale spadać. W mniej znanych przeglądarkach, urządzeniach przystosowanych do potrzeb osób nie- pełnosprawnych, a także w zyskujących popularność palmtopach czy telefonach komór- kowych z dostępem do sieci, większość stron nigdy nie działała, podczas gdy marginalna ich część działa doskonale. W zależności od potrzeb i budżetu właściciele witryn oraz sami projektanci ignorowali tego typu środowiska lub zauważali ich istnienie i zasilali je specjalnie przygotowanym kodem w taki sam sposóbo, jak dla zwykłych przeglądarek. Aby zrozumieć bezsens takich działań i zobaczyć, w jaki sposób zwiększają one koszty i komplikują rozwój witryny, nigdy nie doprowadzając do osiągnięcia zamierzonego celu, musimy przeanalizować zachowanie nowoczesnych przeglądarek i dostrzec różnice występujące między nimi a ich starszymi niezgodnymio wersjami. 36 Część I ♦ Houston, mamy problem Nowoczesne przeglądarki i standardy sieciowe Mówiąc w tej książce o „nowoczesnych” lub „zgodnych ze standardami” przeglądarkach, będziemy mieć na myśli przeglądarki, które rozpoznają oraz obsługują HTML i XHTML, kaskadowe arkusze stylów (CSS), ECMAScript oraz model obiektów dokumentu (W3C DOM). Wszystkie standardy zebrane razem pozwolą nam wznieść się ponad prezenta- cyjny układ znaczników, niezgodne języki skryptowe oraz będący ich wynikiem nie- ustający proces starzenia się witryn. Do nowoczesnych przeglądarek zaliczają się między innymi: Mozilla 1.0+, Netscape Navigator 6+, Microsoft Internet Explorer 6+ dla Windows, Microsoft Internet Explo- rer 5+ dla komputerów Macintosh i nowsze oraz Opera 7. Porównanie najnowszych, zgod- nych ze standardami przeglądarek zostało umieszczone w dodatku A książki „Nowoczesne przeglądarki: dobre, złe i okropne”. Nie jest to lista wyczerpująca. Każda próba wyli- czenia wszystkich przeglądarek zgodnych ze standardami jest z góry skazana na nie- powodzenie. Mimo że będziemy stosować termin „zgodna ze standardami”, proszę pa- miętać o tym, co zostało powiedziane we wstępie: żadna z przeglądarek nie jest i nie może być całkowicie zgodna ze standardami. Brak perfekcji przeglądarek nie zwalnia z dążenia do zgodności ze standardami. Miliony ludzi używają obecnie Internet Explorera 5 i 5.5 dla Windows. Jeśli chodzi o zacho- wanie standardów, te przeglądarki są gorsze od IE6/Windows, Netscape 6+ itd. Czy to oznacza, że jeśli nasz serwis odwiedzają użytkowonicy tych przeglądarek, powinniśmy zapomnieć o standardach sieciowych? A może powinniśmy zaproponować im dokonanie uaktualnienia oprogramowania lub rezygnację z naszych usług? Nie. Projektowanie zo- rientowane na standardy sieciowe nie oznacza i nie wymaga „projektowania wyłącznie dla najnowszych przeglądarek”. Użycie języka XHTML i stylów CSS nie jest równo- znaczne z ignorowaniem użytkowników Netscape’a 4. Zaprojektowana i zbudowana zgodnie ze standardami strona najprawdopodobniej nie będzie wyświetlana dokładnie tak samo przez Netscape’a 4 i bardziej zgodne ze standardami przeglądarki. W zależno- ści od przyjętej metody projektowej jej wygląd może być różny. Nie jest to jednak nic szczególnego. Wyjaśnimy to w drugiej części książki „Porojektowanie i budowanie”. Nowy kod do nowej pracy Nowoczesne przeglądarki nie są jedynie nowszymi wersjami tej samej starej serii. Różnią się zdecydowanie od swoich poprzedniczek. W wielu przypadkach zostały przebudo- wane od podstaw. Mozilla, Netscape 6/7 i przeglądarki bazujące na silniku Gecko nie są nowszymi wersjami Netscape Navigatora 4. IE5+/Mac nie jest uaktualnioną wersją IE4/Mac. Opera 7 nie bazuje na tym samym kodzie, który „napędzał” poprzednie wersje przeglądarki. Wszystkie zostały zbudowane na bazie nowego kodu w celu realizacji nowego zadania, a mianowicie zachowania jak największej zgodności ze standardami sieciowymi opisanymi w tej książce. Rozdział 1. ♦ 99,9 witryn jest przestarzałych 37 Przeglądarki lat dziewięćdziesiątych ubiegłego stulecia skupiały się natomiast na firmo- wych technologiach i nie zwracały zbytnio uwagi na standardy. Niektóre standardy były przez nie wręcz całkowicie ignorowane. Sytuacja taka nie była jednak traktowana jako poważne utrudnienie w procesie projektowania. Jeżeli, na przykład, przeglądarka nie obsługiwała standardu PNG (ang. Portable Network Graphic), projektanci nie używali obrazków w tym formacie. Kłopot polegał na tym, że stare przeglądarki wyświad- czały „niedźwiedzią” przysługę standardom, oferując jedynie ich częściową obsługę, często niezgodną z założeniami. Byle jakie wsparcie dla tak podstawowych standardów jak HTML stworzyło niejednorodne środowisko publikacji, a w konsekwencji mało trwałe metody produkcji. Kiedy pęka wyrostek robaczkowy u pacjenta, wykwalifikowani chirurdzy usuwają go całkowicie. Wyobraź sobie teraz, że zamiast nich zabieg wykonuje stażystka. Usuwa zaledwie połowę organu, przy okazji dźgając kilka sąsiednich i na końcu zapominając zaszyć pacjenta. Porównanie jest trochę makabryczne, ale doskonale oddaje podejście do obsługi standardów w starych przeglądarkach: niebezpiecznie niekompletne, nieudolne i ryzykowne dla zdrowia całej sieci. Jeżeli Netscape 4 ignoruje reguły CSS zastosowane do znacznika DQF[ i dodaje losowe białe znaki do każdego elementu struktury na stronie, a IE4 traktuje ten znacznik prawi- dłowo, ale dla odmiany partaczy wyrównywanie, to którą ich wersję należy zastosować w projekcie? Niektórzy programiści w ogóle rezygnowali z CSS. Inni stosowali jeden arkusz stylów kompensujący błędy IE4 i drugi kompensujący gafy Netscape’a 4. Po- trzebne było również stosowanie odmiennych stylów w zależności od tego, czy odwie- dzający stronę jest użytkownikiem platformy Windows czy Macintosh (użytkownicy systemów Unix i Linux nie byli w ogóle brani pod uwagęo). Problemy z arkuszami stylów były zaledwie kroplą w morzu. Przeglądarki nie po- trafiły jednakowo obsługiwać języka HTML, prezentować tabel lub interpretować języków skryptowych używanych do tworzenia interaktywnych elementów strony. Nie istniał jeden sposób budowania struktury zawartości strony. (Dokładnie mó- wiąc, istniał taki sposób, ale nie był obsługiwany przez żadną z przeglądarek.) Nie było żadnego ustalonego sposobu produkowania stron (tzn. istniał, ale nie był ob- sługiwany przez przeglądarki) lub dodawania zaawansowanych elementów do jej zawartości (także taki sposób istniał, lecz nie był rozpoznawany przez żadną ze sta- rych przeglądarek). Projektanci i programiści, walczący z ciągle pojawiającymi się niezgodnościami, wypra- cowali praktykę tworzenia wersji kodu dostosowanych do potrzeb każdej pojawiającej się przeglądarki. Było to wszystko, co w owym czasie mogliśmy zrobić, aby stworzyć witrynę dostępną dla więcej niż jednej przeglądarki lub systemu operacyjnego. Obecnie taka praktyka jest błędna, ponieważ nowoczesne przeglądarki obsługują te same otwarte standardy. Mimo to funkcjonuje nadal, pochłaniając zasoby, fragmentując sieć i gene- rując niedostępne, mało użyteczne witryny. 38 Część I ♦ Houston, mamy problem Problem „wersji” Tworzenie wielu wersji niestandardowego kodu (każdej dostosowanej do niestandardo- wych dziwactw tej lub innej przeglądarki) stanowi źródło ciągłego starzenia się stron — plagi dotykającej większość witryn. Trudno zwyciężyć w grze, której cele i zasady zmieniają się w trakcie meczu. Mimo swojej kosztowności, bezsensowności i nietrwałości opisana praktyka nadal domi- nuje na rynku. Projektanci mający do czynienia z przeglądarką obsługującą standardy sieciowe traktują ją jak jedną z tych, które nie posiadają tej cechy. Tworzą kod, aby sprawdzić, czy jest to IE6, i „karmią” ją skryptami obsługiwanymi wyłącznie przez wytwory firmy Microsoft, chociaż IE6 radzi sobie ze standardami ECMAScript i DOM. Następnie czują się zmuszeni do napisania oddzielnych procedur dokonujących detekcji nowej przeglądarki Netscape, chociaż ta również potorafi obsłużyć wymienione standardy. Jak sugeruje powyższy przykład, większość kodu podpatrującego wersje przeglądarek i urządzeń oraz generującego indywidualny kod jest niepotrzebna w obecnym klimacie tolerancji dla standardów. Nawet przy regularnych uaktualnieniach — na które niewielu właścicieli witryn może sobie pozwolić — skrypty dokonujące detekcji często zawodzą. Na przykład przeglądarka Opera dla Windows identyfikuje się jako Internet Explorer. Robi to głównie po to, aby uniknąć blokowania przez witryny (w szczególności nale- żące do sektora bankowego), które dokonują detekcji IE. Jednak skrypty napisane dla IE mają tendencję do „wysypywania” się w Operze. Kiedy zatem zidentyfikuje się ona jako IE (jest to domyślne ustawienie po zainstalowaniu) witrynie, której programista napisał kod specjalnie pod IE, liczba powstałych błędów oraz poziom frustracji użyt- kownika rośnie bardzo szybko. Mają oni możliwość zmiany ustawień w taki sposób, aby Opera identyfikowała się swoją prawdziwą tożsamością, zamiast podszywać się pod IE. O tej opcji wie jednak zaledwie garstka osób. Oprócz skryptów dokonujących detekcji programiści piszą również rozbudowany kod prezentacji strony, który wymaga większej przepustowości od łącza klienta pragnącego ściągnąć stronę, jak i od udostępniającego ją serwera. Rozbudowany kod zmniejsza dostępność strony dla wyszukiwarek oraz niestandardowych przeglądarek i urządzeń in- ternetowych. Stosowane strategie wywołują zatem często efekty, którym miały zapobie- gać — niekonsekwentne prezentowanie witryn w różnycho przeglądarkach (rysunek 1.1.). Rozbicie witryny na różne wersje niesie ze sobą ciągle rosnące koszty oraz trudne do rozwiązania problemy. Witryny „DHTML” produkowane z uwzględnieniem firmowych specyfikacji Netscape’a 4.0 i Internet Explorera 4.0 nie działają w większości nowo- czesnych przeglądarek. Czy właściciel takiej witryny powinien wydać jeszcze więcej pieniędzy na rozwiązanie tego problemu, zlecając programistom stworzenie piątej lub szóstej wersji strony? A jeśli nie ma na to pieniędzy? Wielu użytkowników zostanie zablokowanych. Analogicznie projektanci mogą marnować wiele czasu i zasobów, tworząc „bezprze- wodową” wersję swojej strony tylko po to, aby przekonać się, że zastosowany przez nich język znaczników jest przestarzały lub strona nie funkcjonuje w nowym urządzeniu Rozdział 1. ♦ 99,9 witryn jest przestarzałych 39 Rysunek 1.1. Witryna MSN Game Zone (http://zone. msn.com/) obsługuje 7 arkuszy stylów, prezentuje się jednak niepoprawnie w najnowszych przeglądarkach. Chwali się 14 skryptami, wśród których jest bardzo opasły kod detekcji przeglądarek, ale nawet to jej nie pomaga. Jak widać, wykorzystanie dużej ilości kodu do rozwiązania problemu nie zawsze działa internetowym. Niektórzy w odpowiedzi na ten problem tworzą kolejną wersję witryny. Inni publikują żenujące komunikaty obiecujące wsparcie dla nowego urządzenia „w naj- bliższej przyszłości”. Nawet jeśli programista lub projektant zetknie się ze standardowymi technologiami sieciowymi, takimi jak XHTML i CSS, jego przyzwyczajenia pochodzące ze „starej” szkoły sprawiają, iż umyka mu sedno ich istnienia. Zamiast zastosować standardy do stworzenia jednej wersji, wielu programistów tworzy nadal co najmniej kilka wersji plików CSS zależnych od przeglądarki i/lub platformy, które niemal nigdy nie działają w oczekiwany sposób (rysunki 1.1 i 1.2). Stosując tego typu praktyki, marnujemy czas i pieniądze, których zwykle nie mamy w nadmiarze, wręcz przeciwnie. Oliwy do ognia dolewa fakt, że mimo wysokich kosztów stosowane praktyki nie rozwiązują problemu. Strony zachowują się niekonsekwentnie, a użytkownicy mają do nich utrudniony dostęp. Myślenie wsteczne Zajrzyj do wnętrza jakiejkolwiek większej strony, poczynając od Amazon do Micro- soft.com, od Sony po ZDNet. Zbadaj ich zawiły kod, osadzone kontrolki ActiveX i JavaScript (często zawierający źle działające skrypty rozpoznawania przeglądarek), a także z założenia źle użyte style CSS — o ile w ogóle je zastosowano. To cud, że te strony działają w jakiejkolwiek przeglądarce! Działają, ponieważ pierwsze cztery lub pięć pokoleń przeglądarek Netscape Navigator oraz Internet Explorer toleruje jedynie specyficzny dla siebie kod. Taka sytuacja wręcz zachęcała do niechlujnego kodowania i tworzenia skryptów zależnych od producenta oprogramowania, aby zwyciężyć w rynkowej wojnie przoeglądarek. 40 Część I ♦ Houston, mamy problem Rysunek 1.2. Jedna ze stron firmy Adobe (http://www.adobe.com/) wygląda źleS ze względu na nieprawidłowe formatowanie odstępów między wierszami (koleSjne wiersze zachodzą na siebie). Zamiast stworzyć jeden lub dwa połączone arkusze stylów dziSałające we wszystkich przeglądarkach, projektanci przedobrzyli, tworząc style zależne od przeglądaSrki i platformy o bardzo ubogim zestawie funkcji. Pozostając przy metodach „starej” szkoły, nie roSzumiemy, że technologie CSS i XHTML niemal zawsze eliminują potrzebę tworzenia kilku wersji witSryny Często niezgodne ze standardami witryny działają, ponieważ ich właściciele zainwe- stowali w drogie narzędzia do publikacji, które niwelują różnice między przeglądarkami przez generowanie wielu wersji kodu dostosowanego do danej przeglądarki lub plat- formy (patrz „Problem wersji”). Taka praktyka wystawia na próbę cierpliwość użytkow- nika korzystającego z modemowego dostępu do sieci przez zapychanie łącza rozwi- dlonym kodem, zagnieżdżonymi tabelami, generowanymi w locie obrazkami, a także przestarzałymi znacznikami i atrybutami. Co to jest rozwidlanie kodu? Kod stanowi podstawę każdego oprogramowania, systemu operacyjnego, generalnie mówiąc wszystkiego, co ma jakikolwiek związek z techniką cyfrową. Kiedy nad projektem pracuje więcej niż jedna grupa programistów, kod może „rozwidlić” się na kilka niezgodnych ze sobą wersji, szczególnie jeśli każda grupa próbuje rozwiązać inny problem lub przychylić się do ustaleń, o których inni nie słyszeli. Taki brak konsekwencji oraz sprawowania centralnej władzy nad kodem jest rzeczą złą. W tej książce termin „rozwidlanie kodu” oznacza praktykę polegającą na tworzeniu kilku różnych wersji kodu na potrzeby przeglądarek, które nie obsługują standardów ECMAScript i DOM (patrz „Problem wersji”). Kilka wersji kodu (który trzeba przesłać każdemu użytkownikowi) obciąża łącze wła- ściciela witryny, podnosząc drastycznie koszty utrzoymania serwisu. Im większa strona Rozdział 1. ♦ 99,9 witryn jest przestarzałych 41 i większy ruch na niej, tym więcej pieniędzy trzeba wydać na utrzymanie serwerów wykonujących zadania, których można uniknąć. Liczby nie kłamią. Jeżeli strona zredukuje swój kod o 35 , zredukuje również o tyle samo koszty utrzymania łącza. Firma wydająca 10 000 zł rocznie mogłaby zaoszczędzić 3500 zł. Przy wydatkach rzędu 64 000 zł oszczędności wynoszoą 22 400 zł. Strona domowa Yahoo (rysunek 1.3) jest ładowana miliony razy dziennie. Każdy bajt zmarnowany na przestarzały kod przemnożony przez astronomiczną liczbę odsłon daje w wyniku gigabajty danych przesyłanych bez potrzeby. Można sobie tylko wyobrazić koszty ponoszone z tytułu takiego marnotrawstwa. Gdyby Yahoo zastąpiło jedynie nie- stosowane już znaczniki HQPV (rysunek 1.4) przez wydajne style CSS, koszt ładowania każdej strony zmalałby wielokrotnie, a zyski firmy w konsekwencji wzrosłyby. Dlaczego zatem Yahoo nie wykonało takiego kroku? Rysunek 1.3. Strona domowa Yahoo (http://www. yahoo.com/) Tylko jedna odpowiedź wydaje się prawdziwa — firma pragnie, aby strona wyglądała dokładnie tak samo w starych przeglądarkach nieobsługujących CSS, jak i w nowych zachowujących zgodność z tym standardem. Ironia polega na tym, że nikt poza zarządem Yahoo nie przejmuje się jej wyglądem. Wiadomo bowiem, że olbrzymiego sukcesu witryna nie zawdzięcza wcale szacie graficznej (której nigdy nie posiadała), lecz ofe- rowanym usługom. Przykład tej, skądinąd interesującej, firmy (marnującej swoje łącza na dostarczanie wyglądu i zachowania1, którego nikt tak naprawdę nie podziwia) mówi wszystko o zako- rzenionym w umysłach projektantów podziwie dla „zgodności wstecz” i jej związku z użytecznością witryn oraz własnymi zyskami. 1 Wszystkich interaktywnych cech witryny, jakie możnha stworzyć przy użyciu HTML-a i JavaScriptu — przyp. tłum. 42 Część I ♦ Houston, mamy problem Rysunek 1.4. Yahoo od środka. Zobacz źródło, a przekonasz się, że kod służący do stworzenia tej prosto wyglądającej strony jest niewyobrażalnie skomplikowany Przestarzałe znaczniki: dodatkowy koszt dla właścicieli witryn Załóżmy, że kod jednej strony zbudowanej według starych zasad zajmuje 60 kB. Zastą- pienie znaczników HQPV oraz innych przestarzałych znaczników czystym kodem z kilkoma regułami CSS zmniejsza rozmiar strony do 30 kB. (W praktyce możliwe jest zredukowanie 60-kilobajtowej strony do 22 kB lub nawet mniej, ale dla zachowania łatwości obliczeń przyjmijmy okrągłą liczbę, która reprezentuje oszczędności łącza internetowego rzędu 50 .) Rozważmy dwa typowe scenariusze przedstawione poniżej. Redukcja łącza Scenariusz: Samodzielnie utrzymywana witryna małego przedsiębiorstwa lub witryna należąca do sektora publicznego obsługuje ciągły strumień odwiedzających — kilkaset odsłon w danej chwili. Po zredukowaniu rozmiaru stron o połowę — poprzez kon- wersję znaczników prezentacji strony — do zwięzłego, czystego kodu XHTML firma oszczędza 1500 zł miesięcznie. Jak to działa: Aby obsłużyć klientów przed konwersją, witryna potrzebowała dwóch linii T1 (1,544 Mb/s). Koszt dzierżawy każdej z nich wynosi 1500 zł na miesiąc. Po „ogoleniu” plików i zredukowaniu ich rozmiaru o 50 , firma dochodzi do wniosku, że jest w stanie obsłużyć tę samą liczbę klientów przez jedno łącze T1, tym samym redukując swoje koszty operacyjne o 1500 zł miesięcznie. Oprócz kosztów dzierżawy łącza zmniejszą się również nakłady na sprzęt komputerowy. Im prostszy jest kod Rozdział 1. ♦ 99,9 witryn jest przestarzałych 43 strony, tym szybciej jest ona dostarczana do użytkownika. Im szybciej jest dostarczana, tym mniej obciąża serwer — trzeba kupić, serwisować i modyfikować mniej serwerów. Jest to szczególnie istotne w przypadku serwerów, które muszą generować dynamiczną, sterowaną bazami danych zawartość — czyli zawartość, jaką posługują się niemal wszyst- kie współczesne witryny komercyjne. Licznik megabajtów Scenariusz: W miarę rozwoju komercyjnie hostowanej witryny jej właściciele dochodzą do wniosku, że każdego miesiąca płacą nieuzasadnioną karę za transfer plików, wyno- szącą dziesiątki, a nawet setki złotych. Obcięcie rozmiaru plików o połowę sprowadza wysokość płaconych rachunków do przyzwoitego poziomu.o Jak to działa: Wiele firm oferujących usługi hostingowe przydziela swoim użytkow- nikom „wolny” od opłat miesięczny limit transferu plików — na przykład 3 GB. Poniżej tej wartości płacimy zwykłą stawkę miesięczną.Za przekroczenie limitu pobierane są dodatkowe opłaty, czasami bardzo duże. W jednym „niesławnym” przypadku firma hostingowa Global Internet Solutions zno- kautowała niezależnego projektanta Ala Sacui szesnastoma tysiącami dolarów dodatko- wych opłat, kiedy jego niekomercyjna strona, Nosepilot.com, przekroczyła dozwolony miesięczny limit transferu plików. Jest to przypadek ekstremalny, a klientowi osta- tecznie udało się uniknąć zapłacenia kary dzięki udowodnieniu firmie zmiany warunków oferowanej usługi bez powiadomienia klientów (http://thewebfairy.com/gisol/). Kogo jednak stać na ryzyko płacenia niewyobrażalnych rachunków lub rozprawiania się z nieuczciwą firmą w sądzie? Oczywiście nie każda firma hostingowa stosuje podobne praktyki. Pair.com na przy- kład obciąża klienta opłatą 1,5 centa za każdy megabajt ponad limit. Strona o małym ruchu sieciowym hostowana przez Pair.com może utrzymać się rocznie za kwotę 200 dolarów. Większe witryny, z większym ruchem na stronach oszczędzają najwięcej przez redukowanie rozmiaru plików. Niezależnie od tego, czy strona jest mała czy duża, odwiedzana przez miliony czy też przez garstkę ludzi, im mniejszy rozmiar plików, tym mniejszy ruch w sieci i mniejsze prawdopodobieństwo przekroczenia limitów. A już zupełnie na marginesie, najlepiej wybrać firmę, która stosuje nielimitowane transfery plików, zamiast karać swoich klientów za tworzenie opopularnych stron. Zgodność wstecz Co programiści uważają za „zgodność wstecz”? Zapytani odpowiedzą: „zapewnienie obsługi wszystkim użytkownikom”. I jak tu spierać się oz takim argumentem? W praktyce jednak „zgodność wstecz” oznacza stosowanie niestandardowych, zastrze- żonych (lub niepraktykowanych) znaczników oraz kodu, aby każdy użytkownik odwie- dzający witrynę mógł doświadczyć tego samego, niezależnie od tego, czy używa IE2 czy Netscape 7. Zasada „zgodności wstecz” — traktowana jako święty Graal programo- wania — brzmi nieźle w teorii. Jednak jej koszt jest zbyt wysoki, a ona sama od zawsze opiera się na fałszywym założeniu. 44 Część I ♦ Houston, mamy problem Kod skondensowany a kod skompresowany Gdy wygłosiłem wykład na temat standardów sieciowych, podszedł do mnie jeden z słuchaczy twierdząc, iż zyski wynikające ze stosowania czystego i dobrze ułożonego kodu nie są większe niż w przypadku stosowania kompresji kodu HTML. Oprócz kondensowania kodu przez pisanie go w sposób przejrzysty i zwięzły (tzn. stosowanie struktur semantycznych zamiast przestarzałego formatowania z użyciem języka HTML), można również zwyczajnie skompresować kod w niektórych systemach serwerowych. Na przykład Apache oferuje moduł mod_zip kompresujący pliki HTML po stronie serwera. HTML jest ponownie rozpakowywany po stronie klienta. Programista, z którym rozmawiałem, podał następujący przykład: jeżeli Amazon.com marnu- je 40 kB na przestarzałe znaczniki oraz inne „śmieci”, ale używa modułu mod_zip i kom- presuje pliki do rozmiaru 20 kB, to nadmiarowy kod stron tej witryny nie generuje wydat- ków, o których mówiłem na wykładzie oraz w tej książice. Jak się okazało, Amazon nie używa modułu mod_zip. W rzeczywistości narzędzie to jest rzadko używane w komercyjnych witrynach, przypuszczalnie ze względu na dodatkowe obciąże- nie związane z koniecznością kompresowania plików przed wysłaniem ich w świat. Wracając jednak do dyskusji z programistą, im mniejszy jest plik, tym lepiej zostanie skompresowany. Jeżeli oszczędzamy, kompresując 80-kilobajtowy pliku do rozmiaru 40 kB, wyobraźmy sobie, ile możemy zaoszczędzić, kompresując 40 kB do 20 kB. Oszczędności w pojedynczej sesji mogą wydawać się małe, ale ich wartość kumuluje się. Z czasem mogą znacznie zredukować koszty operacyjne i zapobiec innym wydatkom (na przykład dzierżawie dodatkowego łącza w celu zwiększenia przepustowości serwerów). Oszczędności na łączu internetowym są tylko jedną z korzyści płynących z pisania czystego, dobrze ułożonego kodu, bardzo docenianą przez księgowych oraz klientów i równie praw- dziwą dla tych, którzy stosują kompresję HTML-a. Nie istnieje prawdziwa zgodność wstecz. Zawsze istnieje punkt „odcięcia”. Na przykład ani Mosaic (pierwsza przeglądarka graficzna), ani Netscape 1.0 nie obsługują układów opartych na tabelach HTML-owych. Zatem użytkownicy tych archaicznych przeglą- darek nie mogą zobaczyć tego samego, co użytkownicy odrobinę nowszych narzędzi typu Netscape 1.1 lub MSIE 2. Programiści i klienci głoszący ideę zgodności zmuszeni są do określenia „bazowej” przeglądarki, na przykład Netscape 3, i przyjęcia, że jest to najwcześniejsza przeglądarka, która obsługiwać będzie ich stronę (użytkownicy Netscape’a 2 nie mają szczęścia). Aby wypełnić zobowiązanie obsługi przeglądarki bazowej, wprowadzają
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Projektowanie serwisów WWW. Standardy sieciowe
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: