stringtranslate.com

qooxdoo


qooxdoo / ˈ k k s d / — это платформа веб-приложений Ajax с открытым исходным кодом . Это клиентское и серверно-независимое решение с лицензией LGPL и/или EPL , которое включает поддержку профессиональной разработки JavaScript , набор инструментов графического пользовательского интерфейса (GUI) и высокоуровневую связь клиент-сервер.

Рамки

qooxdoo полностью основан на классах, пытается использовать возможности объектно-ориентированного JavaScript и основан на пространствах имен . Поддерживаются большинство современных браузеров, включая Gecko ( Firefox , Mozilla , SeaMonkey ), Presto ( Opera ), Trident ( Internet Explorer , RealPlayer , Winamp ), WebKit ( Chrome , Safari ). [2] Он включает ссылку на API, которая автоматически генерируется из комментариев, подобных Javadoc . В состав сопутствующего набора инструментов входит комплексный анализатор JavaScript , который является неотъемлемой частью процесса автоматической сборки и используется для оптимизации, сжатия , связывания и развертывания пользовательских приложений , а также создания документации. Поддерживается интернационализация и локализация приложений. qooxdoo можно загрузить [3] в виде комплексного SDK .

набор инструментов графического интерфейса

Несмотря на то, что qooxdoo представляет собой чистый фреймворк JavaScript, он вполне соответствует инструментам GUI, таким как Qt , Standard Widget Toolkit (SWT) и другим, в отношении реализации пользовательских интерфейсов . Он предлагает набор виджетов , напоминающих элементы собственных настольных приложений. Обеспечена встроенная поддержка навигации с помощью клавиатуры, управления фокусом и вкладками, а также перетаскивания. Размеры могут быть заданы как статические, автоматические, растягиваемые, процентные, взвешенные, минимальные/максимальные или даже в виде комбинаций. Все виджеты основаны на гибких менеджерах компоновки, которые играют важную роль во многих расширенных возможностях компоновки. Описание интерфейса выполняется программно на JavaScript для повышения производительности.

Для определения пользовательского интерфейса не требуется HTML , а для стилизации интерфейса не нужны каскадные таблицы стилей (CSS). Простые темы внешнего вида используются для оформления цветов, значков и других визуальных свойств; они также поддерживают переключение во время выполнения.

Объектно-ориентированного программирования

qooxdoo использует закрытую форму для определения новых классов. Конструктор глобального класса принимает два аргумента: имя нового класса и карту, которая предоставляет значения для набора предопределенных ключей, таких как «construct» (перехват метода конструктора), «statics» (для статических атрибутов и методов класса), «члены» (например, атрибуты и методы) и «destruct» (для деструктора). Эта (возможно, большая) карта представляет определение класса. Классы могут быть получены из других классов с помощью ключевого слова «extend».

Следующий скелет приложения дает представление о том, как это работает. Код создаст небольшое приложение с кнопкой, которая имеет всплывающую подсказку и при нажатии открывает окно предупреждения. Вы также можете запускать и редактировать этот код на онлайн-игровой площадке: [4]

qx . Сорт . define ( "custom.Application" , { extend : qx . application . Standalone ,    члены : { основная : функция () { это . база ( аргументы );        // Создать кнопку var button1 = new qx . уи . форма . Кнопка ( «Первая кнопка» , «icon/22/apps/internet-web-browser.png» );        // Документ — это корень приложения var doc = this . получитьРут ();     // Добавить кнопку в документ с фиксированными координатами doc . добавить ( button1 , { слева : 100 , сверху : 50 });      // Прикрепляем всплывающую подсказку button1 . setToolTip ( new qx.ui.tooltip.ToolTip ( " Хорошая подсказка" , " icon /32/status/ dialog -information.png" ) ) ;    // Добавляем прослушиватель событий button1 . addListener ( "execute" , function ( e ) { alert ( "Hello World!" ); }); } } });       

Интерфейсы и примеси определяются и используются аналогичным образом.

Аякс

Будучи клиентским и серверно-независимым решением, проект qooxdoo включает в себя дополнительные реализации RPC- сервера (в настоящее время на Java , PHP , Perl и Python ) для демонстрации взаимодействия клиент-сервер. Абстрактный транспортный уровень поддерживает очереди , таймауты и реализации через XMLHttpRequest , Iframes и скрипты. Как и остальная часть qooxdoo, этот уровень основан на программировании на основе событий для упрощения асинхронной связи.

Смотрите также

Рекомендации

  1. ^ «Выпуск v7.2.1 · qooxdoo/qooxdoo» . github.com . 11 июля 2022 г. Проверено 9 октября 2022 г.
  2. ^ "Требования qooxdoo" . Проверено 2 февраля 2011 г.
  3. ^ "Страница загрузки qooxdoo" . Проверено 2 февраля 2011 г.
  4. ^ "Детская площадка" . Проверено 2 февраля 2011 г.

Источники

Внешние ссылки