Vyvracíme mýty okolo Dojo Toolkitu (pokračování)

Jaký je Dojo Toolkit? Je pravda vše, co se o něm tvrdí? Dylan Schiemann se snaží vyvrátit některé mýty a neaktuální tvrzení o Dojo Toolkitu. Dnes vám přinášíme druhou část překladu jeho textu. Nenaučíte se z něj sice Dojo používat, ale dozvíte se vše, co k tomu potřebujete.

Seriál: Vyvracíme mýty okolo Dojo Toolkitu (3 díly)

  1. Vyvracíme mýty okolo Dojo Toolkitu 17.4.2009
  2. Vyvracíme mýty okolo Dojo Toolkitu (pokračování) 20.4.2009
  3. Vyvracíme mýty okolo Dojo Toolkitu (dokončení) 23.4.2009

Dnes pokračujeme v překladu textu Debunking Dojo Toolkit Myths ze Sitepen.com. Jeho první část jste si mohli přečíst minulý týden.

Dojo potřebuje Javu

Ne, ani trochu — nenechte se zmást tím, že plné Dojo SDK obsahuje několik souborů jar.

Kromě funkcí, které použijete ve webových prohlížečích, obsahuje Dojo volitelné nástroje postavené na Rhinu pro optimalizaci vašeho kódu během sestavovacích (buildovacích) procesů. Rhino je javascriptový engine Mozilla Foundation implementovaný v Javě.

Proč byste vůbec chtěli váš JavaScript sestavovat (buildovat)? Abyste zmenšili velikost zdrojového kódu, optimalizovali cachování a snížili počet požadavků na server. Můžete například spojit pravidla CSS dohromady, vzít zdroje HTML, které využívají widgety a spojit je do javascriptových řetězců, abyste snížili počet požadavků HTTP, velikost přenášených dat atd.

Dojo je ukecané, je to taková „Java v JavaScriptu“

Dojo připomíná Javu pouze tím, že používá jmenné prostory. Struktura naší knihovny podporuje stručnost; vlastnosti Dojo Base se nachází ve jmenném prostoru dojo.*. Dojo upřednostňuje dojo.byId a dojo.query před používáním $, ale je snadné si to upravit, pokud chcete!

Dojo preferuje jmenné prostory, aby snížilo svůj dopad na globální jmenný prostor a mohlo tak fungovat vedle dalších knihoven a uživatelského kódu bez konfliktů v názvech. Dojo také minimalizuje přetěžování funkci.

Pro zachování stručnosti se cokoliv, co je používané často, dostane na hlavní úroveň jmenného prostoru pod krátkým a snadno zapamatovatelným názvem, např. dojo.connect nebo dojo.attr. Stručnost našeho API a struktury jmenných prostorů překvapuje vývojáře, kteří Dojo od verze 0.4 nebo dřívější nepoužívali.

Některé projekty a toolkity nepoužívají jmenné prostory, prostě protože neobsahují dost kódu na to, aby se bez nich neobešly.

Ilustrační obrázek webu DojoCampus.org

Java vývojáři mají rádi Dojo (podobně DWR nebo také GWT a Ext), pravděpodobně pro záběr, hloubku a organizaci, kterou má API Dojo Toolkitu.

Dojo se hodně inspirovalo z Pythonu, AOP, PHP, Javy a řady funkcionálních konstrukcí jako jsou „hitch“, „mixins“, delegování a další. Snažíme se ale úmyslně vyhýbat používání vzorů z jiných jazyků, abychom byli správně „javascriptoví“.

Konstrukce jako je dojo.declare() můžou připomínat Javu, ačkoliv většina knihoven obsahuje nějaký mechanismus konstruktorů a dědičnosti. Dojo řaději využívá flexibility JavaScriptu než aby se snažilo nabízet nějaký DSL nad JavaScriptem.

Dojo je užitečně jen pro enterprise aplikace a nikoliv pro malé weby a blogy

Tento mýtus existuje, protože za dob verze 0.4 nebylo Dojo tak malé a jednoduché, jako je dnes.

