23
Projektowanie serwisów WWW. Standardy sieciowe. Wydanie III Autorzy: Jeffrey Zeldman, Ethan Marcotte T³umaczenie: Piotr Rajca ISBN: 978-83-246-2658-8 Tytu³ orygina³u: Designing with Web Standards (3rd Edition) Format: 158×235, stron: 448 Jak to siê robi z pomoc¹ mistrza • Poznaj przysz³oœæ standardów sieciowych • Stosuj skuteczne zasady pracy z nowoczesnymi przegl¹darkami • Naucz siê eliminowaæ problemy i ci¹æ koszty Przewodnik po standardach autorstwa Jeffreya Zeldmana ponownie kontratakuje! Trzecie wydanie udowadnia, ¿e to wci¹¿ najwa¿niejsza ksi¹¿ka dla wszystkich projektantów, którzy chc¹ tworzyæ nowoczesne i funkcjonalne witryny – b³yskawicznie siê wczytuj¹ce, trafiaj¹ce do masowego odbiorcy i tanie w utrzymaniu. Do nowej, zaktualizowanej wersji dodano niezwykle przydatne informacje o usprawnieniach, a tak¿e wyzwaniach, jakie stoj¹ przed projektantami pracuj¹cymi w nieustannie zmieniaj¹cym siê œrodowisku standardów sieciowych. W tym wydaniu ksi¹¿ki znajdziesz informacje na temat tego, jak za pomoc¹ standardów rozwi¹zywaæ problemy powstaj¹ce w wyniku stosowania starych sposobów projektowania witryn WWW. Dowiesz siê tak¿e, jak stare i nowe standardy przekszta³caj¹ internet w dynamiczn¹ platformê do tworzenia solidnych, dostêpnych aplikacji oraz piêknych i ³atwych do odnalezienia treœci. Przeczytasz te¿ o tym, jak zapowiada siê przysz³oœæ standardów sieciowych. • Prezentacja jêzyków XHTML, HTML 5, CSS. • Zasady tworzenia strukturalnego, semantycznego kodu. • Realizacja solidnych uk³adów, tworzonych w oparciu o CSS. • Tworzenie nieinwazyjnego kodu JavaScript. • Dodatkowe informacje dotycz¹ce typografii i dostêpnoœci. • Prezentacje kilku projektów, w których pokazujemy sztuczki i rozwi¹zania w zakresie stosowania standardów. W tym przemyœle Jeffrey Zeldman zajmuje miejsce gdzieœ pomiêdzy „Bogiem” a „guru” – i potrafi wykorzystaæ sw¹ m¹droœæ oraz dowcip, by opowiadaæ o tym, CZYM s¹ standardy sieciowe, JAK nale¿y je stosowaæ oraz DLACZEGO powinniœmy zwróciæ na nie uwagê. Kelly Goto, autorka ksi¹¿ki Web ReDesign 2.0: Workflow that Works Czasami, bardzo rzadko, udaje siê znaleŸæ autora, o którym myœlimy sobie: „Ten goœæ jest inteligentny! I sprawia, ¿e ja te¿ czujê siê m¹drzejszy, bo w koñcu zrozumia³em to zagadnienie”. Steve Krug, autor ksi¹¿ek „Nie ka¿ mi myœleæ! O ¿yciowym podejœciu do funkcjonalnoœci stron internetowych” oraz „Przetestuj j¹ sam! Steve Krug o funkcjonalnoœci stron internetowych”

Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

Projektowanie serwisówWWW. Standardy sieciowe.Wydanie IIIAutorzy: Jeffrey Zeldman, Ethan MarcotteT³umaczenie: Piotr RajcaISBN: 978-83-246-2658-8Tytu³ orygina³u: Designing with Web Standards (3rd Edition)Format: 158×235, stron: 448

Jak to siê robi z pomoc¹ mistrza

• Poznaj przysz³oœæ standardów sieciowych• Stosuj skuteczne zasady pracy z nowoczesnymi przegl¹darkami• Naucz siê eliminowaæ problemy i ci¹æ koszty

Przewodnik po standardach autorstwa Jeffreya Zeldmana ponownie kontratakuje! Trzecie wydanie udowadnia, ¿e to wci¹¿ najwa¿niejsza ksi¹¿ka dla wszystkich projektantów, którzy chc¹ tworzyæ nowoczesne i funkcjonalne witryny – b³yskawicznie siê wczytuj¹ce, trafiaj¹ce do masowego odbiorcy i tanie w utrzymaniu. Do nowej, zaktualizowanej wersji dodano niezwykle przydatne informacje o usprawnieniach,a tak¿e wyzwaniach, jakie stoj¹ przed projektantami pracuj¹cymi w nieustannie zmieniaj¹cym siê œrodowisku standardów sieciowych.

W tym wydaniu ksi¹¿ki znajdziesz informacje na temat tego, jak za pomoc¹ standardów rozwi¹zywaæ problemy powstaj¹ce w wyniku stosowania starych sposobów projektowania witryn WWW. Dowiesz siê tak¿e, jak stare i nowe standardy przekszta³caj¹ internetw dynamiczn¹ platformê do tworzenia solidnych, dostêpnych aplikacji oraz piêknychi ³atwych do odnalezienia treœci. Przeczytasz te¿ o tym, jak zapowiada siê przysz³oœæ standardów sieciowych.

• Prezentacja jêzyków XHTML, HTML 5, CSS.• Zasady tworzenia strukturalnego, semantycznego kodu.• Realizacja solidnych uk³adów, tworzonych w oparciu o CSS.• Tworzenie nieinwazyjnego kodu JavaScript.• Dodatkowe informacje dotycz¹ce typografii i dostêpnoœci.• Prezentacje kilku projektów, w których pokazujemy sztuczki i rozwi¹zania

w zakresie stosowania standardów.

W tym przemyœle Jeffrey Zeldman zajmuje miejsce gdzieœ pomiêdzy „Bogiem” a „guru” – i potrafi wykorzystaæ sw¹ m¹droœæ oraz dowcip, by opowiadaæo tym, CZYM s¹ standardy sieciowe, JAK nale¿y je stosowaæ oraz DLACZEGO powinniœmy zwróciæ na nie uwagê.

Kelly Goto, autorka ksi¹¿ki Web ReDesign 2.0: Workflow that Works

Czasami, bardzo rzadko, udaje siê znaleŸæ autora, o którym myœlimy sobie: „Ten goœæ jest inteligentny! I sprawia, ¿e ja te¿ czujê siê m¹drzejszy, bow koñcu zrozumia³em to zagadnienie”.

Steve Krug, autor ksi¹¿ek„Nie ka¿ mi myœleæ! O ¿yciowym podejœciu do funkcjonalnoœci stron internetowych”

oraz „Przetestuj j¹ sam! Steve Krug o funkcjonalnoœci stron internetowych”

Page 2: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

Spis tre�ci

Wst�p do trzeciego wydania ................................................17

Cz��� I

Zanim zaczniesz ..............................................................25

Przerwanie cyklu starzenia si� .................................................................... 26

adnego dogmatu ........................................................................................ 27

Kontinuum, a nie zbiór sztywnych regu� ............................................... 27

Kilka wa�nych definicji ............................................................................... 28

Jeden rozmiar nie b�dzie dobry dla wszystkich ............................................ 30

Witamy w�ród zwyci�zców ........................................................................... 31

1. 99,9% witryn wci�� jest przestarza�ych ...................................35

Nowoczesne przegl�darki i standardy sieciowe ............................................ 36

Nowy kod do nowej pracy ............................................................................ 37

Problem „wersji” ......................................................................................... 38

My�lenie wsteczne ....................................................................................... 40

Z�y kod: pierwsza siatka za darmo ........................................................ 41

