Библиотека сайта rus-linux.net
Знакомство с MeeGo: Создаем приложение с помощью Qt Creator
Автор: Н.РомодановДата публикации: январь 2011 г.
В статье кратко рассказывается, с чего начать, если вы хотите создать приложение для системы MeeGo. Кратко описывается, как в системе MeeGo установить среду разработки приложений.
Разработчики системы MeeGo позаботились о тех, кто намеревается внести свой вклад в разработку приложений для этой новой системы. В качестве основного инструментального средства предлагается использовать IDE фирмы Nokia – Qt Creator, который можно, например, взять с сайта Nokia. В качестве второго источника, откуда можно взять этот фреймворк, может быть один из двух репозитариев MeeGo. Подключите один из репозитариев с помощью одной из следующих команд:
$ sudo zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/1.1/meego-sdk.repo
или
$ sudo zypper addrepo -f http://repo.meego.com/MeeGo/sdk/host/repos/meego/trunk/meego-sdk.repo
После этого вы можете установить среду разработки с помощью следующей команды
$ sudo zypper install meego-sdk
Рис.1. Подключаем репозитарий и начинаем установку среды разработки
Будет установлено приложение meego-sdk, представляющее собой Qt Creator, и среду разработки и отладки приложений для MeeGo - madde (MeeGo Application Develop and Debug Environment). Список установленных пакетов можно посмотреть соответственно с помощью команд zypper se meego-sdk
и zypper se madde
.
Перед тем, как Qt Creator можно будет использовать для разработки приложений для MeeGo, его нужно будет настроить — создать и подключить целевую технологическую цепочку (toolchain), предназначенную для такой разработки. Эта процедура осуществляется с помощью средств среды madde. Описание этой операции приведено по следующей ссылке. Система MeeGo получила технологию madde в наследство от системы Maemo, так что достаточно много информации об ее использовании имеется, но на английском языке, на сайте maemo.
Но, если кратко, то вам нужно скачать один из архивов, предназначенный для создания целевой среды target с помощью команды mad-admin. Но прежде, чем начать это делать, можно посмотреть список имеющихся архивов с помощью следующей команды
$ mad-admin list targets
Архивы, которые можно скачать и установить, помечены как installable, архивы, которые уже скачаны и использованы для создания среды разработки, помечаются как installed.
Рис.2. Список архивов для создания целевой среды разработки targets и среды исполнения runtimes
Создание среды разработки осуществляется с помощью команды mad-admin create
, например:
$ sudo mad-admin create -f meego-netbook-ia32-1.1.2
При этом сначала происходит скачивание архива meego-netbook-ia32-1.1.2
на ваш компьютер в директорий /usr/lib/madde/linux-i686/cache, а только потом собственно начнется создание среды разработки.
Однако, в процессе скачивания архивов может возникнуть проблема, связанная с тем, что скачиваемые архивы имеют большие размеры, а команда mad-admin create
не позволяет осуществлять докачку файлов. Если скачивание архива по какой-то причине срывается, то команда зависает и ее работу приходится прерывать нажатием клавиш Ctrl+C, а затем начинать закачку архива заново. Если у вас возникнет подобная ситуация, то перейдите в директорий /usr/lib/madde/linux-i686/cache и, находясь в нем, воспользуйтесь, например, утилитой wget, которая позволяет продолжать закачку файла после разрыва соединения. После того, как необходимый архив окажется в директории /usr/lib/madde/linux-i686/cache, снова выполните команду mad-admin create
. В этом случае будет взят файл, уже находящийся на вашем компьютере, и процесс создания целевой среды продолжится дальше.
После того, как целевая среда разработки будет создана, ее нужно будет подключить к IDE. Для этого откройте приложение Qt Creator, выберите пункт меню "Инструменты" и подпункт "Параметры...". В левой части открывшегося окна "Параметры" выберите пункт "Qt4". Теперь в группе профилей "Особые" вам нужно добавить ссылку на утилиту qmake в вашей только что созданной целевой среде. Для этого щелкните по символу "+", находящемуся в правой части окна "Профили Qt". Введите название версии, например, "MeeGo IA32 4.7.0" и полный путь к утилите qmake вашей целевой среды. Любая целевая среда, создаваемая в madde, размещается в директории /usr/lib/madde/linux-i686/targets в поддиректории с названием, совпадающим с названием скачанного архива, а утилита qmake должна находиться среди исполняемых файлов в поддиректории .../bin. Так что если название архива было meego-netbook-ia32-1.1.2, то полный путь к утилите qmake будет /usr/lib/madde/linux-i686/targets/meego-netbook-ia32-1.1.2/bin/qmake.
Рис.3. Целевая среда разработки приложений для MeeGo подключена к IDE Qt Creator
Нажмите на кнопку OK — вы подключили свою целевую среду к IDE и теперь можете создать свое первое приложение для системы MeeGo. На сайте MeeGo Wiki есть подробное описание первого приложения с традиционным названием "Hello World". Однако, мы сделаем свое специальное приложение, посвященное сайту "Виртуальная энциклопедия Linux по-русски".
Начинаем создание приложения с выбора пункта меню "Файл" и подпункта "Новый файл или проект..." (или нажмите клавиши Ctrl+N). Выберите в качестве шаблона проекта "Проект Qt C++" и "GUI приложение Qt", а затем, последовательно переключая диалоговые окна дополнительной настройки с помощью нажатия кнопок "Выбрать", "Далее" и "Завершить" перейдите к окну, где нужно выбрать профиль среды разработки для нашего приложения. Если у вас в IDE подключена одна среда разработки, то она сразу будет отмечена как выбранная, но если у вас есть несколько вариантов выбора, то выберите в нашем случае вариант "MeeGo IA32 4.7.0" (поставьте напротив него "отметку").
Рис.4. Выбираем профиль среды разработки для нашего приложения
Откроется окно дизайнера графического интерфейса, где можно к имеющейся заготовке окна добавить необходимые элементы интерфейса, например, виджет Label с текстом "Привет сайту Rus-Linux.Net". После того, как окно графического интерфейса будет сформировано, выберите пункт меню "Сборка" и подпункт "Собрать все" (или нажмите клавиши Ctrl+Shift+B). Приложение будет собрано.
Рис.5. Создаем приложение
Если ваше приложение имело название, например, "MyMeeGo" (название проекта в IDE Qt Creator), то в вашем домашнем директории вы найдете поддиректорий MyMeeGo-build-meego, в котором будет находиться исполняемый модуль MyMeeGo, который вы можете запустить в системе MeeGo. А в поддиректории rrpmbuild, который расположен на уровень глубже, можно найти собранный пакет mymeego-0.0.1-1.i586,.rpm, который можно перенести на другой нетбук с системой MeeGo и установить, например, с помощью команды rpm -ivh mymeego-0.0.1-1.i586.rpm
.
Рис.6. Приложение работает в системе MeeGo
Использование языка c++, разумеется не единственный вариант разработки приложений для MeeGo. Например, по ссылке приведено очень подробная инструкция (на английсом языке) о том, как создавать приложения на PySide/QML (языке Python для Qt). Там же есть примеры с исходным кодом и ссылкой на репозитарий, откуда можно скачать уже готовый пакет PySide 1.0 beta 1.
Описание разработки приложений для MeeGo с использованием технологии JavaScript/Clutter/Mx вы можете найти по ссылке. Следует обратить внимание на проект Clutter. Это библиотека с открытым кодом (лицензия LGPL 2.1), предназначенная для создания быстрого, качественного, портируемого и динамического пользовательского интерфейса. Библиотека является часть ядра MeeGo. В Clutter для рендеринга используется технология OpenGL, которая на мобильных и встроенных платформах заменяется OpenGL|ES.
Не всегда нетбук, на котором установлена система MeeGo, удобен для использования в качестве инструментальной платформы для разработки приложений. Иногда проще разработать приложение в кросс среде, опробовать его в эмуляторе, а затем перенести его в систему MeeGo. В следующей статье будет рассказано о том, как разрабатывать приложения для системы MeeGo в кросс системе Qt, развернутой в Ubuntu 10.10.
Все статьи этой серии: