Přejít k navigační liště

Zdroják » JavaScript » Proč používat javascriptový framework?

Proč používat javascriptový framework?

Články JavaScript, Různé

Prakticky každý javascriptový programátor si dříve nebo později položí otázku, zda má nebo nemá pro svou práci používat javascriptové frameworky. Pokusili jsme se na ni odpovědět pro všechny ty, kteří je dosud nepoužívají nebo používat nechtějí. S čím vším vám v JavaScriptu frameworky pomůžou?

Pokud bychom měli vyjmenovat prvky, které za poslední roky znamenaly největší revoluci ve skriptování na straně webových prohlížečů, jednalo by se o AJAX, JSON a javascriptové frameworky. A právě javascriptovým frameworkům se dnes podíváme na zoubek.

Nebudeme se zatím zaměřovat na konkrétní frameworky (ale i toho se dočkáte), pokusíme se odpovědět na základní otázku: Proč používat javascriptový framework?

Trable javascriptového vývojáře

Programujete již delší dobu v JavaScriptu? Pokud ano, nejspíš vám následující odstavce budou povědomé:

Už jste někdy vytvořili javascriptový kód, se kterým jste byli spokojeni, ovšem pouze to té doby, než jste zjistili, že nefunguje v některém důležitém prohlížeči?

Napsali jste někdy javascriptový kód provádějící celkem jednoduchou funkci a divili jste se, proč je tak dlouhý a nepřehledný?

Divili jste se, proč se místo na tvorbu aplikace soustředíte na podružnosti jako je procházení objektového stromu dokumentu?

Přáli jste si do své webové aplikace přidat relativně jednoduchou funkcionalitu (např. drag & drop nebo pokročilejší animace) a po několika hodinách studia implementace pro všechny hlavní prohlížeče jste měli chuť to vzdát?

Tak proč už nepoužíváte framework?

Pokud jste na některé otázky odpověděli kladně, pak byste měli o vyzkoušení některého frameworku přinejmenším zauvažovat.

V čem vám frameworky pomůžou? Odpověď rozepíšeme do třech bodů (navzájem se trochu překrývají):

  • Nebudete se zabývat příliš nudným a opakujícím se kódem. Vyřešíte běžné úkoly snadno a s minimem napsaného kódu, a tak se můžete soustředit na vaši aplikaci, nikoliv na rutinní úkoly.
  • Nemusíte řešit všechny nekompatibility mezi prohlížeči, v ideálním případě můžete zapomenout, že nějaké nekompatibility mezi nimi vůbec existují. Zapomeňte na if (gecko) else if (opera), framework to vyřeší za vás.
  • Úkoly, které by pro vás byly nemožné nebo vyžadovaly hodiny studia, vyřešíte během několika minut.

Frameworky nejsou nafukovací a zmíněné body proto platí jen pro některé typy činností, jedná se zejména o:

  1. AJAX – předávání dat mezi serverem a klientem a aktualizace stránky podle obdržených dat,
  2. DOM – přístup k prvkům dokumentu a jejich modifikace,
  3. Události – jejich jednotná registrace a obsluha,
  4. Grafické efekty a animace – jednoduché způsoby, jak oživit webovou aplikaci,
  5. Pokročilé prvky uživatelského rozhraní (dialogy, našeptávače, taby).

První tři body platí snad bezezbytku pro všechny javascriptové frameworky, poslední dva body patří jen pro ty rozsáhlejší frameworky.

Pokud tvoříte středně složitou webovou aplikaci, neměli byste nad použitím frameworku dlouho váhat. Ušetří vám čas, nervy a zlevní tak vývoj. Pokud vytváříte opravdu složitou RIA (Rich Internet application), může být pro vás framework otázkou bytí a nebytí. Opravdu, navíc relativně málokdo dokáže sám nakódovat všechny ty pěkné uživatelské vlastnosti, které by správná RIA měla obsahovat.

A do třetice, pokud programujete jen opravdu jednoduché věci, i v takovém případě se můžete pro framework rozhodnout. V takové chvíli se framework zdá zbytečný (a taky zbytečný může být), ale i přesto jeho použití může ušetřit trochu vašeho času a kdo ví, možná vás přimět i k lepšímu stylu programování a k jednotné štábní kultuře. Ale rozdíl poznáte asi až po delší době.

Proč byste nemuseli chtít framework použít

Nic není zadarmo a použití frameworku s sebou nese i některé nevýhody. Jak si ale ukážeme, nemusí být tak zlé, jak by se mohly zdát.

Framework je pomalejší

Použití frameworku bude vždy o něco pomalejší než použití nativních volání, protože jsme si do cestu vložili o jednu vrstvu navíc. Autoři frameworků to ovšem vědí a frameworky optimalizují, proto je rozdíl minimální, prakticky nepoznatelný.

Framework se dlouho načítá

