Dojo toolkit
![]() | |
Тип | бібліотека JavaScript |
---|---|
Розробник | Dojo Foundation |
Стабільний випуск | 1.13 (14 грудня, 2017 ) |
Операційна система | Багатоплатформова |
Написано на | JavaScript |
Ліцензія | Модифікована Ліцензія BSD або Academic Free License (≥ 2.1) |
dojotoolkit.org |
Dojo Toolkit — бібліотека мови JavaScript з відкритим кодом, чи точніше інструментарій, створений, щоб спростити швидку розробку кросплатформових AJAX-застосунків та веб-сайтів. Розробка почата Алексом Расселом, Діланом Шіманом, Девідом Шонтзлером та іншими в 2004-тому. Бібліотека надає розробникам широкий спектр можливостей, від спрощення організації обміну даними з сервером, підтримки локального сховища і розбору дерева DOM, до використання готових віджетів для побудови інтерфейсу користувача (меню, wysiwyg-редактор, календар, динамічні таблиці, drag & drop, перевірка форм тощо), формування графіків/діаграм та задіяння нових технологій HTML5 (геопозиціювання, 3D-ефекти, API для сенсорних екранів). Бібліотека реалізує концепцію поділу даних та оформлення, що дозволяє підключати різні обробники в залежності від контексту, наприклад, оптимізовані для мобільних або стаціонарних систем. Офіційно підтримуються браузери (вказані мінімально підтримувані версії): Chrome 8, Firefox 3.6, Internet Explorer 6, Opera 11, Safari 5.
Код подвійно ліцензований під модифікованою ліцензією BSD або під Academic Free License (≥ 2.1). Існує неприбуткова організація Dojo Foundation[1] створена для поширення інструментарію.
Зміст
Система віджетів[ред. | ред. код]
Мінімальна завантажувана частина бібліотеки Dojo Nano займає всього 4 Кб (у стислому вигляді), всі додаткові можливості, у тому числі модулі, специфічні для веб-застосунків, настільних інтерфейсів, мобільних застосунків і серверних систем, підвантажуються додатково, в міру необхідності.
Віджети[ред. | ред. код]
Віджети Dojo - це компоненти що містять код JavaScript, розмітку HTML, та описи стилів в CSS, які надають кросбраузерні можливості:
- Меню, закладки, та спливаючі підказки
- Таблиці що можна сортувати, динамічні діаграми, та двовимірні векторні зображення
- Анімовані ефекти (вицвітання, розгортання, ковзання), та засоби для їх створення
- Віджети візуалізації дерев, з підтримкою drag & drop
- Різноманітні форми та підпрограми їх валідації
- Календар, годинник
Теми[ред. | ред. код]
Можна використовувати різні теми оформлення щоб змінювати вигляд віджетів на сторінці.[2]
Властивості[ред. | ред. код]
Асинхронна комунікація[ред. | ред. код]
Основною властивістю Ajax застосунків є асинхронна взаємодія між браузером та сервером: інформація на сторінці оновлюється без необхідності перезавантажувати всю сторінку. Традиційно це робиться за допомогою об'єкта XMLHttpRequest. Dojo надає абстраговану обгортку (dojo.xhr
) навколо реалізації XMLHttpRequest в різних браузерах, та dojo.io
який також підтримує інші транспорти (такі як приховані IFrame-и). Використовуючи цей підхід, дуже легко відправити дані що користувач вводить в форму на сервер "за кулісами".
Пакетна система[ред. | ред. код]
Dojo має пакетну систему для полегшення модульної розробки функціоналу в пакетах та підпакетах. Базовий завантажувальний скрипт Dojo ініціалізує набір ієрархічних просторів імен пакунків -- "io", "event", і т.п. -- в кореневому просторі імен "dojo". Після ініціалізації кореневого простору імен, можна завантажувати будь-який пакунок Dojo (через XMLHttpRequest чи подібний транспорт) використовуючи допоміжні функції завантажувального скрипта. Також можливо ініціалізувати додаткові простори імен всередині, чи паралельно до простору "dojo".
Пакети Dojo можуть складатись з багатьох файлів. Кожен пакет або файл, може описувати залежності від інших пакетів або файлів; коли завантажується пакет, завантажуються також всі пакети від яких він залежить.
Критика[ред. | ред. код]
Документація[ред. | ред. код]
Документація до Dojo різниться за якістю, в ній багато інформації розкидано між довідковими сторінками, документацією з API та сторінками уроків, а багато сторінок документації на офіційному сайті порожні, якщо не враховувати текст на зразок "TODO: how to use the component/class/method"[3].
Негнучкість[ред. | ред. код]
Хоча Dojo пропонує багато корисних компонентів "просто з полиці", він не є гнучким, і в багатьох відношеннях роздутий. Наприклад, щоб зобразити просту таблицю даних розробник повинен вибрати компонент що намагається відтворити функціональність електронної таблиці (з редагуванням та зміною розмірів клітинок). Якщо цей варіант неприйнятний, доводиться писати новий компонент з нуля, що значно збільшує вартість розробки.
Розробка з Dojo[ред. | ред. код]
Розробка з Dojo може проводитись в будь-якому підходящому редакторі. Прикладами можуть бути NetBeans, Eclipse, Aptana, чи Komodo. Netbeans та Eclipse є безкоштовними, а Aptana та Komodo мають публічно доступні версії. Для багатьох IDE доступні плагіни Dojo. Для WYSIWYG розробки з використанням Dojo, можна використати WaveMaker Visual Ajax Studio.
Dojo Foundation та фінансування[ред. | ред. код]
IBM[4] та Sun Microsystems[5] анонсували про офіційну підтримку Dojo, включаючи внески коду.
Zend Technologies, компанія що підтримує ядро PHP, анонсувала партнерство з Dojo, щоб включити його в Zend Framework[6]
Dojo Foundation - непідприємницька організація заснована щоб допомагати проектам з відкритим кодом. Основними її цілями є допомагати впровадженню в компаніях, та заохочувати проекти фундації до співпраці між собою[1].
Її спонсорами та членами є:
- IBM
- Sun Microsystems
- JotSpot
- SitePen
- Renkoo
- TurboAjax
- OpenLaszlo
- Nexaweb
- Bea Systems
Dojo Foundation також допомагає наступним проектам:
Виноски[ред. | ред. код]
- ↑ а б The Dojo Foundation
- ↑ [1]
- ↑ http://dojotoolkit.org/reference-guide/dojox/collections.html#dojox-collections
- ↑ IBM Contributes Ajax Software Development Technology to Open Source Community. IBM Press Release. 2006-06-05. Архів оригіналу за 2013-07-13. Процитовано 2007-02-03.
- ↑ Sun Joins the OpenAJAX Alliance and Dojo Foundation. Sun Microsystems Press Release. 2006-06-16. Архів оригіналу за 2013-07-13. Процитовано 2007-02-03.
- ↑ Dojo and Zend Framework Partnership Announcement
- ↑ Архівована копія. Архів оригіналу за 16 липень 2009. Процитовано 1 липень 2011.
Бібліографія[ред. | ред. код]
- Orchard, Leslie M. (November 24, 2008). Concise Guide to Dojo (вид. 1st). Wrox Press. с. 264. ISBN 978-0470452028.
- Russell, Matthew A. (June 24, 2008). Dojo: The Definitive Guide (вид. 1st). O'Reilly Media. с. 500. ISBN 978-0596516482.
- Riecke, Craig; Gill, Rawld; Russell, Alex (June 18, 2008). Mastering Dojo: JavaScript and Ajax Tools for Great Web Experiences (вид. 1st). Pragmatic Bookshelf. с. 568. ISBN 978-1934356111.
- Holzner, Steven (December 14, 2008). The Dojo Toolkit: Visual QuickStart Guide (вид. 1st). Peachpit Press. с. 208. ISBN 978-0321605122.
- Zammetti, Frank (September 19, 2008). Practical Dojo Projects (вид. 1st). Apress. с. 500. ISBN 978-1430210665.
- Hayes, Kyle (November 17, 2009). Getting StartED with Dojo JavaScript Toolkit (вид. 1st). Friends of Ed. с. 350. ISBN 978-1430225218. Архів оригіналу за квітень 22, 2010. Процитовано липень 1, 2011.
- Svensson, Peter (November 24, 2008). Learning Dojo (вид. 1st). Packt Publishing. с. 264. ISBN 978-1847192684.
- Harmon, James E. (June 21, 2008). Dojo: Using the Dojo JavaScript Library to Build Ajax Applications (вид. 1st). Addison-Wesley Professional. с. 336. ISBN 978-0132358040.
- Orchard, Leslie M.; Pehlivanian, Ara; Koon, Scott; Jones, Harley (August 31, 2009). Professional JavaScript Frameworks: Prototype,YUI, ExtJS, Dojo and MooTools (вид. 1st). Wrox Press. с. 888. ISBN 978-0470384596.
Посилання[ред. | ред. код]
|