W d�u�szej perspektywie czasu rozga��zianie kodu

mo�e by niebezpieczne dla witryny ............................................................. 43

Ukryte koszty rozbudowanego kodu stron ................................................... 46

Zgodno� wstecz jest k�amstwem ................................................................ 47

Blokowanie u�ytkowników nie wp�ywa dobrze na interesy ..................... 49

Lek .............................................................................................................. 52

2. Projektowanie i budowanie z u�yciem standardów .....................55

Pokonywanie trudno�ci ............................................................................... 57

Koszt projektowania przed wprowadzeniem standardów ............................. 58

Nowoczesna strona starymi metodami ........................................................ 59

Trzy elementy standardów sieciowych ......................................................... 66

Struktura .............................................................................................. 66

Prezentacja ........................................................................................... 69

Zachowanie ........................................................................................... 69

Page 3: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

6 Projektowanie serwisów WWW. Standardy s ieciowe

Standardy w praktyce .................................................................................. 69

Projekt standardów sieciowych: przeno�no� w zastosowaniu ...................... 72

Jeden dokument dla wszystkich ............................................................. 73

A List Apart: jedna strona, wiele widoków .................................................. 75

Projektowanie nie tylko z przeznaczeniem na ekran .............................. 77

Oszcz�dno� czasu i kosztów, wzrost zysków ......................................... 78

Co dalej? ...................................................................................................... 79

3. Delikatna perswazja ..........................................................83

4. Przysz�o�� standardów sieciowych .........................................91

Wyszukiwanie, syndykacja, blogi, podcasty i d�ugi ogon

(oraz inne powody zwyci�stwa standardów sieciowych) ................................ 92

Uniwersalny j�zyk (XML) ..................................................................... 93

Jeden rodzic, wiele dzieci ....................................................................... 94

Z�ota �y�a innowacji ............................................................................... 98

Przysz�o� standardów ........................................................................ 108

Grupa robocza WHAT ............................................................................... 110

Internet Explorer 7 i standardy sieciowe ............................................. 113

Narz�dzia do edycji i publikacji ........................................................... 114

Cz��� II

5. Nowoczesny uk�ad znaczników ........................................... 119

Ukryty schemat kiepskiego kodu ............................................................... 125

Przeformu�owanie czego? ..................................................................... 129

Podsumowanie ..................................................................................... 130

XHTML 2 — nie dla ka�dego ............................................................. 131

5 najwa�niejszych powodów, dla których warto wybra HTML ................. 133

5 najwa�niejszych powodów, dla których warto wybra XHTML 1 ........... 134

Podstawowy powód, dla którego nie warto wybiera XHTML-a ................ 134

6. XHTML i kod semantyczny ................................................. 135

Konwersja do XHTML-a: proste zasady, �atwe wytyczne .......................... 136

Dokument rozpoczynaj od deklaracji DOCTYPE i przestrzeni nazw .....137

Który DOCTYPE to Twój typ? ........................................................... 138

Wersja Strict czy Transitional: wielka bitwa naszych czasów .............. 139

Po DOCTYPE deklaracja przestrzeni nazw ........................................ 140

Zadeklaruj typ kodowania znaków ....................................................... 142

Wszystkie znaczniki pisz ma�ymi literami ............................................ 144

Warto�ci wszystkich atrybutów umieszczaj w cudzys�owach ................ 146

Przypisuj warto�ci wszystkim atrybutom ............................................ 148

Zamykaj wszystkie znaczniki ............................................................... 148

Nie umieszczaj podwójnych my�lników w komentarzach ..................... 150

Koduj wszystkie znaki < i & ................................................................ 150

Podsumowanie zasad XHTML-a ......................................................... 150

Kodowanie znaków: nudne, bardzo nudne i potwornie nudne .............. 151

Page 4: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

Spis tre�ci 7

Leczenie strukturalne — dla nas bomba ................................................... 153

Sensowne kodowanie dokumentu ......................................................... 153

Elementy wizualne i struktura ............................................................ 159

7. HTML 5: nowa nadzieja ....................................................161

HTML 5 i aplikacje sieciowe: gra idzie o du�� stawk� ............................... 162

HTML 5 a XHTML .................................................................................. 164

Niech diabli porw� obie nomenklatury ................................................. 164

Parada elementów HTML 5 ...................................................................... 166

Semantyka struktury strony ............................................................... 167

HTML 5 to na razie tylko specyfikacja ............................................... 172

Dowiedz si� wi�cej ............................................................................... 175

8. Struktura i semantyka: gwarancja zwartych i trwa�ych stron ........177

div, id i inni pomocnicy .............................................................................. 178

Czym jest element div? ........................................................................ 179

id kontra class ..................................................................................... 180

Twórz tre� u�atwiaj�c� wyszukiwanie i stosowanie .................................. 183

Semantyczny kod i wielokrotne u�ycie ................................................. 184

Powszechne b��dy w nowoczesnym kodzie ............................................ 187

Znaczniki div s� w porz�dku ............................................................... 190

Pokocha atrybut id ............................................................................ 191

Wyeliminowa (lub zminimalizowa) style i skrypty

w kodzie (X)HTML ............................................................................. 191

Przerwa i powtórka ............................................................................. 192

9. Podstawy CSS ................................................................193

Wst�p do CSS ........................................................................................... 193

Korzy�ci z CSS .......................................................................................... 194

Anatomia stylów ........................................................................................ 195

Selektory, deklaracje, w�a�ciwo�ci i warto�ci ....................................... 195

Warto�ci ogólne i alternatywne ............................................................ 198

Dziedziczenie i jego przeciwnicy .......................................................... 200

Selektory potomne ............................................................................... 201

Selektory klas ...................................................................................... 203

Style zewn�trzne, osadzone i bezpo�rednie .......................................... 206

Metoda „najlepszego mo�liwego scenariusza” ............................................ 210

10. Uk�ady CSS: kod, ramki, elementy p�ywaj�ce — o rany! ..............213

Dao przep�ywu strony ................................................................................ 214

Poznaj model ramkowy .............................................................................. 215

Jak dzia�a model ramkowy? ................................................................. 216

Uk�ad stosowany ....................................................................................... 219

Skromne pocz�tki ................................................................................ 220

Magiczny dotyk klasy .......................................................................... 224

Modyfikacja uk�adu ................................................................................... 228

Analiza zawarto�ci — po raz wtóry ..................................................... 229

Tworzenie stylów ................................................................................. 233

Page 5: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

8 Projektowanie serwisów WWW. Standardy s ieciowe

Modyfikacje elementów p�ywaj�cych .................................................... 236

Nie zwracamy uwagi na szczegó�y ....................................................... 239

Podsumowanie ........................................................................................... 242

11. Praca z przegl�dark�. Cz��� I:prze��czanie z typu dokumentu na tryb standardowy ................ 243

Saga o prze��czaniu przez deklaracj� typu dokumentu .............................. 244

Prze��cznik do w��czania i wy��czania standardów .............................. 244

Podstawy prze��czania przy u�yciu deklaracji typu dokumentu ................. 246

Jak dok�adne jest prze��czanie? ........................................................... 247

Standardy sieciowe i przegl�darka IE8 ............................................... 247

Standardy sieciowe i silnik Gecko ........................................................ 249

Kompletne i niekompletne deklaracje typu dokumentu ....................... 250

Pe�na lista kompletnych deklaracji typu dokumentu XHTML ............ 253

Zachowaj prostot� ............................................................................... 254

12. Praca z przegl�dark�. Cz��� II:b��dy, sposoby i blask CSS 3 .............................................. 257

B��dy CSS w powtórce na zwolnionych obrotach ....................................... 258

B��d podwojonego marginesu w elementach p�ywaj�cych .................... 263

