3. Programové nástroje

3.1. HTML

HTML (Hypertext Markup Language) je základním jazykem pro vytváření webových stránek [5]a jeho zvládnutí je nutné i pro používání složitějších skriptovacích jazyků, jako je PHP či ASP.
"Oficiální" verzi jazyka HTML utváří konsorcium W3C [14]. Slovíčko oficiální jsem zde použil hlavně proto, že dva hlavní výrobci prohlížečů, Netscape [6], ale hlavně Microsoft [9], neustále rozšiřují HTML o svoje příkazy a až v momentě, kdy "naučí" svůj prohlížeč je podporovat, se snaží, aby je konsorcium W3C uznalo za oficiální standard HTML.
HTML je interpretovaným jazykem, což znamená, že zdrojový kód je přímo předložen prohlížeči, není tedy překládán do strojového kódu. To také znamená, že žádné vnější elementy, které jsou přeloženy do strojového kódu (obrázky, animace), se nenachází uvnitř HTML-dokumentu, ale je na ně z něj pouze odkazováno. HTML je zároveň jazyk velmi pružný, pokud totiž prohlížeč narazí na chybu, nebo na příkaz, který nezná, tak ho ignoruje a přesune se na další příkaz.

3.2 DHTML

Na rozdíl od podrobných specifikací (jako je např. HTML 4.01 či XHTML 1.0) není dynamické HTML (dále jen DHTML) žádným standardem či normativním předpisem; neexistuje nic jako DHTML 1.0. Termínem DHTML [8] se pouze označuje souhrn nástrojů a postupů umožňujících dynamické změny HTML dokumentů. Tedy postupy, jak přímo v prohlížeči na jinak statické stránce zobrazit či skrýt část jejího obsahu, provést určitou akci podle činnosti uživatele (pohyb myši, kliknutí, stisk klávesy, načtení stránky atd.), animovat pohyb prvků na stránce či automatizovat funkce prohlížeče.

3.3. XHTML

V další fázi bylo potřeba definovat HTML jako podmnožinu jazyka XML (eXtensible Markup Language - rozšiřitelný značkovací jazyk), který vychází ze SGML, avšak je "ořezán" o některé zbytečné vlastnosti a některé nové vlastnosti naopak přidává. W3C prosazuje XML jako hlavní a jediný značkovací jazyk nejen pro web, proto byla reformulace HTML do XML logickým vyústěním této snahy. Nově vytvořený jazyk dostal jméno XHTML (eXtensible HyperText Markup Language - rozšiřitelný hypertextový značkovací jazyk) a jeho první specifikace se označuje XHTML 1.0. Tato specifikace je stejná jako specifikace HTML 4.01, jsou zde pouze integrována pravidla XML.
W3C chce XHTML prosazovat jako jediný jazyk pro definici webových stránek, bez ohledu na typ zařízení, které je zpracovává. Expanze webu na různá alternativní zařízení ukázala, že tato zařízení kvůli svým omezeným možnostem nemohou podporovat všechny vlastnosti XHTML, že podporují jen nějakou jeho část (podmnožinu). Tyto podmnožiny bylo třeba definovat a standardizovat, proto vznikla specifikace "Modularization of XHTML". Tato specifikace rozděluje všechny prvky XHTML 1.0 do modulů, ze kterých se následně skládají značkovací jazyky. Skupiny zabývající se webem v alternativních zařízeních mohou definovat nové moduly s prvky specifickými pro dané zařízení, mohou stávající moduly modifikovat, ale hlavně mohou z modulů skládat nové kompletní značkovací jazyky, které vyhovují potřebám a možnostem interpretace webu na těchto zařízeních. Z těchto jazyků zatím W3C uznalo XHTML 1.1 (až na několik detailů se shoduje s XHTML 1.0 Strict, hlavní rozdíl spočívá v tom, že XHTML 1.1 je definováno pomocí modulů) a XHTML Basic (skládá se pouze ze základních modulů, k použití hlavně na mobilních telefonech, PDA1) a podobně).

3.4. CSS

CSS - Cascading Style Sheets - kaskádovací styly, poprvé implementovala společnost Microsoft v roce 1996 do Internet Exploreru 3.0. Pomocí CSS můžeme definovat kromě barvy, písma a velikosti spoustu dalších věcí (rámeček, podtržení, tučnost, vlnitost, zobrazení, odrážky, okraje..) Třídy a identifikátory umožňují tvorbu stylu jediným atributem a nemusíme tedy ve zdrojovém kódu opakovat stejné tagy vícekrát. Kromě toho můžete také definovat styl tagů např. tak <input> bude mít vždy červený text - to je možné udělat jediným řádkem.

