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 представляет новый компилятор (нем.)
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.