Web.Reporter.pl Pełny kurs HTML 4.01, XHTML 1.0 i CSS 2 z przykładami
autor: Dariusz Majgier • ostatnia modyfikacja: 2002.06.10 • wersja kursu: 1.1

[0-9]  A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z 
[główne menu] - [elementy HTML] - [atrybuty HTML] - [style CSS] - [artykuły]
tabelelistyformularzemultimediael. strukturalneel. blokoweel. liniowe

Gdy HTML nie wystarcza

Jeżeli dobrze opanujesz HTML i zaczniesz tworzyć bardziej zawansowane serwisy WWW, w pewnej chwili odkryjesz wiele niedoskonałości tego języka. Okazuje się, że w czystym HTMLu nie można stworzyć bazy danych z książkami, nie da się też napisać sklepu internetowego czy przetworzyć danych z formularza. Nie wspominając już o forach dyskusyjnych czy wyszukiwarkach stron WWW.

Nie znaczy to, że z języka HTML wkrótce zrezygnujesz. O nie! Jest on niezbędny, bowiem wyniki działania wszystkich tych skryptów i narzędzi pokazywane są w dalszym ciągu jako zwykłe strony WWW napisane w języku HTML (ewentualnie z dołączonym skryptem). Jedyna różnica polega na tym, że strona staje się dynamiczna, a więc może za każdym razem wyglądać inaczej, czyli zawierać inne elementy języka HTML lub inne treści.

Dynamiczne strony

Aby lepiej zrozumieć ideę dynamicznych stron, zobacz jak zbudowane są serwisy prasowe publikujące aktualności. Tam nowe informacje pojawiają się nawet co kilka minut. Nikt przecież nie tworzy co chwilę nowej strony głównej z tytułami, które kierują do osobnych stron, gdzie zamieszczane są poszczególne informacje. Byłoby to zbyt pracochłonne. Wyobraź sobie, co by się stało, gdyby nagle ktoś chciał zmienić wygląd wszystkich wiadomości - nie chciałbym być osobą, która musi ręcznie zmienić zawartość kilkunastu tysięcy osobnych dokumentów HTML!

Z problemem można sobie łatwo poradzić. Wystarczy skonstruować szablon strony, do którego z bazy danych wstawiane są w odpowiednie miejsca tytuły i treść informacji. W bazie danych są one zapisane jako zwykły tekst. Dopiero po ich pobraniu i wstawieniu w szablon strony WWW, który zawiera polecenia HTML, całość wysyłana jest do przeglądarki. Odbiorca widzi ją jako zwykła strona HTML. Różni się tylko nazwą - zamiast tradycyjnego index.html można spotkać np. index.php lub index.cgi. Rozszerzenie określa język skryptowy, który został zastosowany do wygenerowania strony WWW.

Języki programowania pozwalają na przekazywanie różnych parametrów do wnętrza dokumentów. Wygląda to na przykład tak: index.php?id=1354. W ten sposób można poinformować program, że szablon ma być wypełniony informacją o określonym numerze ID, w tym wypadku jest to news numer 1354. Taki "trick" pozwala jedną stronę wykorzystać do wyświetlania wielu informacji w zależności, jakie dane zostały do niej przekazane.

Tym sposobem nie mamy już 10 tys. osobnych stron HTML, ale jedną stronę napisaną w wybranym języku programowania. Znając składnię języka możemy pobierać informacje z baz danych lub z innych serwisów, przetwarzać dokumenty, wyszukiwać informacje lub obsługiwać fora dyskusyjne.

Po stronie użytkownika

Część języków programowania uruchamianych jest w przeglądarce, która odpowiada za ich poprawne wykonanie. Sprawa wygląda podobnie, jak z językiem HTML - przeglądarka "czyta" kod i wykonuje go w swoim oknie. Użytkownik musi jednak mieć nową wersję przeglądarki, obsługującej poprawnie wybrany język programowania.

Najczęściej jest to JavaScrypt i Java. Ponieważ każda przeglądarka różni się jednak nieco składnią poleceń, mogą pojawić się problemy z działaniem tych skryptów. Użytkownik może też zabronić przeglądarce wykonywania ich, przez co strona może stracić na jakości i czytelności.

Zaletą takiego rozwiązania jest szybkość działania. To przeglądarka wykonuje kod programu więc uruchamia się on znacznie szybciej niż przesłanie strony przez Internet. Natychmiast widać też efekty działania skryptu. Jeżeli skrypt nie pobiera dodatkowych danych przez Internet, można używać programu nawet po rozłączeniu się z Internetem (np. grać w gry napisane w Javie)

Języki JavaScript i JScript

JavaScript (firmy Netscape) i JScript (Microsoftu) funkcjonujące w zasadzie pod nazwą JavaScript to bardzo podobne języki, które można umieszczać na stronach WWW i mieszać je z HTMLem. Są bardzo przydatne gdy trzeba szybko poradzić sobie z prostym problemem, np. weryfikacją formularza lub wyświetleniem na stronie aktualnej daty z imieninami czy jakiegoś okienka z podpowiedzią. Oczywiście można je też stosować do bardziej zaawansowanych rzeczy - np. rozwijanych systemów menu.