3.5. PHP

PHP [11] urazilo v posledních několika málo letech dlouhou cestu. Růst v jeden z nejprominentnějších jazyků ovládajích Web nebyl snadný. V následujících odstavcích je stručně popsáno, jak PHP vyrostlo do dnešní podoby [7]. Tento jazyk byl zároveň z důvodu jeho naprosté univerzálnosti v použití a podpory ze strany serveru katedry mapování a kartografie vybrán a použit k naprogramování celého modulu a je základním jazykem celého testovacího systému.

3.5.1. PHP/FI

> PHP je nástupcem staršího produktu, nazvaného PHP/FI. PHP/FI vytvořil Rasmus Lerdorf v roce 1995, na počátku jako jednoduchou sadu skriptů v jazyce Perl pro zpracování záznamů o přístupech k jeho webu. Tuto sadu nazval 'Personal Home Page Tools'. Protože byla třeba větší funkčnost, napsal Rasmus mnohem rozsáhlejší implementaci v C, která byla schopna komunikovat s databázemi a umožňovala uživatelům vyvíjet jednoduché dynamické aplikace pro Web. Rasmus se rozhodl uvolnit zdrojový kód PHP/FI pro všechny, takže kdokoli ho může používat, stejně jako opravovat chyby a vylepšovat kód.
PHP/FI, což znamená Personal Home Page / Forms Interpreter, obsahovalo něco ze základní funkcionality PHP, jak ho známe dnes. Mělo proměnné Perlovského typu, automatickou interpretaci formulářových proměnných a syntaxi vloženou do HTML. Syntaxe samotná byla podobná jazyku Perl, přestože mnohem omezenější, jednodušší a v něčem nekonzistentní.
V roce 1997 se PHP/FI 2.0, druhá implementace psaná v C, stala kultovní záležitostí pro (odhadem) tisíce uživatelů po celém světě, a s přibližně 50.000 doménami oznamujícími nainstalované PHP/FI, což čítalo zhruba 1 % všech domén na Internetu. I když do projektu začalo svými kusy kódu přispívat více lidí, stále to byl velký projekt jednoho muže.
PHP/FI 2.0 bylo oficiálně uvolněno až v listopadu 1997, poté co strávilo většinu svého života v betaverzích. Krátce nato bylo následováno první alfaverzí PHP 3.0.

3.5.2. PHP 3

PHP 3.0 byla první verze, která se velmi blížila takovému PHP, jak ho známe dnes. Vytvořili ho Andi Gutmans a Zeev Suraski v roce 1997 jako kompletně přepsaný celek, poté co shledali PHP/FI 2.0 výrazně "poddimenzované" pro vývoj svých aplikací pro e-komerci. Ve snaze spolupracovat a zahájit budování nad existující uživatelskou základnou PHP/FI, rozhodli se Andi, Rasmus a Zeev pracovat společně a prohlásit PHP 3.0 za oficiálního nástupce PHP/FI 2.0, a vývoj PHP/FI 2.0 byl v podstatě zastaven.
Jednou z nejsilnějších zbraní PHP 3.0 byly jeho obrovské možnosti rozšíření. K poskytnutí pevné infrastruktury pro mnoho různých databází, protokolů a API koncovým uživatelům, přilákaly možnosti rozšíření PHP 3.0 také tucty vývojářů, kteří se připojili a vytvořili nové rozšiřující moduly. Toto byl nesporně klíč k obrovskému úspěchu PHP 3.0. Jiným klíčovým prvkem v PHP 3.0 byla podpora objektově orientované syntaxe a mnohem silnější a konzistentnější syntaxe jazyka.
Nový jazyk byl uvolněn pod novým názvem, který odstranil implikaci omezeného osobního použití, kterou neslo označení PHP/FI 2.0. Byl nazván pouze 'PHP', což je rekurzívní akronym - PHP: Hypertext Preprocessor.
Na konci roku 1998 vyrostlo PHP do rozsahu instalací v řádu (odhadem) desítek tisíc uživatelů a stovek tisíc Webů. V době svého vrcholu bylo PHP 3.0 instalováno na přibližně 10% všech WWW serverů na Internetu.
PHP 3.0 bylo oficiálně uvolněno v červnu 1998, poté co strávilo cca 9 měsíců ve veřejném testování.

3.5.2. PHP 4

