Dojo toolkit

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
Dojo Toolkit
Типбібліотека JavaScript
РозробникDojo Foundation
Стабільний випуск1.13 (14 грудня 2017; 6 років тому (2017-12-14))
Операційна системаБагатоплатформова
Мова програмуванняJavaScript
ЛіцензіяМодифікована Ліцензія BSD або Academic Free License (≥ 2.1)
Репозиторійgithub.com/dojo/framework
Вебсайт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, які надають кросбраузерні можливості:

Теми

Можна використовувати різні теми оформлення щоб змінювати вигляд віджетів на сторінці.[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].

Її спонсорами та членами є:

Dojo Foundation також допомагає наступним проектам:

  • Persevere
  • OpenRecord
  • Cometd (для парадигми потоків контенту Comet)
  • DWR
  • Lucid Desktop [7]

Виноски

  1. а б The Dojo Foundation
  2. [1]
  3. http://dojotoolkit.org/reference-guide/dojox/collections.html#dojox-collections
  4. IBM Contributes Ajax Software Development Technology to Open Source Community. IBM Press Release. 5 червня 2006. Архів оригіналу за 13 липня 2013. Процитовано 3 лютого 2007.
  5. Sun Joins the OpenAJAX Alliance and Dojo Foundation. Sun Microsystems Press Release. 16 червня 2006. Архів оригіналу за 13 липня 2013. Процитовано 3 лютого 2007.
  6. Dojo and Zend Framework Partnership Announcement
  7. Архівована копія. Архів оригіналу за 16 липня 2009. Процитовано 1 липня 2011.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)


Бібліографія

Посилання