Na ratunek obrazkom PNG ................................................................. 265

Co dalej? .............................................................................................. 266

Wiedza to jedynie po�owa sukcesu ....................................................... 268

CSS 3: nowy obiekt zainteresowania .......................................................... 277

Ty i kana� alfa ..................................................................................... 277

Rezygnujemy z prostok�tów ................................................................ 280

Programi�ci, miejcie si� na baczno�ci! ................................................. 281

Przemy�lmy, czym jest „wsparcie”? ..................................................... 285

Flash i QuickTime: obiekty po��dania? ..................................................... 288

Obiekty osadzane: opowie� o pró�no�ci i zem�cie ................................ 288

Podwójna zemsta W3C ........................................................................ 289

Dwie pieczenie na jednym ogniu: osadzanie obiektów multimedialnych

przy przestrzeganiu standardów .......................................................... 290

�y�ka dziegciu w beczce miodu: object nie dzia�a ................................ 291

Szczypta JavaScriptu .......................................................................... 291

�wiat, w którym omijanie b��dów jest codzienno�ci� .................................. 292

13. Praca z przegl�dark�. Cz��� III: typografia ............................. 295

Kilka s�ów o typografii ............................................................................... 296

ABC czcionek na stronach WWW .............................................................. 299

Horrory starej szko�y ........................................................................... 302

Nareszcie standardowy rozmiar ........................................................... 305

Karabiny i piksele ................................................................................ 307

Upojenie w�szycieli .............................................................................. 308

Przygody z wielko�ci� czcionek .................................................................. 310

Powi�kszenie: demokracja bezpieczna dla pikseli ................................. 313

Jednostki em: rado� i p�acz ................................................................ 316

Metoda symbolicznych warto�ci rozmiarów czcionek ........................... 317

Page 6: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

Spis tre�ci 9

Ja chc� czcionki Franklin Gothic! ............................................................. 319

Regu�a @font-face: prawdziwe czcionki na stronach WWW ................ 319

sIFR — dost�pne podmienienie czcionek ............................................ 322

Cufón — „czcionki dla ludzi” .............................................................. 323

Typekit i bracia ................................................................................... 324

14. Dost�pno��: to, co w standardach najwa�niejsze .....................329

Pi� porad dotycz�cych tworzenia dost�pnych witryn ................................ 330

1. Zabierz si� do pracy ......................................................................... 330

2. Skorzystaj z logicznej struktury stron ............................................. 331

3. Zapewnij mo�liwo� dost�pu przy u�yciu klawiatury ....................... 331

4. Udost�pniaj rozwi�zania alternatywne ............................................ 332

5. Wybierz standard i korzystaj z niego konsekwentnie ....................... 332

Dost�pno� wed�ug podr�czników .............................................................. 333

Powszechna dezorientacja ......................................................................... 336

„�lepy miliarder” ................................................................................ 336

Dost�pno� nie ogranicza si� jedynie do niedowidz�cych ..................... 337

Wyja�niamy znaczenie paragrafu 508 ................................................. 339

Obalamy mity dost�pno�ci ......................................................................... 340

U�atwienia dost�pu element po elemencie .................................................. 345

Obrazki ............................................................................................... 345

Sprawdzone narz�dzia ......................................................................... 354

Zachowaj kolejno�: nasz dobry znajomy atrybut tabindex .................. 355

Planowanie dost�pu: jak na tym skorzystasz ....................................... 356

15. Wykorzystanie skryptów opartych na modelu DOM ....................359

DOM wed�ug podr�czników ....................................................................... 360

Co to jest DOM? ........................................................................................ 360

Standardowy sposób na to, by strony WWW

zachowywa�y si� jak aplikacje .............................................................. 362

Zatem gdzie to dzia�a? ......................................................................... 364

Prosz�, DOM, nie zrób im krzywdy ........................................................... 365

Jak to dzia�a? ...................................................................................... 365

Sprawdzanie obs�ugi ............................................................................ 371

Warianty kodu .................................................................................... 372

Prze��czniki stylów: u�atwiaj� dost�p, oferuj� wybór ........................... 373

Naucz si� kocha swoj� bibliotek� (JavaScript) ......................................... 375

Jak korzysta z DOM? .............................................................................. 378

16. Przeprojektowywanie witryny ............................................379

Wychodzimy z przesz�o�ci .......................................................................... 382

Projektowanie wychodz�ce od tre�ci .......................................................... 383

Troch� oddechu ................................................................................... 387

Czcionki, wprowadzenia i wpuszczone inicja�y ..................................... 388

Ci�gle ta sama �piewka ....................................................................... 394

Mania stopek ....................................................................................... 394

G�owa do góry ..................................................................................... 400

Szczegó�y, szczegó�y ............................................................................ 402

Page 7: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

10 Projektowanie serwisów WWW. Standardy s ieciowe

17. NYMag.com: proste standardy, seksowny interfejs ................... 405

Zestawienie zawarto�ci .............................................................................. 407

Od spisu zawarto�ci do strategii .......................................................... 412

Przyjaciele, jeszcze raz wrómy do kodu .................................................... 414

Od nawiasów k�towych do klamrowych ..................................................... 417

Metody — czyste szale�stwo ............................................................... 422

Porozmawiaj z DOM ................................................................................. 425

Poznaj element colgroup ...................................................................... 425

Skorzystajmy z jQuery ........................................................................ 426

Standardy na ka�d� por� roku ................................................................... 432

Skorowidz .................................................................... 433

Page 8: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

Ukryty schemat kiepskiego kodu 119

ROZDZIA� PITY

Nowoczesnyuk�ad znaczników

z�� pierwsza nakre�li�a w skrócie problemy biznesowe i produk-

cyjne b�d�ce wynikiem stosowania starych metod projektowa-

nia sieci, naszkicowa�a korzy�ci p�yn�ce ze stosowania standardów oraz

odmalowa�a radosny obraz nap�dzanego standardami rozwoju sieci.

W pozosta�ej cz��ci ksi��ki przejdziemy „od ogó�u do szczegó�u”.

Najlepszym sposobem, by zacz�, b�dzie po�wi�cenie kilku sekund

na przeanalizowanie podstawowych zagadnie� zwi�zanych z tworze-

niem kodu stron, takich jak wybór wersji j�zyka, jak� nale�y stosowa,

oraz sposoby kodowania niektórych, doskonale znanych, elementów

stron: nag�ówków, akapitów i list (podpowied�: chodzi o to, jak to robi

prawid�owo semantycznie).

Wielu projektantom i programistom my�l o ponownym analizowaniu

kodu nie przypadnie do gustu. Z pewno�ci� ka�dy, kto sp�dzi� na pro-

jektowaniu witryn wi�cej ni� kilka tygodni, wie doskonale, o co chodzi

w starym, dobrym HTML-u. Czy nie powinni�my po�wi�ca naszego

ograniczonego wolnego czasu, ucz�c si� nowszych, u�yteczniejszych

j�zyków? Czy na przyk�ad nie op�aca si� bardziej studiowa techno-

logii dzia�aj�cych po stronie serwera, takich jak PHP i jej podobne.

Odpowied� brzmi: „Tak i nie”. Technologie dzia�aj�ce po stronie

serwera maj� istotne znaczenie przy tworzeniu dynamicznych wi-

tryn odpowiadaj�cych na zapytania u�ytkownika. Nawet tradycyjne

witryny informacyjne mog� odnie� korzy�ci przez umieszczenie ich

C

Page 9: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

120 Rozdzia� 5. > Nowoczesny uk�ad znaczników

tre�ci w bazie danych i odwo�ywanie si� do nich w miar� potrzeby przy

u�yciu PHP lub podobnych technologii. Niemal ka�da nowoczesna witryna

korzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie

