- PVSM.RU - https://www.pvsm.ru -

Mobile Development / Как быстро начать разрабатывать на Qt/QML для BlackBerry PlayBook и заставить всех тебе завидовать

Mobile Development / Как быстро начать разрабатывать на Qt/QML для BlackBerry PlayBook и заставить всех тебе завидоватьBlackBerry PlayBook [1] становится всё более и более привлекательной платформой для Qt-разработчиков. Всё идёт к тому, что Qt будет включён в стандартный набор библиотек планшета. Благодаря чему платформа PlayBook (а вслед за ней и платформа BlackBerry 10) вызывает интерес у Qt-разработчиков. Так что в этой небольшой заметке я хотел бы рассказать, как прямо сейчас можно начать разрабатывать на Qt для BlackBerry PlayBook. Будет описан процесс настройки среды разработки с нуля до состояния, когда можно начинать писать приложения. На самом деле мне уже несколько раз задавали подобные вопросы, что и подвигло меня на написание этой публикации.

Для того, чтобы начать разрабатывать на Qt для PlayBook мы вместе выполним следующие шаги:

  • Установим Native SDK
  • Настроим систему для подписывания и установки приложений
  • Соберём Qt
  • Создадим и настроим проект Qt-приложения

Чтобы не загромождать публикацию всеми подробностями и нюансами, я не буду рассказывать всё в деталях и иногда буду отсылать к документации и другим ресурсам.

Поскольку я разрабатываю в среде Linux, то буду описывать всё применительно к ней. Но аналогичным или схожим образом можно вести разработку в Windows и Mac OS X. Для всех трёх систем доступны инструменты разработки Native SDK (NDK). Если возникнут сложности, то можно проконсультироваться на форуме разработчиков (англ. [2] + рус. [3]).

Установка Native SDK

Перед тем как мы приступим непосредственно к установке NDK, стоит пояснить ситуацию с версиями PlayBook OS. На данный момент официально выпущена версия BlackBerry PlayBook OS 2.0 [4], но средства разработки Native SDK 2.0 пока доступны в виде бета-версии. Но не стоит опасаться бета-версии, я думаю, что релиз появится в ближайшее время. Возможно, когда Вы будете это читать, NDK 2.0 уже выйдет.

Скачайте Native SDK 2.0 и симулятор для своей операционной системы, перейдя по ссылке [5]. В установке NDK ничего сложного нет, потребуется только выбрать каталог, куда устанавливать. Native SDK представляет собой QNX Momentics [6] (т.е. основан на Eclipse [7]), дополненный инструментами BlackBerry. Симулятор это образ виртуальной машины для VMWare.

Получение ключей и всего необходимого для подписывания приложений

Сначала надо получить ключи. Для этого перейдите по ссылке [8] и заполните форму. Убедитесь, что выбрали ключи для PlayBook'а в поле «Select a Key». Через какое-то время на указанный почтовый адрес Вы получите ключи. Сохраните их в каталоге ~/.rim (для Linux).

После того, как ключи будут получены необходимо их зарегистрировать. Выполните следующие команды:

$ /path/to/ndk/bbndk-env.sh $ blackberry-signer -register -storepass <пароль> -csjpin <PIN> client-RDK-<XXXXX>.csj client-PBDT-<XXXX>.csj

Здесь <пароль> это пароль, который вы выбрали; а <PIN> это PIN планшета, который вы указали в форме запроса ключей.

Ещё можно сделать отладочный ключ (debug token) и установить его на PlayBook (для симулятора это не требуется). Однако, если мы собираемся работать в IDE, то среда разработки сама сообщит, что требуется ключ, поможет сгенеририровать и установить его на устройство. Если вам интересно, как это можно сделать при помощи утилит командной строки, то ознакомьтесь с руководством Getting Started with Qt on Blackberry [9].

Сборка Qt для PlayBook

Библиотеки Qt не входят в состав стандартного набора компонентов прошивки PlayBook, будем надеяться, что в скором времени это будет исправлено, т.к. ведутся работы по переносу Qt для PlayBook с GitHub в основной репозиторий Qt [10]. А пока нам надо самостоятельно скачать исходный код Qt, собрать его для PlayBook и установить на инструментальной системе.

Скачайте архив qt-qnx-preview.tar.gz из GitHub [9], распакуйте и выполните следующие команды:

$ /path/to/ndk/bbndk-env.sh $ ./configure-qnx

Не постесняйтесь заглянуть внутрь скрипта configure-qnx. Там можно добавить нужные вам опции сборки Qt. Лично я немного изменил скрипт, чтобы Qt устанавливался не в текущий каталог, а в каталог target в NDK:

#!/bin/sh  ./configure -opensource -confirm-license -qpa -shared -release      -xplatform unsupported/blackberry-armv7le-qcc -little-endian -arch arm      -iconv -largefile -nomake examples -xmlpatterns -no-webkit -no-neon -no-rpath -opengl es2      -prefix-install -prefix ${QNX_TARGET}/../target-override/armle-v7/usr/lib/qt4      -headerdir ${QNX_TARGET}/../target-override/usr/include/qt4 

