01st Dub 2008

Přednáška o frameworku Nette – David Grudl

nette framework

Jak tento rozhovor uvést – toť nelehký úkol :-) David zabrousil do nejroztodivnějších zákoutí života programátorova – jistě se v nich mnoho lidí pozná ;-) Nemusíte se však bát, žádná cenzúra nezapracovala, a tak o Davidův svérázný styl psaní nepřijdete. Jak mnozí vědí, přednáška o frameworku Nette se konala již na prvním PHP setkání minulý rok. David však stihl probrat pouze NForm, popsat autoloading a dvoucestný router. Na víc bohužel nezbyl čas. Toto by mělo být napraveno na nadcházejícím setkání v Pardubicích.

David o sobě

Jsem programátor a příležitostný grafik, celý život na volné noze. Tedy skoro celý život, nějakou dobu jsem pracoval v Renaultu v kolektivu žen, tudíž znám výborně všechny porodní komplikace včetně toho, co rodička ve svém nitru prožívá. A není to sranda. Předtím jsem studoval na břeclavském Gymnáziu, kde jsem dosáhl takové popularity, že učitelé můj odchod oslavili velkolepým večírkem a neopomněli na transparent „Už se NIKDY neukazuj.“ Na základní škole jsem zaměstnal vedení oříškem, je-li možné úspěšnému reprezentantovi ústavu v matematické olympiádě dát dvojku z chování.

dg

Za svůj největší programátorský úspěch považuji rezidentní program „sislej.com“ pro DOS, kterým jsem infikoval počítače ve škole. Při stisku kláves s, z, c je nahradil za š, ž, č. Studentům nešel pustit výukový program gwbašič ani paščal. Později jsem naprogramoval Texy nebo objektový layer dibi, za což stále sklízím vřelé reakce například v diskusích na serveru Root :-)

Popis Nette

Nette [:nete:] je tzv. MVC framework. Stejně jako řada jiných MVC frameworků nemá s návrhovým vzorem MVC naprosto nic společného. Snad jen to, že tvorbu webové aplikace také rozkládá do několika vrstev. Kromě těch obvyklých, jako je model, view, controller/pre­senter, přidává samostatnou vrstvu URL adres, na což se v ostatních frameworcích pohříchu zapomíná. Části Nette frameworku se dají používat i samostatně, tudíž dává vývojářům velkou volnost. Podstatným rysem je také náhled na webovou stránku jako soustavu komponent.

Rozhovor s autorem Nette

VS: Ahoj Davide, jaké byly důvody, které Tě vedly k tomu, že si začal vytvářet vlastní framework?

DG: Vytvářet framework je pouze vznešený název pro „vytknutí před závorku“, přesunutí toho, co řešíme opakovaně, do společné knihovny. Důvodem by pak mohla být třeba lenost, nebo pořádkumilovnost.

VS: Vzniklo jméno Nette jako provokace, že vytvoříš lepší framework než je .NET?

DG: S .NET se vůbec poměřovat nechci. To je mimořádně obsáhlý framework, leč zaměřený na jinou oblast. Legendu, jak název Nette vznikl, si musím vymyslet, pravda je totiž příliš nudná a souvisí s decentním onanováním ve vaně.

VS: Všimnul jsem si, že v Nette používáš masivně návrhové vzory a rozhraní. Odkud se je učíš?

DG: Návrhové vzory jsou esencí zkušeností. Člověk k nim dospěje buď tak, že dvacet let hledá správnou cestu metodou pokus-omyl, nebo si přečte pár moudrých knih. Tím, že jsem šel tou delší cestou, mi vůbec nepřipadá, že nějaké vzory používám.

VS: V této konferenci se bude hodně mluvit o komponentách. Tohle slovo je mezi programátory často používáno nepřesným způsobem. Komponentami jsou označovány knihovny, balíčky, helpery a co já vím co ještě. Vysvětlíš nám na přednášce jak má vypadat skutečná komponenta?

