Qooxdoo

qooxdoo
Логотип программы qooxdoo
Скриншот программы qooxdoo
Браузер с запущенным qooxdoo приложением
Тип фреймворк,библиотека JavaScript
Разработчики 1 & 1[1],GMX
Написана на JavaScript[2]
Операционная система кроссплатформенность
Первый выпуск 17 декабря 2009
Последняя версия 7.6.1 (28 июля 2023; 10 месяцев назад (2023-07-28)[3])
Репозиторий github.com/qooxdoo/qooxd…
Лицензия лицензия MIT
Сайт qooxdoo.org

qooxdoo — JavaScript-Фреймворк с открытым исходным кодом для разработки пользовательских интерфейсов. Служит фреймворком для одностраничных приложений. Разработка веб-приложений возможна полностью на JavaScript без использования HTML и каскадных таблиц стилей (CSS). По своему стилю и философии похож на библиотеки виджетов Qt и SWT, о чем заявляли сами разработчики qooxdoo.

Компоненты

Название Назначение
qx.Desktop Создание веб-приложений в стиле настольных программ
qx.Mobile Создание веб-приложений для мобильных устройств
qx.Server Используется в средах без поддержки DOM, таких как Node.js и Rhino
qx.Website Представляет собой библиотеку для добавления динамических возможностей сайту (аналог JQuery)

Особенности

Компилятор

До версии 5.0 включительно использовался для создания конечного приложения, документации, запуска Unit-тестов набор скриптов написанных на языке python. В версии 6.0 был разработан специальный компилятор qx написанный на языке JavaScript. Компилятор распространяется в виде NPM пакета и включает следующие основные команды:

  • qx compile - сборка qooxdoo проекта
  • qx test - сборка и запуск модульных тестов
  • qx package - менеджер пакетов qooxdoo
  • qx serve - запуск встроенного веб-сервера для работы веб-приложения
  • qx clean - очистить результаты сборки

Компилятор собирает приложения, написанные на стандарте ES6, благодаря чему возможен их запуск в браузере.

Пример использования

Ниже приведен пример использования qooxdoo.

qx.Class.define("custom.Application",
{
  extend : qx.application.Standalone,

  members :
  {
    main : function()
    {
      this.base(arguments);

      // Создать кнопку
      var button1 = new qx.ui.form.Button("First Button", 
                                          "icon/22/apps/internet-web-browser.png");

      // документ является корнем приложения
      var doc = this.getRoot();

      // Добавить кнопку к документу с заданными координатами
      doc.add(button1, {left: 100, top: 50});

      // Добавить подсказку
      button1.setToolTip(new qx.ui.tooltip.ToolTip("A nice tooltip",
                                                   "icon/32/status/dialog-information.png"));

      // Добавить обработчик к кнопке
      button1.addListener("execute", function(e) {
        alert("Hello World!");
      });
    }
  }
});

Система пакетов

Фреймворк позволяет разделить исходный код приложения по модулям или библиотекам и описать зависимости между ними через конфигурационные файлы. Библиотеки можно преобразовать в пакеты (плагины) и опубликовать их в общедоступный qooxdoo репозиторий, который базируется на GitHub. Данная особенность позволяет создавать и совместно использовать эти пакеты.

Дополнительный инструментарий

Для удобства разработки фреймворк включает следующие инструменты:

  • Playground — среда для написания исходного кода qooxdoo и его запуска
  • API Viewer — API справочник по классам, который может быть создан по Javadoc-подобным комментариям
  • Package Browser — обозреватель репозитория qooxdoo пакетов
  • Demo Browser — обозреватель коллекции демонстрационных примеров с приложенным JavaScript кодом

Данные инструменты являются базовыми и распространяются в виде пакетов.

Примечания

  1. 1&1 Internet AG, Germany  (неопр.). Дата обращения: 17 мая 2022. Архивировано 14 мая 2022 года.
  2. The qooxdoo Open Source Project on Open Hub: Languages Page  (неопр.). Дата обращения: 13 апреля 2021. Архивировано 13 апреля 2021 года.
  3. v7.6.1  (неопр.). Дата обращения: 3 августа 2023. Архивировано 3 августа 2023 года.

Литература

  • Mohamed Raffi, Rajesh Kumar Bachu. qooxdoo пособие для начинающих = qooxdoo Beginner's Guide. — Packt Publishing, 2011. — 420 с. — ISBN 978-1849513708.

Ссылки

  • qooxdoo.org — официальный сайт Qooxdoo
  • Страница проекта на Sourceforge (англ.)
  • Взгляд разработчика на JavaScript фреймворк qooxdoo 1.4 (англ.)
  • qooxdoo 6.0 представляет новый компилятор (нем.)
Перейти к шаблону «JavaScript»
Идеи
Компиляторы
Движки
Библиотеки
и фреймворки
Редакторы
Инструменты
Связанные
технологии
Люди
Категория Категория
Перейти к шаблону «ECMAScript»
Диалекты
Движки[англ.]
(сравнение[англ.])
Фреймворки,
библиотеки
JavaScript
(сравнение[англ.])
Client-side
Server-side
Библиотеки
(список[англ.])
  • SWFObject[англ.]
  • SWFAddress[англ.]
ActionScript
PureMVC[англ.]
Множественные
реализации
Люди
Другое