Теперь уже можно с чистой совестью выполнить:

$ make -j12 $ make install

На этом всё. Пожалуй, больше на тему сборки Qt для PlayBook распространяться не буду. Для быстрого старта рассказанного будет достаточно.

Настройка проекта в NDK для Qt-приложения

Запустите NDK для BlackBerry и создайте проект «BlackBerry Tablet OS C/C++ Project».
Создание проекта BlackBerry Tablet OS C/C++ в Native SDK
Укажите пути к заголовочным файлам модулей, которые будут использоваться. Например, QtGui и QtDeclarative:

BlackBerry Native SDK: Пути к заголовочным файлам Qt

Выберите пункт QCC Linker -> Libraries, в список Library Paths добавьте путь к библиотекам Qt и сами библиотеки в список Libraries:

BlackBerry Native SDK: Пути и библиотеки Qt

Откройте файл bar-descriptor.xml и в графе Assets добавьте ссылки на модули Qt, которые будет использовать приложение:

BlackBerry Native SDK: Модули Qt

В принципе это всё. Теперь можно разрабатывать приложение на Qt или QML, проверять его работу в симуляторе или на PlayBook, создавать подписанные BAR-файлы и размещать их в App World. Пример приложения на QML собранного для PlayBook можно посмотреть тут [11].

Ещё одна особенность, которая может сберечь ваше время. Не забудьте вставить первой строчкой в функции main() вашей программы:

    QCoreApplication::addLibraryPath("app/native/lib");

Так указывается путь по которому приложение будет искать библиотеки Qt.

Вместо заключения

Платформа PlayBook представляет большие возможности для разработчиков и, в конечном итоге, для пользователей. В основе платформы лежит ОСРВ QNX [12], который обеспечивает поддержку POSIX, и средства разработки Native SDK позволяют не только разработать практически что угодно, но и использовать ранее разработанные библиотеки или библиотеки с открытым исходным кодом [13]. В качестве примера может послужить DjView [14] — программа просмотра DjVu, собранная для PlayBook.

Порт DjView на BlackBerry PlayBook

В заметке не рассказывалось о всех возможностях и особенностях разработки на Qt для PlayBook. Например, я не рассказал о плагине QNX для Qt Creator, который доступен на GitHub [9]. Также рекомендую попробовать. Сообщают [10], что плагин будет включён в версию 2.5.

Если Вам интересны технологии QNX, в том числе и применение Qt на QNX и PlayBook, то не забудьте посетить XII международную конференцию «QNX-Россия 2012» [15]. Информация по конференции и материалы с предыдущих конференций доступны на сайте qnx-russia.ru [16]. Получить информацию о докладах специалистов СВД Встраиваемые Системы и предложить темы для докладов и мастер-классов можно на форуме СВД ВС [17].

Автор: ob1, Development / Как быстро начать разрабатывать на Qt/QML для BlackBerry PlayBook и заставить всех


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka/2547

Ссылки в тексте:

[1] BlackBerry PlayBook: http://www.kpda.ru/BSP/PlayBook

[2] англ.: http://supportforums.blackberry.com

[3] рус.: http://forum.kpda.ru/index.php/board,16.0.html

[4] выпущена версия BlackBerry PlayBook OS 2.0: http://habrahabr.ru/blogs/blackberry/138638/

[5] перейдя по ссылке: https://bdsc.webapps.blackberry.com/native/beta/download/

[6] QNX Momentics: http://www.kpda.ru/QNX6/Momentics

[7] Eclipse: http://ru.wikipedia.org/wiki/Eclipse_%28%D1%81%D1%80%D0%B5%D0%B4%D0%B0_%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B8%29

[8] перейдите по ссылке: https://www.blackberry.com/SignedKeys/

[9] Getting Started with Qt on Blackberry: https://github.com/blackberry/Qt/downloads

[10] ведутся работы по переносу Qt для PlayBook с GitHub в основной репозиторий Qt: http://openbbnews.wordpress.com/2012/02/10/qt-comes-to-qnx/

[11] посмотреть тут: http://forum.kpda.ru/index.php/topic,682.msg6573.html#msg6573

[12] ОСРВ QNX: http://habrahabr.ru/blogs/nix/124656/

[13] библиотеки с открытым исходным кодом: http://forum.kpda.ru/index.php/topic,668.0.html

[14] DjView: http://forum.kpda.ru/index.php/topic,763.0.html

[15] XII международную конференцию «QNX-Россия 2012»: http://habrahabr.ru/events/455/

[16] qnx-russia.ru: http://www.qnx-russia.ru

[17] на форуме СВД ВС: http://forum.kpda.ru/index.php/topic,749.0.html