Dojo

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 15. září 2018; kontroly vyžadují 6 úprav .
Dojo Toolkit
Typ JavaScript toolkit
Vývojář Nadace Dojo
Zapsáno v JavaScript
Operační systém Multiplatformní software
První vydání 2004
Nejnovější verze 1.15.0 ( 16. února 2019 )
Licence Licence BSD a Akademická bezplatná licence
webová stránka dojotoolkit.org

Dojo ( dojo ) je bezplatná modulární knihovna JavaScriptu . Navrženo tak, aby usnadnilo urychlení vývoje aplikací a stránek založených na JavaScriptu nebo AJAX . Vývoj knihovny zahájil Alex Roussel v roce 2004 . Knihovna je pod dvojí licencí : BSD License a Academic Free License . Nadace Dojo  je nezisková organizace vytvořená za účelem propagace Dojo.

Dojo se v Zend Framework používá od verze 1.6.0.

Funkce

Prvky rozhraní

Prvky rozhraní Dojo jsou balíčky tvořené komponentami: kód JavaScript , značka HTML a CSS . Lze je použít k přidání různých interaktivních funkcí na web:

Asynchronní komunikace

Jednou z důležitých funkcí aplikací AJAX je asynchronní komunikace mezi prohlížečem a serverem: díky výměně informací se zobrazení stránky aktualizuje bez opětovného načítání stránky. To se obvykle provádí pomocí objektu JavaScript XMLHttpRequest . Dojo poskytuje třídu "wrapper" ( dojo.io.bind), která vám umožňuje abstrahovat různé implementace XMLHttpRequest v prohlížečích, včetně těch, které běží přes <iframe>. Pomocí této technologie je snadné vytvářet aplikace, které předávají uživatelské vstupy na server. Server může odpovědět nějakým JavaScriptem a aktualizovat zobrazení stránky.

Programování v JavaScriptu

Mnoho funkcí dojo usnadňuje programování JavaScriptu.

Balíkový systém

Dojo poskytuje systém balíčků, který usnadňuje modularizaci funkčnosti balíčků a dílčích balíčků. Skript "boot" inicializuje sadu hierarchických jmenných prostorů balíčků - "io", "event" atd. - uvnitř kořenového jmenného prostoru "dojo". Jakmile je kořenový jmenný prostor inicializován, lze načíst jakýkoli balíček Dojo (pomocí XMLHttpRequest nebo podobnou metodou) pomocí speciálních funkcí načítacího skriptu. Je také možné inicializovat další jmenné prostory uvnitř nebo vně jmenného prostoru "dojo", což umožňuje rozšíření dojo nebo vývoj soukromých jmenných prostorů pro knihovny a aplikace třetích stran. Balíček dojo může obsahovat mnoho souborů. Jakýkoli balíček nebo soubor může definovat závislosti na jiných souborech nebo balíčcích. Po načtení takového balíčku se automaticky načtou všechny potřebné závislosti.

Úložiště na straně klienta

