Wstęp czyli o czym będę pisał…
Jakiś czas temu napisałem mały kurs tworzenia stron ale okazał się niezbyt dobry. Faktem jest że korzystałem z wielu materiałów dostępnych w sieci i wyszedł taki zlepek. Może i komuś się przydał ale większość nawet nie przeczytała bo i po co? Dlatego od dziś będę publikował kurs w trochę innej formie.
Zacznijmy od początku. W dzisiejszych czasach tworzenie stron www bardzo różni sie od tego co obserwowaliśmy jeszcze np. 5 lat temu. Wiadomo technologia idzie do przodu, ludzie wymyślają coraz to lepsze metody pisania programów i ulepszana kodu. Przeglądarki też potrafią coraz więcej wyświetlić i dzięki temu mamy większe możliwości. Oczywiście od zawsze podstawowym językiem pisania stron www jest HTML.
Przez lata zmienił się sposób pisania i wprowadzono wiele ulepszeń ale to wciąż ten sam język. Czemu jest tak popularny? Bo nie wymyślono nic lepszego póki co 🙂 Kod html możemy napisać nawet w notatniku i potem tylko wrzucić na serwer a on będzie działał od razu bez żadnych dodatkowych zabiegów. Po za tym jest bardzo prosty do nauczenia się. Początkowo znaczniki i struktura może trochę zamieszać w głowie ale całość da się szybko nauczyć.
Jednak sam język html już nie wystarcza do tworzenia stron. Musi on współgrać z jeszcze jednym… Kaskadowym arkuszem stylów – CSS. W początkowych fazach , gdy wymyślono css nie był on tak bardzo przydatny jak dziś. Do czego on służy? To specjalny plik który odpowiada tylko i wyłącznie za wygląd strony. Cała struktura, nawigacja i tekst jest w pliku html, ale to jaki kolor ma mieć tekst, jak ma być ułożony słowem jak ma wyglądać cała strona, za to wszystko odpowiada plik css. Oczywiście da się to wszystko wpisać prosto do pliku html i też będzie działało. Bo tak naprawdę te definicje w css to cały czas język html tylko opatrzony pewnymi ulepszeniami i mający specjalne zasady. Wiec po co to wszystko? Dla wygody 🙂
Wyobraźmy sobie stronę która jest wizytówką kogoś w internecie. Zazwyczaj jest to strona statyczna, a więc napisana tylko w html-u. Taka strona może posiadać 3-5 podstron. Załóżmy że autor sobie wymyślił, że cały tekst będzie zielony i pogrubiony, a tło np jasno żółte. Tak więc wpisujemy odpowiednie rzeczy na tych 5 podstronach i mamy żółte tło i zielony tekst. Pewnego dna autor stwierdził, że rozbuduje stronę i dodał kolejnych 20 podstron. Więc usiadł i zrobił te 20 stron wszędzie wpisując definicję koloru tekstu i tła. Czas płynął a serwis rozrósł się do 50 podstron. To niezbyt dużo bo rozbudowane witryny mają setki stron. Ale nagle autor stwierdził, że zielony tekst mu się nie podoba. Postanowił coś zmienić. I stwierdził, że tekst będzie teraz czarny. Co musi zrobić? Ręcznie zmodyfikować te wszystkie 50 podstron i zmienić kolor na czarny. Jak będzie chciał kiedyś zmienić kolor tła, znów musi edytować wszystkie pliki stron. Straszna robota. A co jeśli stron jest kilkaset? Trzeba spędzić cały dzień albo i więcej aby zmienić na nich wszystkich głupi kolor tekstu. A co jeśli się zechce zmienić wygląd całej strony? Trzeba edytować wszystkie podstrony i definiować nowy wygląd dla nich wszystkich. Można oczywiście to robić metodą kopiuj-wklej ale i tak otwieranie setki plików nie jest zbyt fajnym zajęciem.
Dlatego właśnie powstały arkusze stylów. W jednym pliku definiujemy wygląd całej strony a reguły zostają dodane automatycznie do każdego pliku. Chcemy zmienić kolor tekstu? Proszę bardzo. Zmieniamy jedną linijkę w pliku css a tekst na wszystkich stronach jest zmieniany. Chcemy zmienić całkiem wygląd strony? Zmieniamy plik css, a cała strona i jej wszystkie podstrony wyglądają tak samo. A to wszystko prosto i przyjemnie i bez konieczności mozolnego edytowania setek plików.
Z takiego rozwiązania korzysta obecnie większość stron. Jeśli ktoś nawet posiada bloga czy używa gotowych stron to na 100% korzysta z css. To już właściwie standard i nieważne czy jest t strona domowa Jasia czy portal w rodzaju Onetu.
HTML i CSS stanowią podstawy wszystkich serwisów www. Jednak dzisiejsze strony coraz rzadziej są tworzone tylko za pomocą statycznego html-a. Coraz częściej korzysta się z języka PHP oraz baz danych MySQL. Ten duet odpowiada za to wszystko co sprawia że strony są ciekawe dla użytkowników. Potrafią generować dynamiczne strony, zmieniające się w zależności od poleceń użytkownika. To najczęściej wykorzystywane technologie przy tworzeniu dynamicznych stron internetowych (prócz nich są jeszcze inne, jednak nie tak popularne).
Dodatkowo na stronach www stosowane są skrypty w języku JavaScript. Służą one jednak przede wszystkim do "bajerów" typu wyświetlanie urodzin, imienin, dynamicznie tworzone miniatury zdjęć czy też funkcje wywoływane po naciśnięciu myszy. Są też wykorzystywane do bardziej ambitnych zadań jak np. gry internetowe czy chaty.
Jak widać sposobów na robienie stron jest dość dużo. Jeśli dodać do tego technologie Flash (przede wszystkim efektowne grafiki), AJAX (coraz bardziej popularna technologia tworzenia stron dynamicznych bez konieczności odświeżania itp.) i parę innych to zbierze się na to naprawdę sporo narzędzi do dyspozycji i dużo języków do nauczenia. Na szczęście większość stron korzysta tylko z niektórych z nich i czasem tylko w małym stopniu. Bez względu na użyty język, zawsze musi on wykorzystywać HTML. Bez tego żadna strona nie będzie wyświetlona 🙂
A wiec co tak naprawdę będzie w tym kursie? Nie będę tu opisywał po kolei składni języków itp. bo tego typu informacje są dostępne w wielu książkach czy też internecie (o html, php itp można znaleźć mnóstwo kursów i poradników). Tym bardziej że taka wiedza nikomu na nic się nie przydaje. Prawdziwym problemem jest potem stworzenie stronki. Na swojej drodze napotykamy mnóstwo problemów, które nie zawsze można rozwiązać za pomocą posiadanej wiedzy. Dlatego w kolejnych częściach kursu stworzymy od podstaw stronę przy okazji omawiając potrzebne części języka. Zaczniemy od strony statycznej w html i css, wspomnę co nieco o pozycjonowaniu i optymalizacji witryny, aby potem przejść do bardziej zaawansowanych spraw jak php i bazy danych. Jako że ostatnimi czasy strasznie popularne stały się blogi i strony prywatne, spróbujemy stworzyć taką właśnie stronę (ale dzięki zdobytej tu wiedzy każdy będzie mógł stworzyć także inne strony). Mam nadzieję ze kurs ten stanie się przydatny dla wszystkich a przede wszystkim tych którzy nie wiedzą nic o pisaniu stron.