do standardów przedstawianych w tej ksi��ce, j�zyki skryptowe wykonywane

po stronie serwera oraz szkielety do tworzenia aplikacji, takie jak Ruby on

Raili, CakePHP, Dijango czy Symfony, umo�liwiaj� oddzielanie danych od

interfejsu. Tak jak CSS, które niweluj� konieczno� umieszczania wszyst-

kich fragmentów tre�ci w pozbawionych semantycznego znaczenia komór-

kach tabel HTML, tak j�zyki, na przyk�ad PHP, i systemy zarz�dzania

relacyjnymi bazami danych (jak choby MySQL) pozwalaj� twórcom witryn

unikn� w�asnor�cznego pisania ka�dej ze stron.

Co to takiego to PHP?

PHP (www.php.net) jest darmowym j�zy-

kiem skryptowym ogólnego przeznaczenia,

który idealnie nadaje si� do tworzenia

stron internetowych i mo�e by osadzany

wewn�trz kodu HTML i XHTML. (Kod

PHP mo�na tak�e umieszcza wewn�trz

kodu HTML). Jego sk�adnia przypomina

j�zyki, takie jak C, Java oraz Perl, i jest

wzgl�dnie �atwa do przyswojenia. PHP

(skrót od Hypertext Preprocessor1) jest

bardzo funkcjonalny, ale swoj� popular-

no� zyska� g�ównie dzi�ki mo�liwo�ci

wspó�pracy z baz� danych MySQL (www.

mysql.com). Cecha ta pozwala progra-

mistom i projektantom w �atwy sposób

tworzy dynamiczne strony i budowa

aplikacje sieciowe.

PHP stanowi projekt fundacji Apache

(www.apache.org) i mo�e by u�ywany

zupe�nie za darmo, co stanowi jedno ze

�róde� jego ogromnej popularno�ci. Innym

jest ogromny zestaw narz�dzi do testo-

wania i profilowania2 kodu. Niezale�ni

projektanci i programi�ci uwielbiaj� ten

j�zyk (b�d� uwielbiali, zanim nie poznali

jego m�odszego kuzyna — Ruby) i wyko-

rzystuj� go nieustannie do tworzenia coraz

to nowych stron i produktów (patrz rysu-

nki 5.1 i 5.2). Z powodu jego skalowal-

no�ci (nie wspominaj�c o braku op�at)

du�e firmy, rzadko znane ze stosowania

otwartych standardów, pokocha�y PHP.

Przyk�adowo PHP nap�dza Yahoo.com

ju� od 2002 roku (ostatnio jest przy tym

u�ywany otwarty szkielet PHP o nazwie

Symfony [http://www.symfony-project.

org]). Równie� IBM wspar� PHP sw�

pot�g�, g�ównie za po�rednictwem formy

Zend i szkieletu CakePHP (http://www.

internetnews. com/ent-news/article.php/

3485806).

1

Mianem preprocesora okre�la si� program wst�pnie analizuj�cy kod. Dla przyk�adu

w j�zyku C preprocesor uruchamiany jest przed w�a�ciw� kompilacj�, aby dokona

odpowiednich podstawie� w kodzie — przyp. t�um.2

Przez profilowanie nale�y rozumie badanie wydajno�ci kodu (jako ca�o�ci lub

poszczególnych jego fragmentów) — przyp. t�um.

Page 10: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

Ukryty schemat kiepskiego kodu 121

Rysunek 5.1.Projektanti programista ShaunInman u�y� PHP,MySQL, JavaScripti CSS do stworzeniaMint (havemint.com),rozszerzalnegonarz�dziado raportowaniapotrafi�cegoodpowiedzie�,kto odwiedza i tworzyodno�niki do Twojejwitryny, z jakiejprzegl�darki korzystai du�o wi�cej

Rysunek 5.2.Typowa instalacja Mint(widoczna tutajpochodzi z witrynykonferencjiEvent Apart)

Page 11: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

122 Rozdzia� 5. > Nowoczesny uk�ad znaczników

Co to takiego to PHP? — ci�g dalszy

PHP mo�e wspó�pracowa z oprogramo-

waniem serwerowym Microsoftu, ale naj-

cz��ciej u�ywany jest w po��czeniu z serwe-

rem Apache. Apache pracuje zarówno na

platformach Windows, jak i Unix (ze wska-

zaniem na te drugie). System operacyjny

OS X firmy Apple ma wbudowany j�zyk

PHP i serwer Apache, podobnie z reszt�

jak niemal wszystkie dystrybucje Linuksa.

PHP nie wymaga budowania interfejsu

przy u�yciu uk�adu CSS i poprawnego

semantycznego kodu znaczników, ale tam,

gdzie trafiamy na oparte na standardach

strony sieciowe, bardzo cz�sto okazuje si�,

�e stoi za nimi PHP.

Jednak nawet dynamicznie wygenerowane strony stan� si� bezu�yteczne,

je�eli b�d� niedost�pne, niezgodne z wieloma przegl�darkami i urz�dzeniami

lub za�miecone niepotrzebnym kodem znaczników. Je�eli dynamiczna strona

nie wy�wietli si� poprawnie w jakiej� przegl�darce lub jej za�adowanie

zajmie 60 sekund przez ��cze modemowe, w sytuacji gdy wystarczy�oby

w zupe�no�ci 10 sekund, technologie serwerowe na niewiele si� zdadz� Twoim

u�ytkownikom. Je�li dodatkowo u�ytkownicy i wyszukiwarki nie b�d�

w stanie znale� na witrynie interesuj�cych ich informacji, gdy� zosta�y

zagrzebane wewn�trz semantycznie bezsensownego kodu, wszystkie wysi�ki

w�o�one w utworzenie pi�knego projektu, napisanie witryny i zapewnienie

jej odpowiedniej obs�ugi ze strony mechanizmów dzia�aj�cych po stronie

serwera b�dzie mo�na porówna do genialnych muzyków wyst�puj�cych przed

pust� widowni�.

Czym jest Rails?

Ruby on Rails (www.rubyonrails.org) jest

szkieletem do budowania aplikacji siecio-

wych dost�pnym na licencji otwartego kodu,

zoptymalizowanym pod k�tem szybkiego,

produktywnego, stabilnego programowania

(patrz rysunek 5.3). Czym jest Ruby?

Dobre pytanie. Ruby jest zorientowanym

obiektowo j�zykiem programowania stwo-

rzonym przez Yukihiro Matsumoto w 1995

roku i rozpowszechnianym jako wolne

oprogramowanie na licencji open source.

��czy w sobie sk�adni� inspirowan� j�zy-

kami Perl i Ada z funkcjami obiektowymi

oraz posiada wspólne cechy z j�zykami Lisp

i Python

Zatem czym jest Rails? Rails jest szkiele-

tem aplikacji dzia�aj�cym w oparciu o mo-

del projektowy MVC (ang. model-view-

controller — model-widok-kontroler), napi-

sanym w j�zyku Ruby przez Davida Heine-

meira Hanssona w lipcu 2004 roku. Rails

zosta� wyodr�bnionym z aplikacji Base-

camp firmy 37signals (patrz rysunek 5.4).

Page 12: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

Ukryty schemat kiepskiego kodu 123

Rysunek 5.3.Ruby on Rails(www.rubyonrails.org)dost�pny w postaciotwartych �róde�szkieletprogramistyczny.Jego podstawowezasady to:„Nie powtarzaj si�”oraz „Konwencjaponad konfiguracj�”

Rysunek 5.4.Basecamp firmy37signals(basecamphq.com)to nieustaj�ce �ród�oprezentów. Nie tylkojest to wspania�aaplikacja do zarz�dzaniaprojektami, ale równie�aplikacja, z którejwyodr�bniono Rubyon Rails

