Instante: Náš příspěvek do vývojářské komunity
Instante jsme se rozhodli vyvíjet pod permisivní open-source licencí (New BSD, lze použít i jako GPL 2 / GPL 3) a tak poskytnout tento nástroj komunitě vývojářů Nette. A to protože:
- psaním a přispíváním do open-source projektů se vývojáři mnoho naučí, sdílí zkušenosti a praktiky s těmi nejlepšími,
- můžeme najít vývojáře, kteří s námi chtějí pracovat,
- dělat něco pro obecné blaho je fajn.
Instante jsme komunitě představili na přednáškách na Poslední Sobotě (sraz Nette vývojářů) v říjnu a listopadu 2015. Ohlasy na přednáškách byly vesměs pozitivní, spousta vývojářů takový nástroj vítá. Semtam nám dokonce spadne na Github nějaká issue nebo pull request. Asi nejzajímavější je v tomto nejstarší balík instante/bootstrap-3-renderer pro vykreslování Bootstrap 3 formulářů v Nette, který vznikl přepracováním původní verze od Filipa Procházky pro Bootstrap 2. V tuto chvíli má na packagist.org 3093 stažení přes Composer.
Co je Instante?
Instante je řešení dev-stacku pro Nette aplikace zaměřené na rychlý start Nette projektů bez nutnosti strávit hodiny řešením deploymentu, prostředí pro testy atd. Skládá se z připravené kostry aplikace, sady utilit a nástrojů pro vytvoření a správu aplikace. Oproti vytvoření projektu z čisté kostry Nette řeší Instante několik dalších důležitých kroků přípravy nové aplikace:
- poloautomatické počáteční nastavení kostry aplikace připravenými skripty,
- připravené prostředí pro jednotkové, integrační a akceptační testy
- správa JavaScriptových modulů
- kompilace frontendu (momentálně JavaScript + LESS) připraveným Grunt skriptem
- předkonfigurované Doctrine 2 ORM
- deployment proces
Ne všechny z uvedených věcí jsou v tuto chvíli ale řešeny ideálně nebo v plné požadované šíři. Na Instante stále pracujeme, nyní je již ve stavu, kdy lze na nový projekt bez problému použít a ušetří mnoho práce.
Co dál?
Největší část současného Instante vznikla v průběhu vývoje evidenčního systému Státního fondu kinematografie, kde je Instante použito. Nyní chceme především zjednodušit instalační proces kostry aplikace, “vybrousit” k dokonalosti to, co už nyní funguje, a připravit jednoduchý web s dokumentací.