Menu

Efektivní web jedině s frameworkem

Stavět web na zelené louce je drahé a neefektivní. Užívání připravených nástrojů ušetří nervy i peníze.

Nejde o nic složitého. Framework je sada nástrojů, která usnadňuje práci na vývoji projektů.
Nejde o nic složitého. Framework je sada nástrojů, která usnadňuje práci na vývoji projektů.

„Ale co to vlastně ten framework je?“ zeptal se klient.

„Jde o softwarovou strukturu, která slouží jako podpora při programování a vývoji i k organizaci jiných softwarových projektů. Může obsahovat podpůrné programy, knihovny API, podporu pro návrhové vzory nebo doporučené postupy při vývoji.“

Ivan se zhluboka nadechl a pokračoval:

„Cílem frameworku je převzetí typických problémů dané oblasti, čímž se usnadní vývoj tak, aby se návrháři a vývojáři mohli soustředit pouze na své zadání…“

I takto může vypadat rozhovor mezi programátorem a nic netušícím klientem, který by se rád dozvěděl podrobnější informace o způsobu vývoje programu, který se chystá objednat. Programátor jej však od dalších dotazů úspěšně odradil dříve, než stihl dočíst druhý odstavec textu.

Přitom nejde o nic složitého. Framework je vlastně sada nástrojů, která usnadňuje práci na vývoji projektů. Stejně jako klasické nástroje - které i vy dennodenně používáte - framework obsahuje také instrukce, jak jednotlivá nářadí správně používat. Takové návody většina lidí vyhazuje, ale programátoři si je musí nastudovat. Naučit se naplno využívat některý z modernějších frameworků proto může trvat klidně několik měsíců.

Rychlost vývoje

Ve chvíli, kdy se programátorovi podaří překonat odpor k učení a nastudovat celý mechanismus, tak se pro něj framework stává neodmyslitelným pomocníkem. Velké množství předem připravených nástrojů (modulů) mu umožňuje vytvořit jednoduchou aplikaci v mnohem kratší době, než kdyby měl začít programovat „na zelené louce”. Samozřejmě i zde platí, že čím více zkušeností má vývojář s daným frameworkem, tím rychleji a bezchybněji vše stihne.

Bezpečnost zdrojového kódu

Jak je popsáno výše, framework je sada nástrojů, modulů a knihoven různých vývojářských funkcí. Autory těchto komponentů jsou přitom zpravidla opravdoví experti ve svém oboru, za nimiž navíc ještě stojí široká skupina lidí z open source komunity.Ta jim pomáhá při důkladném testování, odlaďování případných nedostatků i při získávání nápadů, jak danou součástku vylepšovat. Díky tomu je mj. téměř nemožné, aby byl výsledný produkt náchylný na útoky hackerů a různých útočných softwarových robotů. Dobře si tedy rozmyslete, zda budete důvěřovat například podomácku vytvořenému přihlašovacímu systému do redakčního systému, nebo dáte přednost prověřenému modulu vytvořenému zkušeným týmem.

„Nejlepší” frameworky

Na tvorbu menší aplikace není nutné používat robustní frameworky. Pro menší firemní weby mohou postačit systémy jako Silex nebo Slim. Složitější online programy je třeba stavět v rozsáhlejších systémech jako je české Nette, nebo celosvětově používané frameworky Symfony a Laravel. Zajímavé přitom je, že s výjimkou Nette tvoří Symfony základ i všech ostatních uvedených frameworků. Na stránkách tohoto systému se můžete sami podívat, co vše na něm běží a jaké projekty byly s jeho pomocí postaveny. Najdete mezi nimi například aplikace a weby společnosti Spotify, Bla Bla Car, Total apod.

Best-practices

V programátorské komunitě jde právem o jedno z nejdůležitějších slov. Pokud pracujete s někým, kdo věnoval svůj čas studiu některého aktuálního frameworku, tak máte jistotu, že jde o zkušeného programátora, který píše přehledný zdrojový kód. Vy tak získáte kvalitně napsanou aplikaci a v budoucnu ušetříte spoustu peněz za opravování hloupých chyb. Navíc budete mít web dostatečně rozšiřitelný (tzn., že v budoucnu nebudete narážet na problémy při jeho úpravách). Dobře navržená webová aplikace totiž musí umět růst společně s vaším podnikáním.

Michal Jarnot 01.11.2016