qooxdoo
qooxdoo | |
---|---|
![]() | |
![]() Браузер с запущенным qooxdoo приложением | |
Тип | фреймворк,библиотека JavaScript |
Разработчики | 1 & 1[1],GMX |
Написана на | JavaScript[2] |
Операционная система | кроссплатформенность |
Первый выпуск | 17 декабря 2009 |
Последняя версия | 7.6.1 (28 июля 2023[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) |
Особенности
[править | править код]- Ajax
- Кроссбраузерность
- Связывание данных, как одностороннее так и двух.
- Стилизация элементов графического интерфейса за счет графических тем
- ООП: включает свое специфичное определение классов, интерфейсов, смесей
- Встроенная подсистема модульных тестов
- Оконный интерфейс
- Расположение элементов интерфейса осуществляется через систему слоев (layouting)
Компилятор
[править | править код]До версии 5.0 включительно использовался для создания конечного приложения, документации, запуска Unit-тестов набор скриптов написанных на языке python. В версии 6.0 был разработан специальный компилятор qx написанный на языке JavaScript. Компилятор распространяется в виде NPM пакета и включает следующие основные команды:
qx compile
- сборка qooxdoo проектаqx test
- сборка и запуск модульных тестовqx package
- менеджер пакетов qooxdooqx 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 Internet AG, Germany . Дата обращения: 17 мая 2022. Архивировано 14 мая 2022 года.
- ↑ The qooxdoo Open Source Project on Open Hub: Languages Page . Дата обращения: 13 апреля 2021. Архивировано 13 апреля 2021 года.
- ↑ 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 представляет новый компилятор (нем.)