- PVSM.RU - https://www.pvsm.ru -
BlackBerry PlayBook [1] становится всё более и более привлекательной платформой для Qt-разработчиков. Всё идёт к тому, что Qt будет включён в стандартный набор библиотек планшета. Благодаря чему платформа PlayBook (а вслед за ней и платформа BlackBerry 10) вызывает интерес у Qt-разработчиков. Так что в этой небольшой заметке я хотел бы рассказать, как прямо сейчас можно начать разрабатывать на Qt для BlackBerry PlayBook. Будет описан процесс настройки среды разработки с нуля до состояния, когда можно начинать писать приложения. На самом деле мне уже несколько раз задавали подобные вопросы, что и подвигло меня на написание этой публикации.
Для того, чтобы начать разрабатывать на Qt для PlayBook мы вместе выполним следующие шаги:
Чтобы не загромождать публикацию всеми подробностями и нюансами, я не буду рассказывать всё в деталях и иногда буду отсылать к документации и другим ресурсам.
Поскольку я разрабатываю в среде Linux, то буду описывать всё применительно к ней. Но аналогичным или схожим образом можно вести разработку в Windows и Mac OS X. Для всех трёх систем доступны инструменты разработки Native SDK (NDK). Если возникнут сложности, то можно проконсультироваться на форуме разработчиков (англ. [2] + рус. [3]).
Перед тем как мы приступим непосредственно к установке 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 с 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 для BlackBerry и создайте проект «BlackBerry Tablet OS C/C++ Project».

Укажите пути к заголовочным файлам модулей, которые будут использоваться. Например, QtGui и QtDeclarative:

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

Откройте файл bar-descriptor.xml и в графе Assets добавьте ссылки на модули 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.

В заметке не рассказывалось о всех возможностях и особенностях разработки на 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
Нажмите здесь для печати.