(Wersja 1.0 zosta�a opublikowana w po-

staci otwartego kodu �ród�owego w grud-

niu 2005 roku). Programi�ci rzucili si� na

niego, poniewa� jego przewodnie zasady

pozwalaj� szybciej pisa lepszy kod.

Page 13: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

124 Rozdzia� 5. > Nowoczesny uk�ad znaczników

Czym jest Rails? — ci�g dalszy

W wi�kszo�ci �rodowisk programistycznych

trzeba napisa tuzin wierszy kodu, aby

przenie� zmienn� na ekran (lub z ekranu).

I to samo powtarza si� za ka�dym razem

podczas tworzenia nowego programu, dla

ka�dej najmniejszej rzeczy, jak� robi ten

program. To tak, jakby trzeba by�o pisa

edytor tekstu zawsze wtedy, kiedy chcemy

wys�a oficjalny list. Ruby on Rails odrzuca

ten model. Wewn�trz Rails programi�ci

nie musz� ju� kodowa obs�ugi ka�dego

najmniejszego szczegó�u — musz� jedy-

nie skonfigurowa to, co jest niekonwen-

cjonalne. Podobnie jak PHP, Ruby nie

wymaga budowania interfejsu zgodnie ze

standardami, ale te dwa elementy id�

w parze du�o cz��ciej ni� osobno. Po��cze-

nie XHTML-a, CSS, JavaScriptu i Ruby

on Rails zapewnia dzia�anie wielu popu-

larnych aplikacji internetowych, takich jak

Twitter (patrz rysunek 5.5). Ruby on Rails

jest tak�e z powodzeniem wykorzystywany

w tradycyjnych aplikacjach internetowych,

na przyk�ad yellowpages.com (patrz rysu-

nek 5.6). Inne j�zyki programowania —

w�ród nich PHP i Python — tak�e udo-

st�pniaj� szkielety aplikacji MVC, podobne

do Ruby on Rails.

Rysunek 5.5.Twitter(www.twitter.com),niezwykle popularnaaplikacjado dystrybucjimikrowiadomo�ci,powsta�a przy u�yciuCSS, XHTML 1.0Strict oraz Rubyon Rails

Page 14: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

Ukryty schemat kiepskiego kodu 125

Rysunek 5.6.Po�wicz troch� palce,przeszukuj�cksi��k� telefoniczn�Yellow Pages (www.yellowpages.com),napisan� w XHTML1.0 Transitionali korzystaj�c�z Ruby on Rails

Krótko mówi�c, nie mo�na rozdziela obu technologii. Technologie dzia�aj�ce

po stronie serwera w po��czeniu z bazami danych umo�liwiaj� tworzenie

sprytniejszych, bardziej funkcjonalnych stron, ale to, co dostarczaj� te strony,

jest zawarto�ci�, która dzia�a najlepiej, kiedy posiada czyst� i prost� struktur�.

I w�a�nie w tym miejscu wi�kszo� z nas zawodzi (ale zawodzi tak�e wiele sys-

temów do zarz�dzania zawarto�ci�, na których polegamy).

Ukryty schemat kiepskiego koduW trakcie pierwszej dekady istnienia przemys�u sieciowego projektowanie

przypomina�o prób� nakarmienia mnóstwa wybrednych dzieci. Aby zbu-

dowa dzia�aj�c� stron�, pos�usznie uczyli�my si� „diety” ka�dej przegl�-

darki. Obecnie wszystkie przegl�darki akceptuj� to samo po�ywne jedzonko,

a robi� to od 2001 roku, ale wielu programistów jeszcze tego nie zrozu-

mia�o i wci�� dosypuje cukier do jajecznicy.

Z�e jedzenie zatyka arterie, niszczy z�by i zmniejsza �ywotno� tych, którzy

je spo�ywaj�. Z�y kod znaczników jest szkodliwy dla krótkoterminowych

potrzeb u�ytkowników oraz d�ugoterminowego zdrowia zawarto�ci stron.

Do niedawna jednak fakt ten by� przed nami ukrywany wskutek tolerowa-

nia przez popularne przegl�darki za�mieconego i b��dnego kodu, o czym

mówi�em w rozdziale 1.

Tu oraz w kolejnych rozdzia�ach b�dziemy odkrywa na nowo zapomnian�

natur� czystego, semantycznego uk�adu znaczników oraz nauczymy si�

Page 15: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

126 Rozdzia� 5. > Nowoczesny uk�ad znaczników

Inne platformy, inne obszary

Dwie inne platformy skryptowe u�ywane do tworzenia dynamicznych

stron i seksownych aplikacji sieciowych to Microsoft Active Server

Pages .NET 2.0 (www.asp.net) oraz Adobe ColdFusion 8 (www.adobe.

com/software/coldfusion/). Ka�da z nich ma swoje mocne strony oraz

zagorza�e �rodowisko u�ytkowników. Java Serve Pages (JSP), jeszcze

jedna technologia dynamiczna, jest powszechnie stosowana w ogrom-

nych systemach dla przedsi�biorstw i zdecydowanie wykracza poza

zakres tej ksi��ki.

Systemy do publikacji utworzone w niektórych z wymienionych j�zyków

mog� przy braku uwagi popsu szablony stron przygotowane zgodnie

ze standardami. W jednej z aplikacji, w tworzenie której zaanga�owana

by�a moja agencja, ASP (przed .NET 2.0) generowa� wszystko niepo-

prawnie, dopóki nie w��czyli�my do procesu HTML Tidy (tidy.sourceforge.

net). Przypomina�o to obrzucanie b�otem czystych ubra�, a nast�pnie

mycie ich w��em, ale pozwala�o uzyska poprawne strony z systemu,

który by� nieprzyjazny dla dobrego, czystego kodu. Pomijaj�c ju�

HTML Tidy, bardzo pomocne przy wprowadzaniu danych do systemów

CMS mo�e si� okaza wykorzystanie takich narz�dzi jak TinyMCE

(tinymce.moxicode.com) lub WYMEditor (www.wymeditor.org). Istniej�

tak�e j�zyki „quasi-znacznikowe”, takie jak Textile Deana Allena

(www.redcloth.org/hobix.com) lub Markdown Johna Brubera (www.

daringfireball.net/projects/markdown), które tak�e mog� pomóc osobom

nieobeznanym z HTML-em w tworzeniu prawid�owego, zgodnego ze

standardami kodu.

my�le strukturalnie, zamiast postrzega kod znaczników jako drugorz�dne

narz�dzie projektowania. Jednocze�nie przyjrzymy si� XHTML-owi 1.0 —

standardowemu j�zykowi do projektowania witryn. Poznamy jego cele oraz

korzy�ci wynikaj�ce z jego stosowania. Opracujemy strategi� przej�cia

z HTML-a na XHTML. Przyjrzymy si� tak�e nowemu graczowi na rynku —

j�zykowi HTML 5 (www.w3.org/TR/html5).

SYNDROM B �DNYCH ADRESÓW URL

Jzyki skryptowe czsto generuj d�ugie adresy URL zawierajce

niezakodowane znaki &, zastrze�one w HTML/XHTML. W HTML-u

i XHTML-u znak & u�ywany jest do wskazania encji znakowej, takiej jak

&#8217;, która oznacza poprawny typograficznie znak apostrofu w kodzie

Unicode. Mo�na to naprawi�, stosujc funkcj ColdFusion o nazwie

Page 16: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

Ukryty schemat kiepskiego kodu 127

URLEncodeFormat(). ASP posiada podobn funkcj o nazwie HTMLEncode.

Z kolei jzyk PHP udostpnia funkcje urlencode() (http://php.net/

manual/pl/function.urlencode.php), rawurlencode() (http://php.net/

manual/pl/function.rawurlencode.php) oraz htmlentities() (http://php.net/

manual/pl/function.htmlentities.php). We wszystkich tych przypadkach