Tak to je pravda, frameworky běžně mívají desítky kilobajtů. Ty se do posledního bajtu musí stáhnout a v prohlížeči zpracovat. To chvíli trvá. Ale není to až tak zlé. Rychlost zpracování JavaScriptu se za poslední roky ve většině prohlížečů řádově zlepšila a pokud máte navíc nastaveno rozumné cachování, aby se framework nestahoval vždy znova, nebude zpomalení propastné a možná je vůbec nepoznáte.

Rozdíl bude znát na opravdu velmi starém hardwaru, na pomalých linkách nebo na mobilních zařízeních. Pokud by náhodou většina vašich uživatelů měla zařízení z této skupiny, potom se frameworkům raději vyhněte.

Framework je nové rozhraní, které se musím učit

Určitě ano, detailní seznámení se frameworkem vám chvíli potrvá, ale naučit se rozhraní frameworku bývá téměř vždy jednodušší než naučit se používat tutéž funkcionalitu běžící ve všech prohlížečích.

A nic vám nebrání kombinovat používání frameworku s přímým voláním DOMu. Když se teprve framework učíte, můžete z něj používat např. jen dvě funkce pro volání AJAXu a všechno ostatní dělat stejně, jako jste to dělali dosud. A teprve, až se framework naučíte pořádně, využijete jeho možností naplno.

Neexistuje framework, který umí, co potřebuji

Frameworky jsou rozšiřitelné, podívejte se, zda neexistuje nějaký plugin, který řeší to, co chcete. A pokud si dáte trochu práce, můžete si takový plugin napsat sami. Využijete při tom základní možnosti frameworku a je možné, že i v tomto případě nad problémem strávíte méně času, než když byste jej řešili celý sami.

Kdy opravdu nepoužít framework

O prvním případu, pokud vaši uživatelé používají převážně obstarožní hardware nebo mobilní zařízení, jsme si už řekli.

Druhý případ je, když ve skutečnosti žádný framework nepotřebujete. Tedy, když si jen myslíte, že ho potřebujete, ale ve skutečnosti možná hledáte jednoúčelovou javascriptovou knihovnu. Chcete jen vytvořit pěknou fotogalerii nebo rozbalovací menu? Potom určitě nehledáte framework, podívejte se raději po nějaké specializované knihovně. Bude jistě menší a rychlejší než komplikovaný framework a práce s ní bude i snazší.

Nemám vytvořit svůj vlastní javascriptový framework?

Možná jste si teď tuhle otázku položili. Proč používat cizí framework, když si můžete napsat vlastní? Programátoři v některých jazycích jsou hrr do psaní vlastních frameworků. Platí to kupříkladu o takovém PHP. Někteří PHP vývojáři dokonce tvrdí, že neznají téměř nikoho, kdo by si vlastní framework v PHP nenapsal.

U JavaScriptu to rozhodně neplatí. (Kolik znáte vývojářů, kteří si napsali vlastní javascriptový framework?) Je tomu pravděpodobně ze dvou důvodů:

  1. Pro napsání dobrého a konkurenceschopného frameworku musíte znát detailně rozdíly mezi prohlížeči jak v implementaci, tak ve výkonu. To samotné vám může zabrat půl roku, možná rok studia.
  2. Existující frameworky jsou relativně dobré. Ano, je to tak. O kolik je javascriptových frameworků méně, o tolik jsou kvalitnější. Je těžké přijít s něčím novým, co by nebylo jen bleděmodrou napodobeninou již některého existujícího frameworku.

Tímto vás nijak nechceme odrazovat od práce na vlastním javascriptovém frameworku, při jeho tvorbě byste se určitě hodně naučili. Ovšem zvažte, zda nedokážete se svým časem naložit lépe. A pokud i přesto máte chuť se do tvorby takového frameworku pustit, dáme vám ještě poslední radu.

Zatímco pole základních frameworků je již obsazené, hlavní bitvy téměř dobojované a nový hráč se těžko uchytí, většina frameworků umožňuje tvorbu nadstaveb nebo přímo pluginů. A zde je stále ještě velký prostor. Stačí si najít oblast, pro kterou žádný pořádný plugin neexistuje, a můžete začít psát. Nehynoucí sláva a možná i článek o vás tady na Zdrojáku vás nemine…

Tohle není konec

V dnešním úvodním článku ze světa javascriptových frameworků jste se sice nenaučili žádný z nich používat, ale vzhledem k tomu, že otázka: „Proč používat javascriptový framework?“ se objevuje dnes a denně, pokusili jsme se na ni nabídnout definitivní a vyčerpávající odpověď ještě dříve, že se do samotného programování s frameworky pustíme.

V následujících článcích postupně představíme ty základní i některé méně obvyklé javascriptové frameworky. Předvedeme jejich silné i slabé stránky a nakonec vám poradíme, jak si vybrat ten správný framework sobě na míru.

Odkazy

Používáte javascriptový framework?

Komentáře

Subscribe
Upozornit na
guest
0 Komentářů
Inline Feedbacks
View all comments

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.