Люди у нас в основном своем большинстве либо новички (желают создать свой сайт и стать крутыми веб-девелоперами), либо сидят под Windows и про командную строку не вспоминают особо, а про Python вообще не знают. Эта статья адресована именно такой категории. Специалисты, а также люди хорошо знающие английский легко разберутся с официальной документацией по Qooxdoo, ну а остальным я постараюсь помочь в меру своего свободного времени и иных возможностей.
Начнем.
1. Скачаем Qooxdoo SDK. На момент написания этой статьи имеется версия Qooxdoo 0.8.2. Это стабильный релиз. Имеется также версия 0.7.4 гарантирующая стабильность и работоспособность во всех отношениях для всех броузеров вышедших не позже выхода самого релиза. Использовать рекомендую более новую версию, так как в любом случае в дальнейшем необходимо будет делать процедуру перехода (зачем нам это лишний раз), во-вторых вам самим захочется 0.8 не иначе. Если бы 0.7 обладала всем-всем-всем, то можно было бы отнестись к этому вопросу проще, но даже в 0.8 есть некоторые общепринятые (стандартные для привычного нам GUI) вещи, которые еще не реализованы.
Да что говорить. Берем 0.8 и все. Документация по 0.8 полноценна и исчерпывающая на все 100%, остальные вопросы отпадают или не ко мне =). Лол. Продолжим.
Качаем
http://downloads.sourceforge.net/qooxdoo/qooxdoo-0.8.2-sdk.zipЛибо смотрим сами:
http://qooxdoo.org/download и выбираем, можно и SVN-repository взять, кто хочет грызть гранит фреймворка по-полной =)
Скачали, распаковали.
Смотрим папку. Видим структуру:
applicationcomponentframeworktoolindex.html
license.txt
readme.txt
version.txt
Так...
2. Можно конечно все делать руками, но зачем? Точнее не так. Руками все делать нужно, но есть очень удобные инструменты, которые следует взять в руки. Написаны они все на Python.
Пользователям Linux волноваться не о чем. Все как обычно либо уже под рукой, либо стоит поставить пакеты Python. Нужна версия Python не ниже 2.4. (2.3 более не поддерживается).
Пользователям Windows следует поставить ActivePython.
Да-да, конечно, ленивым я дам ссылку:
http://www.activestate.com/activepython/Ну и далее...
Для людей, которые привычны к капанию в исходниках эту статью писать не стоит, для других - рекомендую прочитать readme.txt. Если не помогло, буду рассказывать содержимое readme.txt. Итак:
Как создать новое приложение?- Переходим в ./tool/bin. Запускаем create-application.py. И что? Ничего пока. Расскажу о параметрах этого скрипта.
Для особо одаренных: - Все имена, идентификаторы, параметры и т.д. пишутся только латинскими символами.Общее:
create-application.py --name myapp
Параметы:
-n ИМЯПРИЛОЖЕНИЯ, или --name=ИМЯПРИЛОЖЕНИЯ
ИМЯПРИЛОЖЕНИЯ - название вашего приложения. Обязательное поле. Это имя создаваемого приложения. С таким же именем будет создана папка для приложения.
-o ПУТЬ_К_ПАПКЕ, --out=ПУТЬ_К_ПАПКЕ
Это путь к той папке, в которой будет создана папка приложения (см. выше).
-s ПРОСТРАНСТВОИМЕН, --namespace=ПРОСТРАСТВОИМЕН
Основное пространство имен для приложения. Объяснять что такое "пространство имен" не намерен. Если совсем новички - игнорируйте эту опцию и все. (По-умолчанию пространством имен будет являться ИМЯПРИЛОЖЕНИЯ (см. выше))
-t ТИП, --type=ТИП
Типом может быть inline, migration, bom, gui.
'gui' создаст стандартное qooxdoo GUI приложение,
'inline' создаст "inline", т. е. интегрируемое в страницу сайта qooxdoo GUI приложение, 'migration' используется для перехода с версии приложения qooxdoo 0.7 и 'bom' может быть использовано для создания low-level (низкоуровневого (для новичков - ничего общего с плохим, слабым, низким и другими словами) qooxdoo приложения. Если этот параметр не указывать, то по-умолчанию будет 'gui'.
-l LOGFILE, --logfile=LOGFILE
Тут LOGFILE - имя текстового файла, куда будет сохраняться вся информация по ходу работы скрипта.
-p PATH, --skeleton-path=PATH
Дополнительная опция. Здесь PATH - это имя к папке шаблонов, по которым может быть создано приложение. (По-умолчанию: ПУТЬ_К_QOOXDOO_SDK/component/skeleton)
Итак, запустим например такое:
./create-application.py -n myfirst -s mynamespace -t gui
- Теперь мы получили папку myfirst в той же папке, где и был запущен скрипт create-application.py. Структура папки такая:
cachesourceconfig.json
generate.py
Manifest.json
readme.txt
3. В congif.json мы имеем конфигурацию нашего приложения, необходимые модули, переменные среды и т.д. Это нам понадобится для сборки завершенной версии приложения. Все данные хранятся в формате
JSON.
В Manifest.json находится информация о приложении, название, версия, описание и наименование главного класса приложения для запуска.
Не правда ли напоминает Java 2 ME =) Похоже, но только в JSON формате.
- Ну наконец уже надоело. Запустим мы приложение или нет? Давайте запустим.
Запустим в папке нашего приложения скрипт generate.py с параметром source-all
./generate.py source-all
Это выдаст:
=====================================================
INITIALIZING: MYFIRST
=====================================================
>>> Configuration: config.json
>>> Jobs: source-all
>>> Resolving config includes...
>>> Resolving jobs...
>>> Resolving macros...
>>> Resolving libs/manifests...
=====================================================
EXECUTING: SOURCE-ALL::SOURCE-ALL-SCRIPT
=====================================================
>>> Scanning libraries...
- Scanning /home/raven/Desktop/Qooxdoo/qooxdoo-0.8.2-sdk/framework...
- Scanning /home/raven/Desktop/Qooxdoo/qooxdoo-0.8.2-sdk/tool/bin/myfirst...
- Excludes may break code!
>>> Resolving dependencies...
- Sorting 513 classes...
>>> Resolving dependencies...
- Sorting 513 classes...
>>> Generate source version...
- Processing translation for 2 locales...
- Analysing assets...
- Compiling resource list...
- Generate translation code...
- Generating boot loader...
>>> Done
Теперь у нас создана debug-версия приложения. Что это значит?
Это значит то, что мы можем запустить наше приложение и посмотреть на его работу, но это не версия для издания, т.е. эта версия не предназначена для наших конечных пользователей, она имеет много "лишней" отладочной информации и связана с нашими локальными модулями. В своих последующих статьях я расскажу как создавать полноценные приложения и размещать их в сети интернет.
- Айе! Наконец запуск! Переходим в папку soure. Открываем в броузере файл index.html.
В стандартной ситуации, т.е. если использована стандартная версия SDK, описанная в этой статье и если вы следовали инструкциям этой статьи, то вы получите приложение с кнопкой, при клике на которой будет выведено сообщение.
Вот такое у нас первое приложение.
В дальнейших моих планах есть описание создания нескольких более серьезных приложений, в том числе с использованием запросов к серверу, где на стороне сервера будет использоваться PHP и MySQL. К сожалению в мои планы не входит публиковать тут учебник по Qooxdoo или что-то подобное. Всего лишь основы.
Обсуждаем, смотрим, пользуемся, жалуемся и т.д..............