programi�ci mog (i powinni) unika� problemu, przepuszczajc

wszystkie adresy URL przez wymienione funkcje przed umieszczeniem

ich w kodzie strony.

Dziwnym zbiegiem okoliczno�ci jest to, �e poprawne kodowanie z u�yciem

XHTML-a zach�ca do pisania kodu w sposób strukturalny i zniech�ca do

tworzenia prezentacyjnych „sztuczek”. W XHTML 1.0 Transitional takie

sztuczki s� uwa�ane za przestarza�e, co oznacza, �e mo�esz je stosowa,

je�li musisz, ale jeste� zachcany do osi�gania tego samego rezultatu w inny

sposób — na przyk�ad przy u�yciu CSS. W XHTML 1.0 i 1.1 Strict

sztuczki prezentacyjnie s� oficjalnie zabronione. Ich zastosowanie sprawi, �e

strona przepuszczona przez us�ug� weryfikuj�c� poprawno� kodu W3C

(nazywan� walidatorem) nie przejdzie testu (patrz rysunek 5.7). (Je�eli nie

pozna�e� jeszcze tego narz�dzia, zrobisz to z pewno�ci�, kiedy nauczysz

si� projektowa i budowa strony z u�yciem standardów. Patrz ramka

„Sprawd� to!”).

Rysunek 5.7.Projektancii programi�ci korzystaj�z darmowej us�ugisprawdzaj�cejpoprawno�� koduoferowanej przez W3C(validator.w3c.org),aby si� upewni�,czy ich stronys� zgodneze standardami

Niezale�nie od tego, czy wybierzesz XHTML, czy Strict lub Transitional,

do�wiadczysz ucz�cego pokory odkrycia, �e „ca�a Twoja wiedza jest z�a”:

�amanie wierszy (br) stosowane do symulowania listy, nag�ówki wymuszaj�ce

Page 17: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

128 Rozdzia� 5. > Nowoczesny uk�ad znaczników

Sprawd to!

Us�uga weryfikowania poprawno�ci stron (validator.w3.org) testuje

strony zbudowane przy u�yciu XHTML-a 4.01, XHTML-a 1.0 oraz

XHTML-a 1.1 i ocenia ich zgodno� ze specyfikacj� j�zyka. Us�uga

weryfikuj�ca CSS (jigsaw.w3.org/css-validator) robi to samo w odnie-

sieniu do arkuszy stylów. Grupa zajmuj�ca si� projektowaniem sieci

w htmlhelp.com utrzymuje równie niezawodn� us�ug� do sprawdzania

uk�adu znaczników (www.htmlhelp.com/tools/validator). Wszystkie trzy

us�ugi oferowane s� ca�kowicie za darmo.

Rada: HTML-owi maniacy — je�li zajmujecie si� ju� HTML-em 5,

pami�tajcie, �e nie wszystkie walidatory b�d� prawid�owo sprawdza

wasze strony. Jedn� z us�ug, która to potrafi, jest walidator HTML 5

dost�pny na stronie validator.nu (patrz rysunek 5.8). Tak�e Validation

Service W3C jest ju� w stanie sprawdza poprawno� kodu HTML 5.

Cieszcie si� i radujcie!

Rysunek 5.8.By� mo�e ta strona niejest szczególnie pi�kna,jednak validator.nujest u�ytecznymnarz�dziem, któresprawdza poprawno��kodu XML, HTML 5, itd.(www.validator.nu)

okre�lony sposób wy�wietlania, przezroczyste obrazki GIF do tworzenia

bia�ej przestrzeni... B�dziesz zaszokowany faktem, �e kiedy� stosowa�e� tego

typu sztuczki.

Zamiast korzysta z prezentacyjnych sztuczek, zaczniesz my�le struktu-

ralnie. Pozwolisz kodowi znaczników, by pe�ni� swoj� rol�. Nawet w uk�a-

dach hybrydowych, stosuj�cych tabele oraz inne elementy do prezentacji,

Page 18: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

Ukryty schemat kiepskiego kodu 129

nauczysz si� robi wi�cej przy u�yciu CSS — na przyk�ad usuwa z�o�one

i nadmiarowe znaczniki koloru oraz atrybuty komórek tabel i zast�powa

je jedn� lub dwoma regu�ami w globalnym arkuszu stylów. W miar� pozna-

wania nowego j�zyka kodowania b�dziesz zapomina stopniowo o z�ych przy-

zwyczajeniach. Przejd�my zatem do rzeczy.

Przeformu�owanie czego?Powo�amy si� na W3C i zacytujemy: „XHTML (www.w3.org/TR/xhtml1)

jest przeformu�owaniem HTML-a w XML”. Mówi�c pro�ciej i mniej pre-

cyzyjne, XHTML jest j�zykiem znaczników bazuj�cym na XML-u i dzia-

�aj�cym oraz wygl�daj�cym jak HTML z kilkoma ma�ymi, lecz znacz�-

cymi ró�nicami. W przegl�darkach oraz innych klientach u�ytkownika

XHTML 1.0 dzia�a dok�adnie tak samo jak HTML, chocia� niektóre nowo-

czesne przegl�darki mog� traktowa ten j�zyk nieco odmiennie — o czym

piszemy w nast�pnym rozdziale. Z punktu widzenia projektantów i pro-

gramistów, pisanie w XHTML-u 1.0 przypomina do z�udzenia pisanie

w j�zyku HTML — tyle �e z troch� bardziej �cis�ymi regu�ami i jednym

lub dwoma nowymi elementami, o których za chwil�.

W rozdziale 4. opisali�my XML (ang. eXtensible Markup Language) jako

„superj�zyk”, z którego programi�ci mog� wywodzi inne, dostosowane do

w�asnych potrzeb j�zyki znaczników. XHTML (ang. eXtensible Hypertext

Markup Language) jest jednym z takich j�zyków. XHTML 1.0 jest pierwsz�

i najbardziej zgodn� wstecz wersj� XHTML-a, st�d te� najlepiej nadaje

si� do nauki i sprawia najmniej k�opotu starszym przegl�darkom.

Inne aplikacje i protoko�y bazuj�ce na XML-u liczone s� w setkach, a ich

popularno� bazuje mi�dzy innymi na zdolno�ci do wymiany i transformo-

wania danych przy minimalnym koszcie oraz zaledwie kilku (o ile w ogóle)

k�opotach ze zgodno�ci� — cnotach, jakie dziel� z XHTML-em. Po�ród

tych protoko�ów wymieni mo�na Rich Site Summary (blogs.law.harverd.

edu/tech/rss), Scalable Vector Graphics (www.w3.org/TR/SVG), Synchro-

nized Multimedia Integration Language (www.w3.org/TR/REC-smil)

i Resource Description Framework (www.w3.org/RDF). (Wi�cej informacji

o tych j�zykach mo�na znale� w rozdziale 4.).

Ka�dy z tych protoko�ów pe�ni rol� w rozwijaj�cej si� sieci, ale �aden z nich

nie jest tak istotny dla projektantów i programistów jak XHTML — i �aden

z nich nie jest te� równie prosty.

Po co w ogóle „przeformu�owywa” HTML na XML lub cokolwiek innego?

Z jednego powodu — XML jest j�zykiem spójnym, czego nie mo�na

Page 19: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

130 Rozdzia� 5. > Nowoczesny uk�ad znaczników

powiedzie o HTML-u. Je�eli w XML-u otworzysz znacznik, musisz go

zamkn�. W HTML-u niektóre znaczniki nigdy nie s� zamykane, inne zaw-

sze, jeszcze inne zale�nie od woli programisty. Ta niekonsekwencja mo�e