Dojo Base má 26 kB (gzippované) a Dojo Mini až 5,5 kB – oba se stejně jednoduchým API, které umožňuje aplikovat progressive enhancement nebo nevtíravý (unobtrusive) JavaScript, obsluhu událostí, AJAX, animace, DOM, vyhledávání prvků dokumentu atd.

Dojo není pro jednostránkové aplikace

Vývojáři Cappuccina, Objective-J a Sprout Core tvrdí, že jiné toolkity nejsou optimální pro skutečné aplikace v prohlížečích. My si myslíme, že to je nesmysl.

Dojo pro „rich“ aplikace široce používá řada společností, uveďme např. Sun Convergence, Cisco’s WebEx Connect a IBM’s Project Zero. Dojo je také široce používáno pro aplikace na intranetech, čemuž říkám temná AJAXová hmota.

Dojo není pro vícestránkové aplikace a weby

Ačkoliv je nepravděpodobné, že by někdo věřil zároveň tomuto mýtu i tomu předchozímu, tak tento pohled je založen na perspektivě. Někteří lidé vzhledem k velikosti toolkitu navrhovali, aby Dojo Toolkit nebyl používán pro vícestránkové weby, ovšem s rozsáhlými možnostmi optimalizace to pro Dojo není problém. Eye-Fi Manager a také vlastní web Dojo Foundation ukazují, jak rychlé takové weby a aplikace můžou být.

Ilustrační obrázek webu z dokumentace Dojo Toolkitu

Dojo je jen o tvorbě widgetů

Dojo obsahuje velmi flexibilní a rychlý systém pro tvorbu widgetů nazývaný Dijit. Jedná se o volitelnou část pro vývojáře, kteří potřebují používat a vytvářet své vlastní widgety. Byl vytvořen tak, aby modulárním způsobem zvládal velkou řadu případů použití (use case) včetně přístupnosti, internacionalizace, layoutu, šablon atd. Podle základního konceptu tvoří každý widget jednoduchá HTML šablona, CSS šablona a javascriptový soubor obsahující logiku.

Řada uživatelů Dojo Toolkitu nikdy Dijit nepoužila.

A existují i další cesty, jak dosáhnout snadné znovupoužitelnosti za chodu včetně implementace DTL (Django Templating Language) pro Dojo.

Zájem o Dojo upadá

Proč si to lidé myslí? Pravděpodobně na základě špatného výkladu statistik. Lidé porovnávají statistiky pro vyhledávání v Googlu např. na “jQuery JavaScript”, “Prototype JavaScript”, “Dojo JavaScript” apod. Nejhorším stupněm lži je statistika, že?

Zatímco zájem o další skvělé toolkity také značně roste, používání Dojo Toolkitu nadále výrazně roste, stačí, když se podíváte na počet nasazených aplikací, počet stažení, traffic webu, počet prodaných knih a další statistiky používání. Podle všech patrných metrik zájem o Dojo roste rychleji než kdykoliv před tím.

Dokončení příště

Příště obhajobu Dojo Toolkitu dokončíme. Podíváme se mj. na to, zda je web používající Dojo validní, zda je Dojo ošklivé a jak je to mezi vývojáři Dojo Toolkitu a dalšími projekty.

Tento článek je překladem textu Debunking Dojo Toolkit Myths, který napsal Dylan Schiemann, a je zde zveřejněn s laskavým svolením autora.

Používáte javascriptové frameworky?

Vystudoval jsem biochemii. Vymyslel jsem a založil Zdroják. Jsem vyhlášeným expertem na likvidaci komentářů. Nejsem váš hodný tatínek, který vás bude brát za ručičku, já jsem zlý moderátor diskusí. Smiřte se s tím!

Čtení na léto

Jaké knihy z oboru plánujete přečíst během léta? Pochlubte se ostatním ve čtenářské skupině Zdrojak.cz na Goodreads.com.

Komentáře: 1

Přehled komentářů

Anonymní Nie je o com pisat..
Zdroj: http://www.zdrojak.cz/?p=2991