DG: Komponenty, to jsou kostky Lega. Mají své pevně dané rozhraní v podobě výstupků na vrchní a otvorů na spodní straně. Díky tomu z nich můžeš postavit cokoliv – třeba nějakou větší komponentu. Nebo Legoland.

VS: Neštvalo Tě, že je nevydané Nette paradoxně tak populární, že se Tě lidé stále ptají, kdy už bude konečně venku?

DG: To je naprosto úžasná zkušenost. Dřív mi připadala pohádka Císařovy nové šaty jako přehnaně praštěná.

VS: Máš alespoň přibližně spočteno kolik hodin si strávil vývojem Nette?

DG: Vychází to cca o tři roky více, než jsem původně čekal ;)

VS: Prodal si svůj blog. Neplánuješ se náhodou vykašlat na programování, odstěhovat se do Kanady, bydlet v chatě a rubat dřevo?

DG: Prodal jsem doménu; kus viny na tom má i podzimní konference. To když jsme zašli po přednáškách na pivo a účastnice programátorky mě oslovovaly „dégéyx“, odhalovaly intimní partie a žádaly „dégéyx podepíšeš se mi tadyhle,“ nebo když mi Honza Tichý po druhé dvanáctce psal na pivní tácek milostné verše a marně hledal rým na „dégéyx“. Tehdy jsem pochopil, jakou chybou bylo nechat doménu splynout s nickem a razantně jsem věc vyřešil. Prodal jsem doménu a přesouvám se jinam. (Vzkaz pro Honzu: ano vím, pro účely milostné poezie není náhrada „dgx“ za „grudl“ (http://davidgrudl.com) právě výhrou.)

VS: Nette bude zanedlouho kompletně uvolněno, že. Představuješ si nějak jeho další vývoj? Uvítal bys, kdyby ho komunita pomáhala rozvíjet?

DG: U každého, kdo v dohledné době prožil střevní zácpu, musí první věta vyvolávat zajímavé asociace :-) Ale vážně – pro mě se uvolněním nic nemění, vývoj jde dál, jen začnu být více svazován zpětnou kompatibilitou. Bude také potřeba udržovat perfektní dokumentaci, předpokládám, že by se mohlo uskutečnit i nějaké školení. Co získám? Zpětnou vazbu a nové nápady. Nechci ale říkat „od komunity“, ono jde vždy o několik málo konkrétních lidí.

VS: Máš ambice Nette prosadit i v zahraničí?

DG: Na internetu žádné hranice nejsou, existují pouze jazykové bariéry. Pokud bude projekt udržován v českém jazyce, může se prosadit jen ve virtuálním státě Československo. Pokud bude psán anglicky, jeho uživatelé se budou rekrutovat zase jinde.

VS: Teď na Tebe prásknu, co si říkal na minulé konferenci v hospodě. Říkal jsi, že jsou dvě věci, které jsi naprogramoval, ale nerozumíš jim. Routování v Nette a metoda fetchAssoc() využívající „asociativních deskriptorů“ v dibi. Jak se prosím Tě, vymýšlí něco, čemu člověk nerozumí? :-)

DG: Proto se takovým věcem říká „nápad“, od slova „napadnout“ a nikoliv „vymyslet“. Nápad nevymyslíš. S tím má zkušenosti celá řada programátorů. Někdy stačí před spaním myslet na programátorský oříšek a ráno se vzbudíš a máš řešení. Pravda, je to na úkor mnohem lepších fantazií, které by si člověk mohl před spaním pouštět ;)

VS: Jsi známý a oceněný vývojář open source (2. místo – cena veřejnosti v anketě Czech Open Source 2007 za Texy!). Uvítal bys možnost komerční práce na Nette pro nějakou firmu s tím, že by Nette nadále zůstávalo otevřeným kódem? Přijde mi, že tento model se ve světě začíná čím dál více rozvíjet. Za všechny uveďme Guido van Rossuma, který pracuje na vývoji Pythonu pro Google.