spowodowa praktyczne problemy. Przyk�adowo niektóre przegl�darki mog�

odmówi wy�wietlania strony HTML, która pozostawia niedomkni�te komórki

tabeli, mimo �e specyfikacja HTML pozwala na tak� praktyk�. XHTML

zmusza do zamykania wszystkich elementów, zatem unika si� problemów

z przegl�darkami i oszcz�dza czas niezb�dny na testowanie oraz usuwanie

usterek. Nie trzeba równie� pami�ta, które znaczniki nale�y zamyka,

a które nie.

Co wa�niejsze, je�eli napiszesz stron� w j�zyku bazuj�cym na XML-u, b�dzie

ona lepiej wspó�dzia�a�a z innymi j�zykami, aplikacjami i protoko�ami opar-

tymi na XML-u.

Skoro XML jest tak wa�ny, czemu nie napisa j�zyka opartego na XML-u,

który b�dzie dzia�a� dok�adnie tak jak HTML? XML jest pot��ny i wszech-

obecny, nie mo�na jednak zaserwowa przegl�darce danych w surowej

postaci XML-a i oczekiwa, �e zrobi z nimi co� inteligentnego, na przyk�ad

wy�wietli �adnie sformatowan� stron� internetow�. Niestety, starsze prze-

gl�darki nie poradz� sobie z wy�wietleniem strony napisanej w XML-u.

W istocie zatem XHTML jest technologi� po�redni�, ��cz�c� pot�g� XML-a

(w pewnej cz��ci) z prostot� j�zyka HTML (w wi�kszo�ci).

PodsumowanieMówi�c ogólnie, XHTML to XML dzia�aj�cy jak HTML w starych i nowych

przegl�darkach oraz w wi�kszo�ci urz�dze� internetowych, poczynaj�c od

antycznych, takich jak Newton (produkowany w latach 90. ubieg�ego wieku),

poprzez urz�dzenia Palm, a� po iPhony. Praktyczna, przeno�na i wydajna

technologia.

XHTML jest równie prosty jak HTML — troch� prostszy dla pocz�tku-

j�cych, którzy nie posiadaj� z�ych przyzwyczaje� i by mo�e ciut trudniej-

szy dla weteranów zajmuj�cych si� projektowaniem od samego pocz�tku

lat 90. ubieg�ego stulecia.

XHTML jest aktualnym standardem (zast�puj�cym HTML 4), który ma

na celu przywrócenie rygorystycznej, logicznej struktury i zawarto�ci doku-

mentu zapewniaj�cej lepsze wspó�dzia�anie z innymi standardami siecio-

wymi, takimi jak CSS i DOM, oraz dobr� wspó�prac� z innymi istniej�cymi

i przysz�ymi j�zykami, aplikacjami oraz protoko�ami bazuj�cymi na XML-u.

Page 20: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

Ukryty schemat kiepskiego kodu 131

Lista wszystkich korzy�ci p�yn�cych ze stosowania XHTML-a zosta�a

zamieszczona na ko�cu rozdzia�u.

WERSJA STRICT CZY TRANSITIONAL?

W pierwszych dwóch wydaniach tej ksi�ki zalecali�my stosowanie wersji

XHTML 1.0 Transitional jako najbardziej wyrozumia�ej spo�ród wszystkich

wersji tego jzyka, najbardziej zbli�onej do tradycyjnych metod tworzenia

stron oraz naj�atwiejszej do poznania i zastosowania. Je�li starasz si oduczy�

starych nawyków lub chcesz uaktualni� istniejce witryny w �agodny i spokojny

sposób, XHTML 1.0 Trasitional bdzie najlepszym z mo�liwych wyborów.

Jednak z drugiej strony, aktualnie wikszo�� zwolenników przestrzegania

standardów preferuje tworzenie stron w bardziej rygorystycznej wersji

XHTML 1.0 Strict bd� te�, je�li s w stanie generowa� odpowiednie typy

MIME dla wszystkich przegldarek, z wyjtkiem Internet Explorera, w wersji

XHTML 1.1 Strict. Wybór wersji Strict jako domy�lnej jest cz�ciowo kwesti

mody — to sposób pokazania ca�emu �wiatu (albo przynajmniej tej jego cz�ci,

która zaprzta sobie g�ow ogldaniem kodu �ród�owego odwiedzanych stron),

�e nie uznajemy kompromisów, je�li chodzi o stosowanie standardów.

Zasadniczo to nic z�ego.

XHTML 2 — nie dla ka�degoW momencie wydania pierwszej edycji tej ksi��ki wersja robocza specyfi-

kacji XHTML 2.0 zosta�a przekazana do konsultacji spo�eczno�ci projek-

tantów i programistów. Kiedy zaczynali�my prac� nad trzecim wydaniem

sze� lat pó�niej XHTML 2.0 jest nadal wersj� robocz� (www.w3.org/

TR/xhtml2) i nie zosta� zaktualizowany od trzech lat. Mog�oby to �wiad-

czy o tym, �e �wiat nie dopomina si� XHTML-a 2. I faktycznie, cho w jego

specyfikacji mo�na znale� kilka fascynuj�cych rozwi�za�, jednak nigdy

nie znalaz� wielkiego poklasku w spo�eczno�ci programistów. 2 lipca 2009

roku W3C skróci�o m�ki XHTML-a 2 (http://www.w3.org/News/2009#

item119), zamykaj�c prace nad nim, a spo�eczno� osób zainteresowanych

standardami oszala�a z w�ciek�o�ci (http://www.zeldman.com/2009/07/07/

in-defense-of-web-developers/).

G�ównym celem XHTML 2.0 by�o zbli�enie si� do semantycznego idea�u,

nawet za cen� wyrzucenia na �mietnik dotychczasowych metod progra-

mowania. Pocz�tkowa wersja by�a faktycznie bardzo purystyczna. Z za�o�e-

nia XHTML 2.0 nie by� zgodny wstecz z HTML lub XHTML 1.0. Porzu-

ca� znajome konwencje, takie jak element img (zast�powany przez element

Page 21: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

132 Rozdzia� 5. > Nowoczesny uk�ad znaczników

object), znacznik br (zast�powany przez nowy element line, zamieniony

pó�niej na l) oraz wiekowy znacznik zakotwiczenia; zamiast niego otrzymu-

jemy do dyspozycji technologi� zwan� hlink.

Programi�ci tak bardzo narzekali na t� ostatni� zmian�, �e w pó�niejszej

wersji element a zosta� przywrócony. Ale w skorygowanym XHTML2 ka�dy

element b�d� grupa elementów strony mog�y posiada atrybut href. Nale�y

zwróci uwag�, �e wielu programistom niezwykle spodoba�a si� mo�liwo�

dodania atrybutu href do ka�dego elementu strony; rozwi�zanie to zosta�o

pó�niej wykorzystane w HTML-u 5, nast�pcy XHTML-a 1.0, którym obec-

nie pasjonuje si� sporo dzieciaków. Problem polega jednak na tym, �e aktu-

alnie wi�kszo� przegl�darek obs�uguje atrybuty href umieszczane jedynie

w elementach a.

