Programování stránek

nástin možností

Klient/server - Klientské skripty - Serverové skripty - Co používat - Zdroje a odkazy

Jazyk HTML, kterým se píšou stránky, spoustu věcí nedokáže. Pokročilí autoři proto do stránek přidávají skripty v různých jazycích. Tento text by měl pouze usnadnit základní orientaci kolem jazyků a technologií aktivních internetových stránek.

Klient / server

Základní rozdělení skriptů je podle toho, na kterém počítači program běží -- na klientovi nebo na serveru. Rozdíly mezi oběma skupinami jsou tak značné, že skoro nemá smysl popisovat je na jedné stránce. Ale risknul jsem to.

Pokud váháte, který typ skriptů je pro vás ten pravý, existuje kritérium:

Kde to běží Klient Server
Jazyky (příklady) Javascript, VBScript, JScript, DHTML CGI, PHP, ASP
Program, na kterém to běží Prohlížeč (např. Internet Explorer) Server (jako software), např. Apache nebo IIS
Požadavky žádné na serveru nainstalovaná podpora
Co to umí vizuální efekty, animace, hlášky, změny stylů a podobné blbinky plnohodnotné aplikace, spolupráce s formuláři, databázemi a s poštou
Začátky může se začít ihned musí se napřed nainstalovat spousta věcí
Potřebné znalosti
  • HTML
  • základy programování
  • hodí se CSS
Omezení
  • dá se v prohlížeči vypnout
  • různé verze skriptů nejsou kompatibilní navzájem a s prohlížeči, z čehož vyplývá nespolehlivost
  • některé jazyky (VBScript, Java) nejsou v každém prohlížeči
  • skripty nemohou ukládat data
  • málo serverů to umožňuje, většinou se za to platí
  • je-li to zadarmo, bývá to nekvalitní
  • program mnohdy zatěžuje server
  • musí se ladit on-line, nebo mít doma také nainstalovaný veškerý software

Klientské skripty

Princip: na počítač uživatele (čili na klienta) se odešle HTML stránka spolu se skriptem. Skript je vykonán až při načítání a prohlížení stránky.

V oblasti klientských skriptů naprosto dominuje jazyk JavaScript (a jeho klon JScript od Microsoftu). Přes usilovnou snahu Microsoftu se VBScript příliš neujal. 

Dalším častým pojmem je DHTML -- Dynamické HTML. Je to nejasně definovaná kolekce způsobů, jak stránky "rozhýbat". Prakticky je to synonymum pro použití JavaScriptu s CSS.

Poněkud stranou klientských aplikací stojí programové objekty vkládané do stránek, nejsou to skripty, ale v mém uvažování patří spíše na klientskou stranu. Jde zejména o Macromedia Flash a Java applety.

Java applety a JavaScript nemají nic společného kromě podobného jména, syntaxe a původu. Aneb Java není JavaScript!

Osobně doporučuji naučit se základy JavaScriptu. Nemá ale smysl dělat v něm velké programy, protože má malé možnosti, zejména nedokáže ukládat data.

Základní jazyky Podpora Objektový model Podobnost
JavaScript Všechny prohlížeče základní syntaxe typu Java nebo C
JScript Internet Explorer 4 + rozšířený základem je JavaScript
VBScript Internet Explorer volitelně rozšířený Visual Basic, syntaxe typu Pascal
DHTML Internet Explorer 4 +, Mozilla nejde o jazyk, Dynamické HTML je pojem pro širší použití JavaScriptu s objekty prohlížeče.

Serverové skripty

Princip: při požadavku server vykoná program a klientovi posílá pouze data ve formátu HTML. Klient s programem nepřichází vůbec do styku.

Na poli serverových skriptů si dnes (2001 až 2004) tvrdě konkurují PHP a ASP.

Dříve serverovým aplikacím naprosto dominovaly CGI skripty v Perlu, které jsou stále (díky setrvačnosti) nejčastějším případem serverových skriptů. Veliké servery, které potřebují obrovský výkon, obvykle používají nějaké speciální řešení. Velmi jsou například oblíbené Fast CGI v kombinaci s Perlem nebo Pythonem. K tomu přistupují šablonovací jazyky typu Fast nebo Smarty, což jsou vlastně html vsuvky, ale bez back-end programu v Pythonu nebo Perlu jsou bezmocné.

