Корпорации Intel и Nokia на мобильном конгрессе в Барселоне анонсировали платформу MeeGo, которая станет гибридом мобильных систем Moblin (Mobile Linux) и Maemo. Первые версии MeeGo появятся во втором квартале 2010 года, а устройства на базе ОС – до конца года.
MeeGo предназначена для работы на широком спектре устройств, включая смартфоны, планшеты и нетбуки. Это позволит создавать приложения, которые без адаптации будут работать сразу на нескольких видах устройств. Магазином приложений для MeeGo станет принадлежащий Nokia Ovi Store.
Система MeeGo будет полностью открытой, разработчики опубликуют ее исходные коды. Обе корпорации заявили, что все компании-производители аппаратного обеспечения получат равный доступ к MeeGo.
MeeGo будет сосуществовать с платформой Symbian, которая сейчас используется для смартфонов. Новая ОС будет устанавливаться в более дорогие, чем обычно, мобильники. В частности, она предназначена для устройств класса Nokia N900, которые финская корпорация предпочитает называть мобильными компьютерами.
Некоторые подробности.
- в системе будут использоваться пакеты .rpm (как в Moblin), а не .deb (как в Maemo)
- качестве базиса новой платформы выступают три составляющие: MeeGo OS Base – основа для взаимодействия с оборудованием (ядро Linux и базовые системные сервисы), MeeGo OS Middleware – API для задействования возможностей оборудования, коммуникационных, мультимедийных, графических (2D/3D) и сервисных функций из пользовательских приложений, MeeGo User Experience – пользовательская оболочка, поддерживающая варианты построения интерфейса для работы на нетбуках и карманных устройствах
- исходные тексты оболочки и уровня API будут доступны в рамках лицензии BSD, не запрещающей производителям вносить улучшения без их открытия
- планы Nokia на Maemo 6 не изменятся; она будет основана на Qt, поэтому программно совместима с MeeGo
- хорошие новости для владельцев Nokia N900 – приложения, написанные для MeeGo на Qt можно будет запустить на нем
- новые устройства на MeeGo ожидаются ближе к концу 2010 года
Архитектура MeeGo
Платформа MeeGo была тщательно проработана для поддержки компонент, необходимых для удобной работы пользователей устройств. Как показано на диаграмме ниже, архитектура MeeGo состоит из трех слоев:
- Базовый слой MeeGo (OS Base) содержит ядро Linux и службы ядра наряду с ПО для поддержки аппаратного обеспечения, необходимого для работы MeeGo на устройствах с различной аппаратной архитектурой.
- Промежуточный слой MeeGo (Middleware) обеспечивает независимую от аппаратного обеспечения и модели использования API для создания как родных программ, так и web-приложений.
- Пользовательский слой MeeGo (UX) обеспечивает создание интерфейсов для различных платформ. Первый выпуск MeeGo будет поддерживать интерфейсы для карманных устройств и нетбуков. Поддержка дополнительных платформ появится со временем.
Базовый слой MeeGo (OS Base)
ПО для адаптации аппаратуры (Hardware Adaptation Software)
Существуют различные компоненты программного обеспечения, которые поставщик аппаратуры должен обеспечить, чтобы успешно запустить MeeGo на своей платформе, включая драйверы ядра платформы, патчи и конфигурацию ядра, почти и конфигурацию X-системы, поддержку модема, а также компоненты медиа, особенные для аппаратуры.
Ядро (MeeGo Kernel)
MeeGo использует ядро Linux с http://kernel.org со специфичными для архитектуры патчами и настройками (если нужно). Драйверы обеспечиваются для каждой поддерживаемой платформы.
Промежуточный слой MeeGo (Middleware)
Службы визуализации (Visual Services)
Подсистема служб визуализации обеспечивает основные 2D и 3D графические возможности для платформы, в том числе генерацию интернационализированного текста и все плюсы аппаратного ускорения графики.
Службы медиа (Media Services)
Цель служб медиа заключается в обеспечении для системы проигрывания аудио и видео, обработки потоков и изображений. В общем, службы медиа занимаются актуальной обработкой аудио- и видеоданных (извлечение, кодирование и декодирование и т.д.)
Управление данными (Data Mgmt)
Подсистема управления данными обеспечивает извлечение и управление файловыми мета-данными (например, извлечение и поиск метаданных для медиа-файлов), получение данных о контексте устройства (положения устройства, статус кабеля), а также управление набором установленных пакетов на устройстве.
Службы устройства (Device Services)
Подсистема служб устройства содержит набор услуг для управления состоянием устройства, включая все, что необходимо для обеспечения безопасности использования устройства потребителем, а также обмена данными с устройством, извлечения данных сенсоров, общей политики системы, синхронизации данных устройства и резервного копирования и восстановления.
Личные службы (Personal Services)
Подсистема личных служб предоставляет услуги для управления пользовательскими данными на устройстве, в том числе для управления персональной информацией (календарь, контакты, задачи) и управления учетными записями пользователей.
Архитектура безопасности MeeGo (Security)
MeeGo использует масштабируемую система безопасности, которая обеспечивает безопасность через контроль доступа на основе ролей, который применяется для многих систем, от полностью открытых до частично заблокированных. Это достигается за счет гибкой и обновляемой политики, которая обеспечивается с помощью ключевых элементов в программном стеке.
Инструментарий MeeGo для создания интерфейсов пользователей (MeeGo UI Toolkit (Qt))
Инструментарий MeeGo для создания интерфейсов является основным инструментарием для разработки приложений под MeeGo и основан на Qt с особенными дополнениями. Для совместимости также включены GTK и Clutter.
Интерфейс MeeGo для карманных устройств (MeeGo Handheld UX)
MeeGo Handheld UX предоставляет пользовательский интерфейс для портативных устройств, в том числе пользовательский интерфейс основной системы и приложений, которые строятся на основе портативного оптимизированного интерфейса. Интерфейс демонстрирует возможности платформы, а также является отправной точкой для создания карманного устройства MeeGo.
Интерфейс MeeGo для нетбуков (MeeGo Netbook UX)
MeeGo Netbook UX предоставляет пользовательский интерфейс для нетбуков, в том числе пользовательский интерфейс основной системы и приложений, которые строятся на основе портативного оптимизированного интерфейса. Интерфейс демонстрирует возможности платформы, а также является отправной точкой для создания небука MeeGo.