V zimě 1998, krátce po oficiálním uvolnění PHP 3.0, začali Andi Gutmans a Zeev Suraski pracovat na přepsání jádra PHP. Cílem návrhu bylo zvýšit výkon pro složité aplikace a zlepšit modularitu kódové báze PHP. Takové aplikace byly schopny pracovat s PHP 3.0 (díky novým možnostem a podpoře široké škály databází a API od jiných tvůrců), ale PHP 3.0 nebylo navrženo pro efektivní práci tak náročných aplikací.
Nový engine, nazvaný 'Zend Engine' (sestaven z jejich křestních jmen, Zeev a Andi), úspěšně splnil cíle návrhu a byl uveden v polovině roku 1999. PHP 4.0, založené na tomto enginu a doplněné širokou škálou nových prvků, bylo oficiálně uvolněno v květnu 2000, necelé dva roky po svém předchůdci, PHP 3.0. K podstatně zvýšenému výkonu této verze, přidává PHP 4.0 další klíčové prvky, jako je podpora pro mnoho WWW serverů, HTTP sessions, buffering výstupu, bezpečnější způsoby zpracování vstupů uživatele a mnoho nových jazykových konstruktů.

3.5.3 PHP 5

Nedávno vydaná verze PHP 5 je momentálně poslední uvolněnou verzí PHP. Oproti verzi PHP 4 došlo k vylepšení jádra Zend Engine k integraci nových prvků, které byly navrženy nově pro PHP 5.0.
Dnes používají PHP (odhadem) stovky tisíc vývojářů a nainstalované PHP hlásí několik milionů serverů - tj. přes 20 % domén na Internetu.
Vývojový tým PHP zahrnuje tucty vývojářů, stejně tak jako tucty dalších lidí, kteří pracují na projektech spojených s PHP, jako je PEAR a dokumentační projekt.

3.6. ASP

Zkratka z anglického Active Server Pages. Jde o tenchnologii, která generuje stránky na straně serveru. ASP je dítětem společnosti Microsoft - ta tuto technologii představila v prosinci 1996 jako součást svého internetového serveru Internet Information Server 3.0 (IIS). Žádný programovací jazyk ASP ale neexistuje - to je jen obecný název, zastřešující několik technik. Díky nim lze snadno a poměrně jednoduše integrovat databázové systémy a podnikové aplikace do webových stránek a zpřístupňovat tak důležitá data velkému okruhu uživatelů. Základem ASP je programovací jazyk. K nejznámějším patří např. JavaScript nebo VBScript (podrobněji v následujících kapitolách).

3.7. JavaScript

JavaScript je jednoduchý programovací jazyk, vyvinutý pro zvýšení komfortu při prohlížení internetových stránek. Můžete ho zapisovat přímo do HTML kódu. Tento jazyk vyvinula firma Netscape, ale v současné době je podporován Internet Explorerem i řadou dalších prohlížečů. Navzdory názvu nevychází JavaScript z programovacího jazyka Java. Ten je produktem jiné firmy (Sun Microsystems).

3.8. VB Script

VBScript je skriptovací jazyk, který se odehrává na straně prohlížeče. Proto skripty napsané ve VBScriptu jsou funkční i v režimu offline. Možnosti VBScriptu jsou takřka totožné jako schopnosti JavaScriptu (viz kap. 3.7).
JavaScript a VBScript jsou velmi podobné jazyk, co do cílů a možností. Liší se především syntaxí a samozřejmě některé drobné rozdíly (jeden umí něco, co druhý neumí), ale tyto rozdíly jsou zanedbatelné. Hlavní rozdíl však plyne z historie obou jazyků. Zatímco JavaScript vytvořila společnost Netscape a tím podpořila schopnosti svého prohlížeče, Microsoft reagoval podporou JavaScriptu, ale vymyslel i svůj vlastní, který má nahradit JavaScript, ale tento jazyk - VBScript zůstává výhradou pouze prohlížečů Microsoftu. VBScript je tedy převážně funkční pouze v Internet Exploreru, což zcela jednoznačně odpovídá na otázku, který skriptovací jazyk použít. Pokus použijeme VBScript, uživatelé jiných prohlížečů (Opera, Mozilla) budou ochuzeni, případně omezeni, což je rozhodně nežádoucí. VBScript bychom tedy mohli použít v našem testovacím systému, protože na všech počítačích je použit prohlížeč od společnosti Microsoft. Ale pro zachování budoucí plné kompatibility není tento skriptovací jazyk pro náš případ příliš vhodný.