Základní jazyky Označení Charakteristika Omezení
CGI Common Gateway Interface Základní výměnné prostředí pro příjem vstupu a publikování výstupu jakéhokoliv programu (třeba z Pascalu nebo Perlu) Je potřeba nějaký další jazyk.
CGI + Perl Perl je jazyk Perl umí výborně pracovat se soubory a řetězci, proto je velmi oblíbený pro psaní CGI. Interpretovaný jazyk. Relativně komplikovaný jazyk, hůře se pracuje s HTML.
CGI + Python Python je jazyk Python je přehledný objektový skriptovací jazyk. Málokdo to umí, je málo dobré literatury, hůře se pracuje s HTML.
SSI Server-side Include Prostá vsuvka, která na straně serveru vloží do stránky nějaký objekt, nejčastěji jiný soubor nebo výstup programu. Nelze předávat parametry, malé možnosti.
ASP Active Server Pages Vsuvky v obyčejné HTML stránce, které jsou serverem při odeslání zpracovávány. Umožňují přistupovat k databázím, souborům, poště atd. Časté bezpečnostní díry, omezení na platformu Windows (na serveru!).
PHP Hypertext preprocesor Bez omezení
JSP, Cold fusion atd. Různé další technologie Víceméně totéž, co ASP Malá rozšířenost, z čehož vyplývají nejrůznější trable.
Servlety Plnohodnotné aplikace v Javě, které generují HTML kód pro klienta Obtížná instalace, obtížnější jazyk, problémy s češtinou.

Všechny serverové skriptovací technologie vyžadují:

Konkurence na poli serverových skriptů pro menší a střední servery se omezuje na rivalitu PHP versus ASP. (Aktualizace 2003: nyní často vídám zkratku ASP.NET, ale nevím přesně, o co jde.) Zjednodušeně se dá říci, že ASP je určeno pro Windows, má lepší napojení na COM objekty a ActiveX. ASP má dobrý marketing (prostě je od Microsoftu). Nedá se moc dobře rozběhnout na Linuxových serverech, které tvoří páteř i svaly dnešního Internetu. To by se všechno dalo nějak strávit. Základní předností PHP je ale existence výborné české literatury (Jiří Kosek, PHP), kdežto knihy o ASP jsou jen snůškou dojmů.

Serverové skripty umožňují nepřebernou spoustu věcí. Základními výhodami jsou spolupráce s databázemi a E-mailem, reakce na uživatele (obsluha formulářů) a automatizace skládání stránek. Pomocí serverových skriptů jsou postaveny všechny větší servery -- portály, internetové časopisy nebo obchody.

Co používat

Klientské skripty můžete používat ihned, doporučuji naučit se základy JavaScriptu, abyste poznali možnosti.

Používání serverových skriptů závisí na serveru, na kterém publikujete. Většina serverů umožňuje nějakou skriptovací technologii, ale ne všechny je dovolují používat za standardní cenu. 

Naštěstí existuje asi tucet volných serverů, které umožňují provozování PHP (s databází) zdarma. Můžete si PHP pro testování snadno nainstalovat i doma. Možná už jste pochopili, že já osobně jsem fanda jazyka PHP -- moje náklonnost je ovšem dána zkušeností s jinými jazyky. Prostě si myslím, že PHP je pro malé a středně velké servery nejlepší. 

Zdroje a odkazy

Učebnici JavaScriptu jsem ještě nedopsal, ale už je tam toho hodně. Bokem jsem napsal základy Dynamického HTML. O PHP pouze maličkosti: Jak začít s PHP, Možnosti PHP

Na serverové skripty je fantastickým zdrojem stránka Jirky Koska. V sekci o CGI, ASP a PHP si můžete vyzkoušet pár základních věcí. Můžete si tam i objednat knihu o PHP od téhož autora, což je dnešní bible poloviny programátorů webu. Stojí pár stovek, ale vyplatí se mnohonásobně.

 

Reklama

www.webhosting-c4.cz, extra rychlý SSD webhosting s doménou v ceně
o tvorbě, údržbě a zlepšování internetových stránek

Návody HTML CSS JavaScript Články Ostatní

Základy Prvky stránek Tvorba webu

Jak psát web píše Yuhů, Dušan Janovský. Kontakt.