Dojo poskytuje abstraktní úložiště dat na straně klienta s názvem Dojo Storage. Dojo Storage umožňuje webovým aplikacím ukládat megabajty dat na straně klienta trvale a bezpečně s uživatelskými právy. Dojo Storage bylo implementováno pro drtivou většinu široce používaných webových prohlížečů, včetně Internet Explorer , Mozilla Firefox a Safari . Po zahrnutí do webové stránky Dojo Storage určí nejvhodnější metodu pro ukládání informací. Firefox 2 používá nativní rozhraní, ostatní prohlížeče používají skrytý Flash applet . Vzhledem k tomu, že Flash 6+ je nainstalován na přibližně 95 % počítačů po celém světě, [1] je tento úložný mechanismus přístupný většině. Pro ty webové aplikace, které se načítají ze systému souborů (tj. URL =soubor://…), úložiště Dojo bude transparentně používat XPCOM ve Firefoxu nebo ActiveX v Internet Exploreru . Programátor používající dojo nemusí přemýšlet o detailech implementace – stačí mu získat abstrahované metody put() a get().

Kritika

Načítání

Rané verze Dojo měly pověst objemných a pomalých načítání. [2] Kromě toho byla potřeba další práce, aby bylo umožněno načítání Dojo napříč doménami, například prostřednictvím sítí pro doručování obsahu . Řešení těchto problémů bylo hlavním cílem návrhu pro Dojo 1.7, které zavedlo asynchronní načítání modulů (AMD) a zavaděč „nano“. [3]

Dokumentace

Dojo je dlouhodobě kritizováno za svou neúplnou, nepřesnou a zastaralou dokumentaci. Aby se tyto problémy vyřešily, vývojáři provedli mnoho oprav v dokumentaci pro verzi 1.8, včetně nových příruček, prohlížeče API, nových kapitol a aktualizace většiny příkladů kódu, aby odpovídaly stylu načítání asynchronních modulů . [4] [5]

O Dojo bylo napsáno několik knih, ale téměř všechny se zabývají Dojo 1.3 nebo staršími a mnoho knih je zastaralých. Podpora AMD a související refaktoring aplikace nejsou zahrnuty, příklady kódu v těchto knihách se nedají dobře aplikovat na moderní verze frameworku a popsané postupy nejsou dobré. Mnoho autorů čeká na vydání Dojo 2.0, než zveřejní něco nového. [6]

Křivka učení

Mnozí tvrdí, že je podstatně těžší se naučit a začít s Dojo než s populárnější knihovnou jQuery . [7] [8]

Spoluautor Dojo Dylan Scheinmann to vysvětluje jako rozdíl v názorech:

Samozřejmě je mnohem snazší naučit se něco malého než něco, co umí více, ale naši nároční uživatelé rychle docházejí k závěru, že dokonalejší učení nyní ušetří mnoho hodin v budoucnu na věci, které Dojo usnadňuje.

Původní text  (anglicky)[ zobrazitskrýt] Je určitě snazší naučit se něco, co je menší než něco, co umí víc, ale naši zapálení uživatelé rychle poukazují na to, že trochu více učení dopředu jim ušetří nespočet hodin na věci, které Dojo usnadňuje.

Stabilita API

Uživatelé dřívějších verzí měli potíže s migrací na verzi 1.0 poté, co byla sada nástrojů kompletně přepsána. Přechod na AMD v posledních verzích vytvořil podobný problém. Vývojáři Dojo vynaložili velké úsilí na zpětnou kompatibilitu, navzdory poměrně rychlému vývoji frameworku, ve kterém jsou velké části současného API, i když zastaralé, stále podporovány. Navzdory tomu poměrně často uživatelé při upgradu zjistí, že vše neprobíhalo tak hladce, jak očekávali.

Očekává se, že nadcházející vydání 2.0 odstraní části zastaralého API, ale zůstane většinou kompatibilní s verzí 1.8.

Nadace Dojo a sponzorství

IBM [9] a Sun Microsystems [10] oznámily oficiální podporu pro Dojo, včetně příspěvků na vývoj základní knihovny. Nadace Dojo je nezisková organizace vytvořená za účelem podpory a propagace Dojo. Jejími členy a sponzory jsou:

Viz také

Poznámky

  1. Průnik verze Adobe Flash Player = . Archivováno z originálu 19. února 2012.
  2. Rozhovor s tvůrcem sady nástrojů Dojo Dylanem Schiemannem . Nettuts+ (16. srpna 2012). Získáno 21. listopadu 2012. Archivováno z originálu 27. listopadu 2012.
  3. Vydáno Dojo 1.7! . Blog Dojo Toolkit (1. ledna 2011). Získáno 21. listopadu 2012. Archivováno z originálu 3. listopadu 2012.
  4. Co přichází v Dojo 1.8 . Blog Dojo Toolkit (9. února 2012). Získáno 21. listopadu 2012. Archivováno z originálu 15. listopadu 2012.
  5. jaký je důvod detre pro dojo 2.0 . dojo-přispěvatelé (11. října 2012). Staženo 29. listopadu 2012.
  6. Schiemann, Dylan jQuery a dlouhodobá životaschopnost Dojo . Dojo-zájem (30. dubna 2012). Získáno 29. listopadu 2012. Archivováno z originálu dne 29. října 2014.
  7. Kritika Dojo? (nedostupný odkaz) . Sedminohý kaktus (17. srpna 2012). Získáno 21. listopadu 2012. Archivováno z originálu 23. listopadu 2012.  
  8. Dojo nebo jQuery . NotADojoGuru (6. dubna 2012). Získáno 21. listopadu 2012. Archivováno z originálu 17. prosince 2013.
  9. "Tisková zpráva na www.marketwire.com" (downlink) . Archivováno z originálu 15. června 2006. 
  10. "Tisková zpráva na prnewswire.com" . Archivováno z originálu 19. února 2012.

Odkazy