DG: Ó velký DGX :-) Komplimenty snáším dost blbě, dokonce tuhle v Praze se jeden anální alpinista tak snažil, že se teď musím mazat Dobexylem-H.

Framework je pro mě cestou, nikoliv cílem. Tvořím jej proto, abych mohl pohodlně realizovat projekty, které mě napadnou, nebo už jsem je dokonce před lety slíbil. Profesionálním vývojářem Nette se stát nechci.

VS: Mohl bys něco vzkázat nebo poradit těm, kteří si vyvíjejí vlastní framework?

DG: Před tím, než ho vydají jako open source, ať se poradí se svým osobním psychologem :-)

Otázky pro všechny přednášející

VS: Co Tě na programování (obecně i konkrétně v PHP) nejvíc baví a co Tě naopak nejvíc štve?

DG: Troufnu si to nazvat maniodepresivní cykly. Někde z tebe lítají tisíce řádků kvalitního objektového kódu od rána do večera, pomalu nemáš chuť jít spát, a jindy nejsi celé týdny schopen udělat vůbec nič. Baví mě ta první fáze, štve ta druhá.

VS: Jak se nejraději odreaguješ po dobře napsaném programu? (kromě sexu :-)

DG: Mám pocit, že posledních deset let žiju na dluh vůči odreagování. Mimochodem, je do Kanady potřeba vízum? A kde se dá pořídit chata pro dřevorubce?

VS: A nakonec jedna futurologická. Jak myslíš, že bude vypadat web 3.0?

DG: S věštěním bych počkal, až spustí ostrou verzi dvojky ;)

VS: Děkuji za rozhovor a těším se na odhalení! (Nette)ikoni

7 Responses to “Přednáška o frameworku Nette – David Grudl”

  1. Czech PHP User Group » Blog Archive » Konference PHP frameworky jaro 2008 - php frameworky v praxi Says:

    […] Přednáška o frameworku Nette – David Grudl […]

  2. Dundee Says:

    Ten sislej.com je úžasný nápad :D Paščal mě opravdu dostal…

  3. VS Says:

    [2] V této souvislosti mě napadla nová hra. Jmenovala by se „Doménový pokr“ :-)

    Pravidla:

    Někdo mimochodem třeba v článku na webu nebo kdekoliv zmíní název domény, která je volná, není úplně nesmyslná, ale udělat na ní smyslnou službu moc smysl nedává.

    V tom okamžiku hra začíná. Jde o napínavý bouřlivý souboj mezi hráči chrakterizovaný vnitřním bojem každého hráče sám se sebou.

    Prohrává ten, který doménu zaregistruje ;-D

  4. enoice Says:

    A já se tak těšil na uvedení Nette.

    Ale tohle bylo takyk velmi dobrý… už mi scházel ten davidův osobitý styl. A ty jeho zážitky ze školních let… hehe

    Školení: Ano!

  5. Washo Says:

    Prednaska o frameworku, ktery neni uvolneny… zda se ze programatori zacinaji hodne napodobovat reklamni praktiky :). Vyvoj takoveho softu mi pripomina spis nejakou psychologicku hru. A pak ze delat opensource neni zabava. Je to fakt sranda kolem toho Nette. A naivni cekajiiii… :) :)

  6. Milan Says:

    [5] Nette samozřejmně uvolněno bylo i když jen pro skupinu informovaných a ne oficielně, ale na tom David taky pracuje. Sranda to určitě není, minimálně David to používá.

  7. Zend Framework CZ » Archiv » Konference PHP frameworky jaro 2008 Says:

    […] A nakonec přednášel David Grudl o Nette. Nette už je prakticky oficiálně vydáno, takže můžete stahovat a testovat. […]

Leave a Reply

grupa LGBT