site logo

Moje nástroje

Pokud Vás některé ukázky inspirovaly a chystáte se vytvořit vlastní intranet může Vás zajímat jaké nástroje používám a jaké jsou mé osobní zkušenosti s těmito nástroji.

Pro vývoj webových aplikací budete potřebovat širší paletu nástrojů a znalostí. Především (X)HTML, CSS, JavaScript. Knižní i on line literatury je dostatek, každý si jistě najde to co mu vyhovuje. Začněte co nejdříve vytvářet zcela jednoduchou aplikaci a učte se za pochodu, studujte zdrojový HTML kód stránek které Vás zaujmou, ať vidíte jak to dělají jiní.

Webové aplikace jsou charakteristické tím, že HTML kód je vytvářen programem který běží na serveru, proto potřebujeme programovací jazyk, dnes dokonce jakýsi framework, který nám usnadní psaní programu. Framework musí zajistit komunikaci s okolím: převezme požadavky od klienta, naš program vytvoří odpověď (obvykle kód HTML) a ten je zaslán zpět klientovi do browseru. Dále musí framework umožnit přístup ke vnitřním zdrojům: databáze, soubory, serverové proměnné ap.

 

ASP.classic K dipozici je řada programovacích prostředků: PHP, Java, ASP.Net, Ruby on Rails... Na Internetu se vedou žabomyší války který z nich je nejlepší, což je samo o sobě důkaz, že jedinný správný (aspoň zatím) není.  Je dobré si uvědomit, že vzhled aplikace a zvolený programovací jazyk spolu nijak nesouvisí. Jak stránky vypadají závisí na schopnostech browseru a hlavně na vkusu tvůrce stránek. Já používám ASP.classic, jeden z nejstarších frameworků pro tvorbu dynamických webových stránek. Jaké vidím výhody?

Programovací jazyk a webový server tvoří jednu část nástrojů které musí bezchybně spolupracovat. Volba dalších nástrojů má mnohem více stupňů volnosti. Mě se osvědčily následující:

 

HomeSite 3.0 někdy z roku 1997 používám pro psaní programů ve VBScriptu, .asp, .htm, .css souborů i pomocných textových souborů. Obsahuje jednoduchý file explorer pro otevírání editovaných souborů a nechává dostatek místa pro psaní programů, což je pro mě asi to nejdůležitější. Dále umí některé věci mi vyhovují. Natažením ikony souboru na stránku kódu se vytvoří relativní odkaz na tento soubor a navíc u obrázků se doplní do kódu i jeho rozměry. HomeSite označuje na záložce změněný soubor červeně, to je důležité při současném editování více souborů.

Nepotřebuji nástroje typu Visual. V jednoduchém textovém editoru se mohu soustředit na podstatu, na psaní kódu. Kódování je docela abstraktní práce a fíčury typu Visual rozptylují pozornost a ruší. Udělá to dojem na předváděčkách, ale pro práci na webových aplikacích mi to nevyhovuje. Vizuální nástroje jsou především vhodné pro desktopvé, monolitické programy.

 

Access pro běžný provoz intranetových aplikací nutně nepotřebujete. ASP totiž přistupují k databázi pomocí ADO (je součástí instalace IIS serveru). Access je vhodné instalovat na vývojové stanici pro přípravu tabulek, relací, pro simulaci dat a opravy chybných záznamů. Databázové soubory .mdb doporučuji umístit do samostatného adresáře, odděleného od wwwroot. To zvýší bezpečnost a zjednoduší zálohování.

Jakmile velikost databáze přesáhne rozumnou velikost, což především poznáte na rychlosti odezvy, přišel čas uvažovat o přechodu na některý velký SQL server. Pro ten ale potřebujete o poznání více znalostí a zkušeností.

 

Paint Shop Pro. Občas budete potřebovat připravit grafické prvky, tlačítka, pozadí, upravit fotografie. MS Malování je příliš primitivní, Photoshop zase až přílišný luxus. Nejvíce se mi osvědčil Paint Shop Pro, sám používám verzi 5, někdy z roku 1998, která umí .png soubory.

Jistě jste si všimli že, pro tvorbu intranetu nepotřebuji žádné drahé nástroje. Levné a hlavně jednoduché nástroje mi umožní zapojiit fantazii a vytvořit nová originální řešení. Vyhýbám se některým frameworkům, které jakoby podsouvají prefabrikované, konfekční řešení.

 

Vývoj aplikací probíhá na mé pracovní stanici. Ze začátku vývoje používám lokální IIS, v jistém stupni vývoje aplikaci přestěhuji na intranetový server, kde vývoj dokončím. Na serveru mohou aplikaci vidět a testovat budoucí uživatelé a já potřebuji znát jejich názory a připomínky. Na mé stanici je namapovaný adresář wwwroot intranetového serveru a serverový adresář databází, takže je v podstatě jedno zda vývoj probíhá na lokálním, nebo serverovém IIS.

Pokusil jsem se spočítat velikost malé a velké aplikace. Malá vystačí se 750 řádky kódu ve VBScriptu (24 kB), velká aplikace má 9500 řádků (asi 400 kB). Každá aplikace je rozdělená do více souborů, obvyklá velikost souboru je 50-300 řádků. Časová náročnost vývoje aplikace je něco mezi dvěma týdny až 6 měsíci. Nejvíce času zabere to čemu se říká analýza, vyjasnění co vlastně je cílem, jaké stránky bude potřeba, jaké budou uživatelské role ap. (asi 50% času). Návrh struktury databáze asi 25%, psaní a ladění programů zbytek.

Proč jsem nepřešel na ASP.NET? Zkoušel jsem to mnohokrát, ale nešlo to. Způsob jakým zachází s HTML, formuláři, include soubory mi nevyhovují. .NET přenáší problémy z vývoje winForm programů do světa webu přes to, že to jsou hodně odlišné světy. .NET je příliš velký kanón na malého vrabečka. Tam kde dříve stačilo několik komponent, teď musíte znát tisíce objektů. Následuje pár českých odkazů na toto téma:
ASP.NET x PHP aneb kde dělají soudruzi z Microsoftu chybu
Jsem zděšen z ASP.NET [dgx]
a ještě několik odkazů na anglické zdroje:
Classic ASPasp Myths Debunked
ASP.NET isn't always the right tool
8 Reasons to Stick with ASP 3.0 in 2006 (and 2007)

updated 8.11.2006