Последняя версия 1.5 (13 июля 2011) Написана на JavaScript Лицензия LGPL License и EPL License Сайт http://qooxdoo.org/ |
Фреймворк GUI инструментарий ООП Ajax |
QooXDoo является открытым исходным кодом Ajax для веб-приложений. Распространяется под лицензией GPL и EPL, что сопутствует профессиональному развитию JavaScript, GUI инструментарию и коммуникации клиент-сервер высокого уровня.
Фреймворк
qooxdoo полностью основан на классах и пытается использовать особенности объектно-ориентированного JavaScript программирования. Он основан на пространствах имен и не изменяет\расширяет собственные типы JavaScript. Поддерживается большинство современных браузеров(Mozilla, Internet Explorer, Opera, Safari/WebKit, Chrome). Среди набора инструментов содержится синтаксический анализатор JavaScript, который является неотъемлемой частью автоматического процесса сборки и используется для оптимизации, сжатия, соединяясь и развертывания прикладных программ, так же как генерация документации. Интернационализация и локализация приложений поддерживаются. qooxdoo может быть загружен как всесторонний SDK.
GUI инструментарий
Несмотря на то, чтобы быть чистой платформой JavaScript, qooxdoo вполне на ровне с инструментами GUI как Qt, SWT и другими реализациями пользовательских интерфейсов. Он предлагает богатый набор виджетов, которые напоминают элементы рабочего стола. Встроенная поддержка навигации с помощью клавиатуры, фокус, обработка вкладок и drag and drop поддерживается. Размерности могут быть определены как статичные, автоматически подстраиваемые, растянутые, в процентах, установленные в min/max или даже их комбинации. Описание интерфейса осуществляется программно в JavaScript для улучшенной производительности.
Не нужно копаться в HTML и CSS чтобы создать интерфейс приложения, используются шаблоны тем, которые легко редактировать инструментами GUI.
Объектно-ориентированное программирование
qooxdoo использует закрытую форму, чтобы определить новые классы. Глобальный конструктор класса принимает два параметра, имя нового класса и карты, которая обеспечивает значения для ряда предопределенных ключей, как 'construct', 'statics' (для статических атрибутов класса и методов), 'members' (например атрибуты и методы) и 'destruct' (для деструктора). Эта (возможно большая) карта представляет определение класса. Классы могут быть получены из других классов, используя 'extend'.
Ajax
Будучи на стороне клиента и сервера, qooxdoo действительно включает дополнительные реализации сервера RPC (в настоящий момент в Java, PHP и Perl), чтобы осуществлять передачу клиент-сервер. Абстрактный транспортный уровень поддерживает очереди, тайм-ауты и реализации через XMLHttpRequest, Iframes и Scripts.