JavaScript ma jednak poważną wadę - za jego wykonanie odpowiada przeglądarka, a ponieważ przeglądarki różnych firm inaczej interpretują polecenia języka JavaScript, wynik działania skryptu może być różny. W skrajnych przypadkach użytkownik nic nie zobaczy. Tym bardziej, że może wyłączyć w przeglądarce ten język lub jego przeglądarka może go wcale nie obsługiwać.

Do zalet należy niewątpliwie fakt, że nie trzeba za każdym razem przeładowywać strony aby zobaczyć efekty działania skryptu. W ten sposób można zrobić np. przyciski graficzne, które zmieniają się, gdy najedziemy na nie wskaźnikiem myszy.

Język Java

Potężny język pozwalający na umieszczenie na stronie WWW gotowego programu o dowolnym stopniu skomplikowania. Np. gry, edytora tekstów, arkusza kalkulacyjnego, interaktywnej mapy z pogodą. W wydzielonym miejscu na stronie można wstawić program nie ustępujący jakością programom tradycyjnym. Dodatkowo działa on w każdym systemie operacyjnym tak samo. Jedyna wada to fakt, że również wykonuje go przeglądarka, przez co nie zawsze można go uruchomić. Użytkownik może też wyłączyć działanie programów w Javie.

Po stronie serwera

Przeciwnością skryptów wykonywanych po stronie użytkownika są języki programowania wykonywane po stronie serwera. Serwer odpowiada za "wyprodukowanie" strony według naszych potrzeb i przesłanie jej w gotowej postaci do przeglądarki. Może to być czysty HTML lub wzbogacony również o skrypty wykonywane po stronie przeglądarki. Języki wykonywane po stronie serwera mają tą zaletę, że mogą współpracować z innymi aplikacjami uruchomionymi na serwerze, np. bazami danych. Mało tego - są niezależne od przeglądarki, więc każda otrzyma dokładnie ten sam wynik działania skryptu.

Najpopularniejszymi językami tego typu są PHP, PERL, ASP. Interfejs CGI pozwala na uruchamianie po stronie serwera programów w dowolnych językach, również w C. Dla programisty oznacza to dostęp do niemal wszystkich narzędzi znajdujących się na serwerze. Można w ten sposób zarządzać serwerem, dodawać nowych użytkowników, wysyłać pocztę, konfigurować i udostępniać różne usługi sieciowe oraz robić wiele innych rzeczy za pośrednictwem zwykłej przeglądarki stron WWW.

Język PHP

Szalenie popularny i niezbyt trudny język. Ma mnóstwo zalet i pozwala budować najbardziej skomplikowane serwisy i portale. Znając kilkanaście podstawowych poleceń można już pokusić się o tworzenie całkiem zaawansowanych serwisów. Udostępniają go obecnie wszyscy więksi dostawcy Internetu. Strony napisane w tym języku można poznać po rozszerzeniu nazwy, najczęściej .php, .php3, .php4.

Język PERL

Równie popularny, ale nieco trudniejszy do opanowania dla początkujących. Też pozwala budować najbardziej skomplikowane serwisy. Kiedyś, gdy nie było jeszcze PHP, był najpopularniejszym językiem skryptowym. Udostępniają go obecnie wszyscy więksi dostawcy Internetu. Strony napisane w tym języku można poznać po rozszerzeniu nazwy, najczęściej .cgi, .pl.

Język ASP

Produkt firmy Microsoft, więc wykorzystywany jest bardzo często na serwerach WWW tej firmy. Pozwala na zintegrowanie danych i programów pracujących pod kontrolą środowiska Windows. Zdecydowanie ustępuje popularnością PHP i Perlowi. Jednak wielu twórców stron wybiera go, jako najlepsze rozwiązanie. Udostępniają go tylko wybrani dostawcy Internetu. Strony napisane w tym języku można poznać po rozszerzeniu nazwy, najczęściej .asp.

To nie koniec...

Powyższe języki są najpopularniejsze, ale nie jedyne. Narzędzi do tworzenia dynamicznych stron WWW jest wiele i różne firmy oferują własne rozwiązania. Wybór odpowiedniego języka narzuca rodzaj i stopień zaawansowania serwisu WWW. Często też wykorzystuje się kilka języków jednocześnie.

Na początek proponuję Ci naukę języka PHP. Jest wystarczająco zaawansowany i jednocześnie na tyle prosty, że po jego opanowaniu w stopniu podstawowym możesz spokojnie konkurować z większymi serwisami. W Internecie znajduje się tysiące gotowych skryptów, więc wystarczy tylko umiejętność konfigurowania i dodawania ich do własnego serwisu, aby cieszyć się wyszukiwarką na stronie lub własnym forum.

• • •
Masz jakieś pytania? Podyskutuj na forum dyskusyjnym o HTML i CSS!