Ještě před tím, než se ASP.NET budeme učit, bysme si měli zjistit, k čemu nám vlastně tato technologie může být dobrá. Mnohým z vás možná obyčejné HTML stačíů. Nevidíte omezení, která byla tomuto značkovacímu jazyku předurčena. A nebo už jste přešli na nějaký serverový skriptovací jazyk a ptáte se, proč byste měli věnovat svůj čas a snahu právě této technologii.
HTML je zkratka z HyperText Markup Language. Jde o značkovací jazyk, jehož úkolem je uchávavat informaci v podobě, která by měla být přenositelná mezi různými systémy. Jazyk to je vcelku jednoduchý, tak jednoduchý, že ho i mírně poučený uživatel dokáže přímo kódovat.
Dnešní web je o informacích. Ale už ne o těch statických, které jste jednou uložili na svoji homepage a které tam budou ležet do skonání serveru. V dnešním čase jde o informace dynamické, tj. s každým okamžikem se měnícími. Uživatel by nejenom rád viděl webmasterův článek, chtěl by i zkritizovat autora. Samozřejmě v diskuzním fóru, aby si to mohli přečíst i všichni ostatní. Uživatel touží po interaktivitě.
A - popravdě řečeno - nejde jenom o toho uživatele. Každý rozsáhlejší projekt začne zabírat mnoho stránek, ve kterých je tatáž hlavička a podobné prvky. Každá malá změna vyžaduje editaci velkého množství souborů a to si říká o automatizaci. Ne, to si říká o jeden soubor a načítání dat z databáze.
A tak vznikly další možnosti, které umožňovaly zpracování stránky ještě na serveru, před odesláním uživateli. Jejich krátký přehled:
PHP vyvinul Rasmus Lerdorf pro své osobní užití. Časem ho rozšířil a otevřel zdrojové kódy světu pod licencí GNU/GPL. Důsledky? Tento systém obsahuje obrovské množství funkcí, takže se nemusíte starat o to, jak přesvědčit správce serveru, aby vám nainstaloval komponentu pro odesílání mailů (ASP). Na druhou stranu je tu pouze jeden jazyk (taktéž PHP, je založen na syntaxi céčka) a není tu nic z hitů moderního programování (objektové programování, webové služby)
Už zmíněné ASP bylo vyvinuto Microsoftem. Je celku podobné PHP, obsahuje ale pouze základní objektový model a většina operací se musí dělat přes programy ActiveX (dokonce i výstup/vstup do/z souborů, odesílání mailů). To můžete brát jako výhodu i jako nevýhodu. Fakt je, že pokud budete ASP používat, nic vám chybět nebude. Stejně jako v ASP.NET si zde můžete vybrat z více nabízených jazyků.
JSP (Java Server Pages) je technologie u nás neprávem vcelku neznámá. Je to velmi pokročilý systém a má k ASP.NET blízko.
CGI (Common Gateway Interface) je něco trošku jiného. Toto rozhraní umožňuje generovat do WWW stránek výstupy obyčejných programů (klasické spustielné EXE soubory).
ASP.NET je podle názvu příbuzná technologii ASP. Je to tak, přesto jde o něco úplně jiného. Rozdíl mezi těmito dvěma systémy je jako rozdíl mezi stařičkým QBasicem a nejmodernějším čistě objektovým jazykem C#. Ač se to zdá nemožné, v ASP.NET nalezneme podporu programování založeného na událostech, které bylo doposavaď doménou běžného klientského programování.
Navíc ASP.NET kompiluje kód. Co to znamená? Pokud napíšete program v PHP, při každém spuštění server tento soubor zpracuje podle zdrojového kódu. Tak pracují tzv. interpretační jazyky (třeba již zmíněný QBasic) - znovu a znovu se spouští přímo ze zdrojového kódu. Program ASP.NET se při prvním spuštění zkompiluje a při dalších otevření téže webové stránky se už použije zkompilovaná stránka. Velmi to šetří výkon, přestože kompilování neprobíhá přímo do zdrojového kódu, ale pouze do IML (jakýsi mezijazyk, součást technologie .NET).
ASP.NET je založeno na systému .NET Framework, což je rozhraní umožňující programování a spouštění klientských i serverových programů. Velmi podrobný popis naleznete v prvním díle seriálu o jazyku C#, který vyšel na Chip CD 10/02. I my se s ním podrobněji seznámíme v druhém díle.
Pokud se naučíte ASP.NET, nebude vám dělat velké problémy přechod ke klientskému programování v C# nebo VB.NET - je to skoro totéž.
Za touto technologií stojí velká počítačová společnost a bude se dále vyvíjet (dnes se pracuje na nové verzi s kódovým názvem Whidbey).
ASP.NET je levná technologie. Jediné, co potřebujete, je mít počítač s nainstalovanými Windows - zbytek si stáhnete z Internetu nebo nainstalujete z tohoto Chip DVD.
Život není procházka růžovým sadem a vy byste se před začátkem práce měli seznámit s některými omezeními.
- Nároky na systém
Pro zkoušení programů je vhodné si na vlastním počítači vytvořit vlastní server. O tom pojednává celý první díl tohoto seriálu. Problém je v tom, že jste omezeni na platformu Windows a to ještě na novější část řady NT - nic nebude fungovat na Windows 95, 98 ani NT.
- Nároky na webhosting
Zatímco pro jazyk PHP je k dispozici mnoho freehostingů, kam můžete umístit své weby, pro ASP.NET je tu zatím jediná (česká) možnost - www.aspweb.cz.
U placených variant je tu nabídka mnohem větší, to na druhou stranu mnoho lidí nezajímá.
- Nároky na programátora
Naučit se ASP.NET je složitější než naučit se PHP nebo ASP. Tyto dvě technologie jsou mnohem přímočařejší a jednodušší.
Veškeré náměty, dotazy a připomínky pište na adresu lansky@czech-ware.net.