новости
статьи
.software

Maemo - платформа разработки программ для ОС Internet Tablet

Описывается платформа разработки с открытыми исходными текстами Maemo для интернет-планшетов фирмы Nokia. Освещены следующие вопросы: особенности платформы, история создания и роль компании Nokia в ней; устройства, работающие на платформе Maemo; рассказано о сообществе и людях, принимающих участие в продвижении платформы. Также рассмотрены среда и средства разработки платформы, механизмы портирования существующих программ, приведен обзор приложений, уже работающих на данной платформе.

что такое Maemo и роль в ней Nokia

Maemo представляет собой платформу разработки с открытыми исходными текстами для интернет-планшетов Nokia и других устройствах, основанных на Linux.

Платформа Maemo включают в себя инструменты, необходимые для создания и портирования приложений для ОС Internet Tablet. Операционная система Internet Tablet представляет собой модифицированный вариант дистрибутива Debian GNU/Linux. Разработчику, знакомому с технологиями GTK+/GNOME и дистрибутивом Debian, не составит труда разобраться в Maemo.

Компания Nokia всячески способствует развитию платформы и направляет ее развитие. Она первая разработала устройства, использующие эту платформу. На данный момент это интернет-планшеты Nokia 770 и Nokia N800. Корпорация всячески стимулирует подключение новых разработчиков, дизайнеров и активных пользователей к работе над платформой.

какие устройства работают на этой платформе

Как сказано выше, к настоящему моменту компания Nokia выпустила два устройства, работающие на платформе Maemo - модели 770 и N800.

Из основных характеристик устройств можно назвать использование процессоров ARM и большое (800x480 пикселей) разрешение экрана. Время работы составляет до 3 часов в активном режиме и до 7 часов в режиме ожидания. Время работы обоих устройств сильно зависит от количества запущенных программ. Устройства не являются смартфонами и не имеют GSM-модулей. Это принципиальная позиция Nokia. Возможно она связана с боязнью создания конкуренции своим же продуктам на базе ОС Symbian.

Внешний вид интернет-планшетов приведен на рисунках:



Рис. 1. Внешний вид интернет-планшета Nokia 770



Рис. 2. Внешний вид интернет-планшета Nokia N800

сообщество Maemo

Сообщество Maemo очень разнообразно в географическом плане. Есть разработчики из Финляндии, России, Западной Европы, США и из Латинской Америки. По ориентировочным оценкам количество активных разработчиков составляет несколько сотен человек.

На официальном сайте проекта содержится документация, учебные материалы, репозитарий программ для тестирования. Также сайт maemo.org предоставляет услуги для сообщества Maemo, куда входят:

- каталог программ;

- хостинг проектов сторонних разработчиков для платформы Maemo ;

- электронная энциклопедия wiki;

- новостной портал Maemo.

Также есть IRC-канал и ряд форумов.

среда и средства разработки платформы Maemo

На данный момент существует две основные ветки SDK для устройств, работающих на платформе Maemo. Первая ветвь - Maemo 2.2 'gregale' - предназначена для разработки программ для интернет-планшета Nokia 770, работающих под управлением IT OS, редакции 2006 года. Вторая ветвь - Maemo 3.1 'bora' - предназначена для разработки программ для интернет-планшета Nokia N800, работающих под управлением IT OS, редакции 2007 года, версии 3.2007.10-7.

Обе ветви SDK представляют собой так называемые "rootstrap" - образы корневой файловой системы устройств. Причем для Nokia 770 образ разбит на два архива: первый - пакеты для разработки корневой файловой системы (используется только на Nokia 770), второй - набор пакетов для SDK. Для Nokia N800 существуют rootstrap для двух архитектур - i386 и armel.

Обе ветви дополнительно требуют для работы кросс-платформенный набор инструментов Scratchbox версии R4 или более поздней. Официальный сайт Scratchbox - scratchbox.org.

В качестве средства для построения графического интерфейса пользователя платформа Maemo использует библиотеку GTK+. Основным языком для создания приложений на платформе Maemo является Си. Также возможна разработка программ и на языке Питон. Но разработчикам на Питоне следуют иметь в виду некоторые ограничения, накладываемые платформой Maemo (для подробной информации необходимо обратиться к документации).


Из инструментов отладки приложений на платформе Maemo присутствуют следующие:

- gdb - отладчик;

- strace - трассировщик системных вызовов;

- valgrind - отладчик и профайлер, работает только для архитектуры x86 и только внутри Scratchbox.

Дополнительная информация по применению инструментов отладки содержится в "maemo debugging guide".

возможность портирования

При портировании приложений на платформу Maemo существуют некоторые ограничения.

В основном эти ограничения касаются интерфейса пользователя и используемых библиотек. Этапы процесса портирования сильно зависят от портируемого приложения, от тех библиотек и функций, которые используются в нем. Общий алгоритм можно описать так:

- удаление или замена всех не поддерживаемых платформой библиотек;

- исправление или переписывание всех функций, использующих удаленные библиотеки;

- модифицирование интерфейса пользователя с учетом требований платформы, например:

- разрешение экрана 800х480 точек;

- структура дерева файлов портируемой программы;

- файлы, отвечающие за формирование пакета Debian (руководство по созданию пакетов можно найти по адресу http://packages.debian.org).

краткий обзор программ, работающих на платформе Maemo

Все приложения, уже работающие на рассматриваемой платформе, можно квалифицировать по следующим критериям:

- идущие в стандартной поставке;

- приложения сторонних разработчиков;

- портированные приложения;

- приложения, специально написанные под Maemo и другие платформы, работающие с наладонными компьютерами.

ссылки

1. Официальный сайт проекта Maemo // http://maemo.org

2. Xостинг проектов под платформу Maemo // http://garage.maemo.org

3. Maemo SDK // http://maemo.org/development/sdks/

4. Особенности Python для Maemo // http://maemo.org/development/documentation/how-tos/3-x/python_maemo_3.x_howto.html

5. Maemo debugging guide // http://maemo.org/development/documentation/how-tos/3-x/maemo_debugging_guide.html

6. Инструкции по портированию приложений // http://maemo.org/development/documentation/how-tos/3-x/howto_porting_to_maemo_bora.html



Владислав Васильев, УП "Витебскоблгаз", Витебск, Беларусь, vlad@gas.by Павел Фиалко, НРУПТН "Дружба", Новополоцк, Беларусь,pavelnf@gmail.com
обсудить статью
© сетевые решения
.
.