Setul de instrumente Dojo | |
---|---|
Tip de | Setul de instrumente JavaScript |
Dezvoltator | Fundația Dojo |
Scris in | JavaScript |
Sistem de operare | Software multiplatformă |
Prima editie | 2004 |
ultima versiune | 1.15.0 ( 16 februarie 2019 ) |
Licență | Licența BSD și Licența Academică Liberă |
Site-ul web | dojotoolkit.org |
Dojo ( dojo ) este o bibliotecă JavaScript modulară gratuită . Conceput pentru a facilita accelerarea dezvoltării aplicațiilor și site-urilor bazate pe JavaScript sau AJAX . Dezvoltarea bibliotecii a fost începută de Alex Roussel în 2004 . Biblioteca se află sub o licență dublă : BSD License și Academic Free License . Fundația Dojo este o organizație non-profit creată pentru a promova Dojo.
Dojo a fost folosit în Zend Framework începând cu versiunea 1.6.0.
Elementele de interfață Dojo sunt pachete formate din componente: cod JavaScript , marcaj HTML și CSS . Acestea pot fi folosite pentru a adăuga diverse funcții interactive unui site:
Una dintre caracteristicile importante ale aplicațiilor AJAX este comunicarea asincronă între browser și server: datorită schimbului de informații, vizualizarea paginii este actualizată fără a reîncărca pagina. Acest lucru se face de obicei folosind obiectul JavaScript XMLHttpRequest . Dojo oferă o clasă „wrapper” ( dojo.io.bind) care vă permite să abstrageți diferitele implementări ale XMLHttpRequest în browsere, inclusiv pe cele care rulează prin <iframe>. Folosind această tehnologie, devine ușor să creați aplicații care transmit intrarea utilizatorului către server. Serverul poate răspunde cu ceva JavaScript și poate actualiza vizualizarea paginii.
Multe caracteristici dojo facilitează programarea JavaScript.
Dojo oferă un sistem de pachete care ușurează modularizarea funcționalității pachetelor și sub-pachetelor. Scriptul „boot” inițializează un set de spații de nume de pachete ierarhice - „io”, „eveniment”, etc. - în interiorul spațiului de nume rădăcină „dojo”. Odată ce spațiul de nume rădăcină a fost inițializat, orice pachet Dojo poate fi încărcat (folosind XMLHttpRequest sau o metodă similară) folosind funcții speciale de script de încărcare. De asemenea, este posibil să inițializați spații de nume suplimentare în interiorul sau în afara spațiului de nume „dojo”, permițând extinderea dojo-ului sau să dezvolte spații de nume private pentru biblioteci și aplicații terțe. Un pachet dojo poate conține multe fișiere. Orice pachet sau fișier poate defini dependențe de alte fișiere sau pachete. Când un astfel de pachet este încărcat, toate dependențele necesare sunt încărcate automat.
Dojo oferă un magazin de date abstract la nivelul clientului numit Dojo Storage. Dojo Storage permite aplicațiilor web să stocheze megaocteți de date pe partea clientului, în mod permanent și în siguranță, cu drepturi de utilizator. Dojo Storage a fost implementat pentru marea majoritate a browserelor web utilizate pe scară largă, inclusiv Internet Explorer , Mozilla Firefox și Safari . Odată inclus într-o pagină web, Dojo Storage determină cea mai potrivită metodă de stocare a informațiilor. Firefox 2 folosește o interfață nativă, alte browsere folosesc un applet Flash ascuns . Deoarece Flash 6+ este instalat pe aproximativ 95% din computerele din întreaga lume, [1] acest mecanism de stocare este accesibil pentru majoritatea. Pentru acele aplicații web care se încarcă din sistemul de fișiere (adică URL = fișier://…), Dojo Storage va folosi în mod transparent XPCOM în Firefox sau ActiveX în Internet Explorer . Programatorul care folosește dojo nu trebuie să se gândească la detaliile implementării - el pune doar mâna pe metodele abstracte put() și get().
Versiunile timpurii ale lui Dojo aveau reputația de a fi voluminoase și lente de încărcat. [2] În plus, au fost necesare lucrări suplimentare pentru a permite încărcarea pe mai multe domenii a Dojo, cum ar fi prin rețelele de livrare a conținutului . Abordarea acestor probleme a fost un obiectiv major de proiectare pentru Dojo 1.7, care a introdus AMD ( Asynchronous Module Loading) și încărcătorul „nano”. [3]
Dojo a fost mult timp criticat pentru documentația sa incompletă, inexactă și învechită. Pentru a rezolva aceste probleme, dezvoltatorii au făcut multe remedieri la documentația pentru versiunea 1.8, inclusiv noi manuale, API Browser, noi capitole și actualizarea majorității exemplelor de cod pentru a se conforma stilului de încărcare a modulului asincron . [4] [5]
S-au scris mai multe cărți despre Dojo, dar aproape toate tratează Dojo 1.3 sau o versiune anterioară, iar multe dintre cărți sunt învechite. Suportul AMD și refactorizarea aferentă aplicației nu sunt acoperite, exemplele de cod din aceste cărți nu se aplică bine versiunilor moderne ale cadrului, iar practicile descrise nu sunt bune. Mulți autori așteaptă lansarea Dojo 2.0 înainte de a publica ceva nou. [6]
Mulți susțin că Dojo este mult mai greu de învățat și de început decât biblioteca jQuery mai populară . [7] [8]
Coautorul Dojo Dylan Scheinmann explică acest lucru ca o diferență de opinie:
Desigur, este mult mai ușor să înveți ceva mic decât ceva care face mai mult, dar utilizatorii noștri exigenți ajung rapid la concluzia că o învățare mai completă acum economisește multe ore în viitor pentru lucruri pe care Dojo le face mai ușor de realizat.
Text original (engleză)[ arataascunde] Cu siguranță este mai ușor să înveți ceva care este mai mic decât ceva care face mai mult, dar utilizatorii noștri pasionați se grăbesc să sublinieze că un pic mai multă învățare în avans le economisește nenumărate ore pentru lucruri pe care Dojo le face ușor.Utilizatorii versiunilor anterioare au avut dificultăți în migrarea la versiunea 1.0 după ce setul de instrumente a fost complet rescris. Trecerea la AMD în versiunile recente a creat o problemă similară. Dezvoltatorii Dojo au depus mult efort în compatibilitatea cu înapoi, în ciuda evoluției destul de rapide a cadrului, în care părți mari din API-ul actual, deși depreciat, sunt încă acceptate. În ciuda acestui fapt, destul de des atunci când fac upgrade, utilizatorii constată că totul nu a decurs atât de bine pe cât se așteptau.
Se așteaptă ca viitoarea lansare 2.0 să elimine părți ale API-ului depreciat, dar va rămâne în mare parte compatibilă cu versiunea 1.8.
IBM [9] și Sun Microsystems [10] au anunțat sprijin oficial pentru Dojo, inclusiv contribuții la dezvoltarea bibliotecii de bază. Fundația Dojo este o organizație non-profit creată pentru a sprijini și promova Dojo. Membrii și sponsorii săi sunt:
JavaScript | |
---|---|
Idei | |
Compilatoare | |
Motoare | |
Biblioteci și cadre | |
Editori | |
Instrumente |
|
Tehnologii conexe | |
oameni | |
Categorie |
de elemente GUI | Seturi de instrumente (seturi)|||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
nivel scăzut |
| ||||||||||||||||||||||||||
nivel înalt |
|