Nette Addons Hackaton
V kancelářích Medio Interactive se o víkendu 14.–15. 4. 2012 konal Nette Addons Hackaton. Jeho cílem bylo vytvořit novou a mnohem lepší verzi již delší dobu nevyhovující stránky s doplňky Nette Frameworku.
Na půdě Media se v sobotu dopoledne sešla hromada vynikajících programátorů. Pro začátek bez jakékoliv určité představy o tom, co vlastně budou dělat. Kupodivu to příliš nevadilo, ukázalo se, že domluvit se umíme. Z hlediska uživatelského rozhraní se nám stal inspirací web s doplňky MooTools a z funkčního repozitář PHP knihoven Packagist.
Pohled do naší programátorské kuchyňky
Jako pracovní nástroj jsme zvolili pochopitelně Nette Framework. Přestože každý z nás má nějaké osvědčené postupy, jak v něm pracovat, dohodli jsme se, že se budeme držet běžných doporučených cest známých z dokumentace. Spoustu z nás čekala první větší zkušenost s Nette\Database. Nepoužili jsme žádné přídavné doplňky. Přece se nebudeme spolu dohadovat, proč že se použil plugin tvůj a ne ten můj, který je přece lepší!
Zdrojové kódy jsme verzovali pochopitelně pomocí Gitu a naše práce byla průběžně k vidění na GitHubu. Došlo nám i několik pull requestů. Doufejme, že jich ještě v budoucnu spousta dorazí.
Vývoj probíhal velice živelně. Commity přibývaly jeden za druhým, takže neocenitelným pomocníkem se nám stal příkaz git pull --rebase
, který bylo nutné zavolat před každým pokusem o push. Rozdělení práce probíhalo velice demokraticky, ale kupodivu naprosto bezproblémově. Ukázalo se, že máme mezi sebou specialisty na GitHub API, na Composer, na Bootstrap, případně na všechno, takže jsme si nekonkurovali.
Kvůli velkému počtu změn v architektuře se příliš nedařilo psát testy (což je jinak v prostorách Media nemyslitelné). Druhý den, v neděli, se ale prokázalo, že na testech je těžké jen začít a pár unit a selenium testů v projektu přibylo.
Pro rychlé prototypování nám byl užitečný CSS framework Bootstrap. Jestli zůstane i ve finální verzi zatím nevíme. Záleží na tom, jestli se ho povede přemluvit, aby nevypadal jako Twitter.
Na novém webu účastníci začali pracovat od 11 hodin v sobotu. Cca v 11 hodin dorazil i David Grudl, jen bych taktně pomlčel o tom, podle kterého časového pásma si nařídil hodinky. S programováním se končilo až někdy v půl páté nad ránem. Pak se dal krátký spací rozchod a v neděli v 11 byl opět sraz a ještě se několik hodin zmáklo. Byť mému biorytmu to příliš nesedlo, tak jsem se na vlastní oči přesvědčil, že pověsti o nočním životě programátorů se 100 % zakládají na pravdě.
Výsledek
Výsledkem je z mého pohledu reprezentativní aplikace, která umí přehledně zobrazovat doplňky, spravovat jejich verze a závislosti na dalších doplňcích. Nabízí perfektní provázání se současnou Nette komunitou – funguje přihlašování uživatelů registrovaných přes fórum, umožňuje hodnocení přihlášenými uživateli. Doplňky lze téměř bezpracně importovat z GitHubu, což je defacto standard pro hostování open source softwaru. Systém umí přednačíst název z názvu GitHub repozitáře, další metadata ze souboru composer.json pro PHP balíčkovací systém Composer a popis doplňku ze souboru readme.*. Z mého pohledu snad nejužitečnější funkcí je to, že nové Nette Addons bude poskytovat soubory s metadaty pro Composer, takže kterýkoliv doplněk Nette půjde tímto perfektním nástrojem snadno nainstalovat přes příkazovou řádku.
Komentáře k článku
[1] RDPanek | 20. 4. 2012 v 7.20
Perfektní práce! :-)