Maemo 5 с точки зрения пользователя

Все, что касается изменений, сразу заметных пользователю: увеличение размера элементов пользовательского интерфейса, отсутствие “несветящихся” элементов (если элемент неактивен - сразу исчезает), удаление фокуса, максимальное число элементов - 10, меню больше не иерархическое, стековое меню и др. http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Porting_Software/Redesigning_From_Maemo_4_to_Maemo_5

Maemo 5 с точки зрения разработчика

Рассматривается интерфейс и модули определения географического положения

Основные компоненты графического интерфейса пользователя

Сюда входят: C library, Xlib, Glib, GDK, GDK, Pango, ATK, GTK+, Hildon. Коротко о них. http://wiki.maemo.org/Legacy_Maemo_5_Documentation/Graphical_UI_Tutorial/Introduction

Hildon - изменения в Maemo5

На основе таблицы http://repository.maemo.org/stable/fremantle/4.1.2_vs_5.0_content_comparison.html

GTK - изменения в Maemo5

На основе таблицы http://repository.maemo.org/stable/fremantle/4.1.2_vs_5.0_content_comparison.html

Qt

http://doc.trolltech.com/4.5/index.html

Пакет qt4-x11

http://packages.debian.org/ru/source/lenny/qt4-x11

Компиляция Qt приложений

http://wiki.maemo.org/Qt4Hildon#Overriding_the_Qt_Maemo_changes

Портирование QT приложений на Maemo5

http://wiki.maemo.org/Qt4Hildon#Overriding_the_Qt_Maemo_changes http://wiki.maemo.org/Packaging_a_Qt_application

Сосуществование Qt и GTK+ на Maemo5

Новые Возможности написания интерфейса, предоставленные появлением Qt

Использование модулей для определения географического положения

Location framework в MAEMO4: liblocation

Liblocation — библиотека, состоящая из нескольких модулей и предоставляющая разработчику приложений для Maemo средства определения географического положения. Liblocation включает в себя модули: LocationGPSDevice, LocationGPSDControl, location-distance-utils, location-misc. Модуль LocationGPSDevice содержит набор типов данных и функций, позволяющих принимать информацию от демона местоположения (например, GYPSY), который в свою очередь взаимодействует с GPS устройством. Модуль LocationGPSDControl определяет объект, который позволяет управлять соединением с демоном местоположения. В модуле определены функции, информирующие демона об открытии или закрытии соединения с ним. Демон положения взаимодействует с устройством до тех пор, пока хотя бы одно приложение поддерживает с этим демоном соединение. Модуль location-distance-utils предоставляет разработчику средство определения расстояния между двумя точками на поверхности Земли. Модуль location-misc содержит набор дополнительных функций для работы с liblocation. На данный момент определяет одну функцию, которая осталась для совместимости и не рекомендуется для использования при разработке новых программ.

Liblocation в Maemo 4.x (Diablo) и в Maemo 5.0 (Fremantle)

Maemo Diablo включает liblocation версии 0.30. Реализации версий liblocation до 0.30 были основаны на взаимодействии с демоном местоположения GPSD. Следующая версия liblocation 0.90 основана на GYPSY и D-Bus. Maemo Fremantle включает версию liblocation 0.99, основанную также на GYPSY и D-Bus.

Location framework в MAEMO5: gypsy vs gpsd

Maemo Diablo для работы с GPS устройствами использовало демон GPSD. Maemo Fremantle вместо GPSD использует GYPSY. GYPSY был написан, чтобы исправить проколы, обнаруженные в GPSD. Одним и з проколов была проблема выделения памяти (allocating memory). Разработчики GPSD категорически не рекомендовали использовать функции malloc/free ((http://gpsd.berlios.de/hacking.html#malloc). Кроме того, в GPSD клиенту необходимо открывать сокет для взаимодействия с сервером GPSD. Обмен информацией достаточно сложный. В GYPSY взаимодействие основано на использовании мощной сигнальной системы D-Bus. Существует ряд других причин, по которым предпочтительнее использовать GYPSY, а не GPSD.

Библиотеки нижнего уровня для определения геграфического положения в Maemo

Библиотеки ниженего уровня в Maemo 4.x (Diablo)

К библиотекам нижнего уровня для определения положения в Maemo Diablo относятся библиотеки: libgpsbt, libgpsmgr, gpsd daemon.

Библиотеки нижнего уровня в Maemo 5.0 (Fremantle)

Вместо библиотек нижнего уровня в Maemo Diablo предполагается использование liblocation и обращение к демонам, например к GYPSY.

Определение географического положения в Navit.