Another day, another asp.net web system

Už je to tak, nastal nový den a s ním i loučení se starým community serverem. Nebylo to špatné, ale chtěl jsem něco víc. Navíc moje touha po novém poznání přerostla v potřebu si vše vyzkoušet na vlastní kůži.

A tak vznikl .net web system, který pohání tento blog nejen o .netu, ale také úvodní stránku, stejně jako stránky s fotografiemi a soubory ke stažení.

Ze zákulisí

Chtěl bych se podělit o postřehy ze zákulisí takového vývoje, které jsou určitě zajímavé a každý je rád slyší nebo čte. Je to už nějaký ten pátek, co jsem se začal porozhlížet po něčem novém, kam se posunout a jakým směrem obohatit svoje znalosti. Docela mi v rozhledu pomohl tým kolem patterns & practices, který v té době vydával nové a zlepšené verze software factories pro kde co.

Právě tam se nejspíše urodila myšlenka toho, že opustím community server a zkusím si napsat něco svého, co nemusí pohánět jenom tento blog, ale třeba použiji i jinde, na komerčních projektech - pokud víte o někom, kdo by spolupráci uvítal, určitě mi dejte vědět.

Co bylo důležité dodržet, je stejné chování pro okolí, jaké měl již zmíněny community server. Ovšem jen navenek, uvnitř jsem chtěl větší volnost a modularitu. A tak jak jsem se jal studovat a prokousával se novými informacemi, zjišťoval jsem, jak jde vše řešit ještě více jednoduše a elegantněji.

V té době jsem měl navíc za sebou již několik sezení s Petrem, kterému jsem vysvětloval principy fungování .net frameworku a s tím spojené výhody a také nástrahy tvorby asp.net aplikací. Petr následně z těchto rad a zapojením své invence stvořil web pro pomoc ostatním. A já tak měl možnost srovnání, na straně jedné, ten klasický, již dobře známý princip tvorby asp.net aplikace, událostního modelu stránky, web controlů a všech těch vychytávek, které si pro nás pánové z MS přichystali a poznáním, že existuje pro dané účely jiná možnost jak aplikaci pod .net napsat a přitom si zachovat možnost využít výhod .netu.

Proč ta tajemnost?

Určitě si říkáte, proč jsem opět tak tajemný, podobně jako třeba v minulém příspěvku, a neřeknu jak jsem tenhle systém navrhnul a napsal? Tentokrát je to z mé strany záměrné a hnedka prozradím proč. Rozhodl jsem se totiž jednoho z aktivních čtenářů odměnit. A když už říkám aktivního, tak to znamená, že od vás budu nejspíše něco také chtít. Tak trochu to mohou být znalosti, ale třeba jenom náhoda při procházení tohoto blogu, kdo ví, nechám to jen na vás.  Mnou napsaný .net web systém je postaven na několika zajímavých projektech, které mi usnadnily spoustu práce a nabídly volnost a snadnou konfigurovatelnost a rozšiřitelnost. Na vás je, odhalit co nejvíce, alespoň však čtyři projekty a napsat mi do komentářů jejich názvy - jako malou nápovědu přidám, že někteří, kdo mě znají více mohou být maličko překvapeni. A co za to? Doma mám ještě zabalenou krabici se hrou Age of Empires III a tu rád osobně předám jeho výherci tady v Praze, případně zašlu i do nejzazšího místa této malé, ale naší, země.

Takže neváhejte, doufám, že cena je lákavá a brzy se budu moci podělit o více zážitků jak jsem tento web systéme navrhnul a nakonec implementoval a také otestoval. A vlastně to nebude jenom o web systému, ale také o těch projektech.

A ještě jedna nápověda závěrem, pro generování obsahu do Vaší oblíbené RSS čtečky, ze které jste sem nejspíše zavítali, jsem použil projekt RSS.NET.

PS: a pro ty, kteří mi chtějí jen popřát ke kulatému výročí, jsou komentáře samozřejmě také otevřeny :-)

10 Comments

  • Jakub said

    Ahoj Jardo,
    sice Te neznam, ale zkusim hadat.

    1. Enterprise Library
    2. AJAX Control Toolkit
    3. UrlRewriter.NET
    4. Web Client Software Factory

  • Petr Stříbný said

    Jediné co vidím je, že používáš rewrite adres a nepoužíváš ViewState. Podle mě se to určuje dost těžko. Střelím od boku: nějaký MVC framework? MonoRail?

  • Petr Šnobelt said

    1. Nějaký url rewriter - asi variace na "CS - Auto naming module" možná UrlRewriter.NET
    2. Web Client Software Factory - to jen hádám, protože ses zmiňoval o P&P
    3. MVC - Možná fakt ten monorail, i když bych spíše řekl, že sis napsal něco vlastního.
    4. Z nápovědy - RSS.NET.

    Asi to bude postavené celé postavené na Provider modelu, předpokládám taky nějakou formu kešování výstupu, (to jsou asi těžko moduly co :-)

    Jo a taky používáš Google Analytics a máš je (chybně) umístěné na začátku stránky, což ti v případě výpadku/vytížení googlu způsobí pomalejší načítání stránek (fakt jsem to zažil, i když to bylo už dříve)

  • Petr Šnobelt said

    Jo a ještě bych přidal, že nepoužíváš ajax ani javascript - což by se alespoň před odesláním formuláře mohlo hodit, jinak se dá odeslat prázdný :-)

  • Jarda Jirava said

    Ahoj,
    díky za komentáře, zkusím trošku pomoci. Musím říct, že se to asi skutečně určuje těžko (tak zkusím dát večer na různé akce klíčová slova), chtěl jsem přidat ještě nějakou tu nápovědu hnedka do článku, ale pak jsem si říkal, že to "něco málo" by mohlo stačit, tak aspoň zareaguji na současné příspěvky. Rewrite adres byl nakonec nutný, ale ten zmiňovaný, k tomu účelu určený, to není. P&P bylo tak trošku svedení na zcestí, byť malinko účelové. Tato aplikace není jen o té obálce, je i spousta věcí, které bylo potřeba řešit na nižších vrstvách a ani tam jsem se nepouštěl do ničeho vlastního. A závěr? Přihořívá ...

  • Petr said

    Tak třeba pro db používáš NHibernate, SubSonic, CoolStorage.NET? To lze opravdu jenom hádat!

    Jinak možná místo MonoRail používáš ProMesh.NET.. a možná taky ne. A možná..

  • gius said

    Taky si zkusím z těch několika náznaků jen tak tipnout:
    Věta o "snadné konfigurovatelnosti a rozšiřitelnosti" dost zavání software factory (Web Client Software Factory), ale to pro web typu community serveru určitě není to ideální. Takže zkusím MonoRail. A když MonoRail, tak jako O/R mapper ActiveRecord. Nejenom k validaci se určitě může hodit Enterprise Library. A když jsem viděl css v .aspx souborech, připomnělo mi to: http://blog.madskristensen.dk/post/Add-variables-to-standard-CSS-stylesheets-in-ASPNET.aspx . Pro url rewriting bych použil UrlRewriting.net. RSS.net už je zmíněn v článku. Marně teď přemýšlím, co by se ještě mohlo hodit... Jo, ještě Google (vidím AdSense, Analytics a SiteMap).

  • Michal said

    Tak co v novém roce ? Žádná další nápověda k čemu jsi tedy dospěl ?

    Díky

Add a Comment