Je�li chodzi o img, to w ko�cu uda�o mu si� wróci do XHTML 2 (http://www.

w3.org/TR/xhtml2/mod-image.html#sec_20.1), zosta� jednak uznany za

przestarza�y. Wci�� zamiast niego powinni�my u�ywa object, chocia� od

dawna wiadomo, �e object nie dzia�a w Internet Explorerze z wyj�tkiem

wersji IE8. (Mo�na to tak�e wyrazi w bardziej uprzejmy sposób, mianowi-

cie tak: to fajnie, �e IE8 w ko�cu obs�uguje element object).

Niektórzy projektanci przywitali proponowan� specyfikacj� XHTML 2

okrzykami rado�ci. Inni narzekali, �e wydaje si� zbytnio buja w ob�okach,

a za ma�o skupia si� na faktycznych problemach tworzenia stron. (No dobrze,

to chyba nam si� wyrwa�o). Wi�kszo� projektantów nie przywi�zywa�a do

niej wcale uwagi. Sze� lat pó�niej wszyscy, poza garstk� nowatorów, nadal

j� ignoruj�. Zamiast obs�ugiwa i rozwija dwa standardy „j�zyków znacz-

nikowych przysz�o�ci”, spo�ród których tylko jeden interesowa� spo�ecz-

no� twórców stron WWW, W3C podj��o ca�kiem sensown� decyzj�, by

zako�czy prace nad XHTML 2.0.

By mo�e XHTML 2.0 jest ju� martwym pomys�em, jednak nie musimy

si� tym martwi. adna z przegl�darek nie przestanie bowiem obs�ugiwa

XHTML-a 1. Podobnie, �adna z przegl�darek nie przestanie obs�ugiwa

HTML-a 4. Witryny napisane poprawnie i zgodnie ze specyfikacj� HTML

4.01 b�d� prawid�owo wy�wietlane jeszcze przez d�ugie lata. To samo dotyczy

witryn napisanych prawid�owo i zgodnie ze specyfikacj� XHTML 1.

Jednak po co u�ywa XHTML-a, skoro w przysz�o�ci j�zykiem do tworzenia

stron WWW ma by HTML 5? To ca�kiem zasadne pytanie, które twórcy

stron u�ywaj�cy HTML-a od ponad dekady niejednokrotnie sobie zada-

wali. Gdyby XHTML 5 mia� si� pojawi niebawem, a wszystkie przysz�e

wersje przegl�darek mia�y obs�ugiwa wszystkie jego nowo�ci (zaczynaj�c

Page 22: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

5 najwa�niejszych powodów, dla których warto wybra� HTML 133

do elementów strukturalnych, takich jak footer, a ko�cz�c na atrybutach

href dodawanych do dowolnych elementów strony), to faktycznie zawracanie

g�owy nauk� XHTML-a by�oby ma�o sensowne. Jedynym argumentem prze-

mawiaj�cym na korzy� XHTML-a mog�aby by nieco wi�ksza zgodno�

witryny z aplikacjami XML. Jednak prace nad standardem HTML 5 s� jesz-

cze dalekie od zako�czenia, a Internet Explorer (i w mniejszym stopniu tak�e

inne przegl�darki) nie obs�uguje wi�kszo�ci nowych elementów tego j�zyka.

A zatem obecnie wybór pomi�dzy j�zykami HTML i XHTML mo�na spro-

wadzi do listy pi�ciu podstawowych zagadnie�, przedstawionych poni�ej.

5 najwa�niejszych powodów,dla których warto wybra� HTML

1. HTML dzia�a prawid�owo we wszystkich przegl�darkach, a wszystkie

przegl�darki (w tym IE) prawid�owo obs�uguj� MIME HTML.

2. Cho najprawdopodobniej prace nad HTML 5 nie zostan� jeszcze

zako�czone przez kilka najbli�szych lat, jednak najnowsze

przegl�darki obs�uguj� ju� niektóre jego elementy. Stwarza

to doskona�� okazj�, by ju� teraz rozpocz� nauk� tej nowej,

u�ytecznej wersji j�zyka.

3. HTML traktuje b��dy bardziej wyrozumiale ni� XHTML.

4. HTML nie wymaga tak �cis�ego zamykania elementów jak XHTML,

a to z kolei mo�e nieznacznie zmniejszy zu�ywan� przepustowo�.

(A zu�ycie przepustowo�ci przez DOCTYPEE HTML 5 jest najmniejsze

z mo�liwych),

5. HTML 5 jest pierwsz� wersj� tego j�zyka, zaprojektowan� pod

k�tem bogatych aplikacji internetowych, dlatego te� wielkie firmy

internetowe, takie jak Google, bez w�tpienia b�d� nim bardzo

zainteresowane. Je�li zatem zajmujesz si� aplikacjami internetowymi

i odpowiada Ci kierunek rozwoju HTML-a 5, to teraz jest doskona�y

moment, by zacz� go poznawa i stosowa.

Dodatkowym plusem jest fakt, �e w �adnej z nowoczesnych przegl�darek

obecno� DOCTYPE HTML nie powoduje ju� automatycznego przechodzenia

do trybu „dziwactw”. Cho nie jest to �adn� zalet� w porównaniu ze stoso-

waniem XHTML-a, jednak u�ycie HTML-a nie pogarsza ju� sytuacji pro-

gramistów i nie zwi�ksza ryzyka przej�cia przegl�darki do niebezpiecznego

trybu „dziwactw”. W dalszej cz��ci ksi��ki, w rozdziale 7., opiszemy pod-

stawowe cele j�zyka HTML 5, jego ró�nice w stosunku do XHTML-a oraz

dok�adniej przedstawimy jego elementy, regu�y i sk�adni�.

Page 23: Projektowanie serwisów WWW. Standardy sieciowe. Wydanie IIIpdf.helion.pl/pswst3/pswst3-5.pdfkorzysta z takich technologii, nawet skromny i niepozorny blog. Podobnie do standardów

134 Rozdzia� 5. > Nowoczesny uk�ad znaczników

5 najwa�niejszych powodów,dla których warto wybra� XHTML 1

1. XHTML jest aktualnym standardem znaczników, zast�puj�cym

HTML 4.

2. XHTML jest zaprojektowany do wspó�pracy z innymi j�zykami

skryptowymi, aplikacjami i protoko�ami bazuj�cymi na XML.

HTML nie posiada takiej mo�liwo�ci.

3. XHTML jest bardziej spójny ni� HTML, zatem mniej sk�onny

do stwarzania problemów zwi�zanych z funkcjonowaniem

i wy�wietlaniem tre�ci.

4. Tworzenie w j�zyku XHTML pozwala na wyzbycie si�

przyzwyczajenia do pisania prezentacyjnego kodu znaczników,

a to z kolei mo�e pomóc w unikni�ciu problemów z dost�pno�ci�

i niezgodno�ci� przy wy�wietlaniu stron w przegl�darkach ró�nych

producentów. (Je�eli piszesz strukturalny kod XHTML i umieszczasz

wszystkie lub prawie wszystkie elementy prezentacji w CSS, czyli

tam, gdzie powinny by, nie b�dziesz musia� d�u�ej martwi si�

o ró�nice pomi�dzy przegl�darkami Firefox i Internet Explorer,

takie jak puste komórki tabel, do których zastosowano atrybut

szeroko�ci).

5. Podobnie jak wiczenia z metronomem sprawi�, �e b�dziesz lepszym

muzykiem, tak znaczenie, jakie w XHTML-u jest przyk�adane

do prawid�owego formatowania kodu i przestrzegania regu�, stanowi

doskona�� platform edukacji spo�ecznej dla wszystkich projektantów

i programistów, którzy przez d�ugie lata nawykli do tworzenia kodu

HTML pozbawionego semantycznego sensu. Je�li nawet za dwa

lub trzy lata wrócisz do HTML-a 5, to dzi�ki poznaniu XHTML

b�dziesz tworzy bardziej przejrzysty i lepszy kod — nauczysz si�

bowiem przestrzega semantyki wymuszanej przez �cis�e

i rygorystycznie przestrzegane zasady.

Podstawowy powód,dla którego nie warto wybiera� XHTML-a

1. Nie znasz zasad XHTML-a.

Na szcz��cie, temu punktowi mo�emy zaradzi — patrz rozdzia� 6.