Увидел свет второй стабильный релиз мобильной платформы Tizen, которая продолжает развитие систем MeeGo и LiMO, но отличается использованием Web API и web-технологий (HTML5/JavaScript/CSS) для создания мобильных приложений. Платформа Tizen развивается под покровительством организации Linux Foundation, при участии LiMo Foundation, Intel и Samsung. Платформа является универсальной и подходит для использования на различных типах мобильный устройств, включая смартфоны, планшетные ПК, нетбуки, телевизоры и автомобильные информационно-развлекательные системы.
Релиз доступен только в исходных текстах, на основе которых можно самостоятельно подготовить сборки для различных устройств. Для упрощения формирования сборок поддерживается репозиторий готовых пакетов, а также эталонная сборка для запуска в эмуляторе. В качестве эталонных устройств для которых тестируется работа платформы используются Samsung Galaxy S2 HD и Samsung Galaxy S3. Одновременно для разработчиков мобильных приложений выпущен пакет Tizen SDK 2, в состав которого входит среда разработки на базе Eclipse, эмулятор телефона на основе QEMU, документация, примеры приложений, утилиты и компоненты для сборки программ. SDK поставляется для платформ Linux (Ubuntu), Windows и Mac OS X.
Разработчикам мобильных приложений предоставлена возможность используя технологии HTML5 создавать кроссплатформенные приложения, одинаково хорошо работающие на широком спектре устройств, не требуя сборки отдельной версии для каждой аппаратной и программной платформы. Web API платформы Tizen формируется с использованием как уже известных web-стандартов и HTML5-технологий, так и расширенных интерфейсов для управления устройством. В рамках Web API разработчикам предоставлены средства для создания полноценных мобильных приложений, сравнимых по функциональности с программами для других мобильных платформ. Для создания игр и графических приложений предлагается использовать WebGL. Запуск приложений, написанных на низкоуровневых языках программирования, таких как Си и Си++, обеспечен при помощи Native Framework.
Из ключевых улучшений, добавленных после выхода Tizen 1.0:
- Предоставление фреймворка для обеспечения работы полноценных нативных приложений, имеющих полный доступ к низкоуровневым операциям, недоступным программам на HTML5. Для создания интерфейса нативных приложений и для доступа к возможностями платформы предоставляется обширный API. Поддерживается не только запуск графических программ, но и выполнение серверных фоновых приложений. Допускается использование прямого сетевого взаимодействия, обращение к функциям OpenGL ES 1.1/2.0, прямой доступ к оборудованию и т.п.;
- Улучшенный web-фреймворк, обеспечивающий более полную поддержку HTML5/W3C API и специфичных для различных типов устройств Tizen API. Из добавленных возможностей HTML5 отмечаются средства для работы видео субтитрами, API для оценки статуса заряда аккумулятора, API для управления ориентацией экрана, Network Information API, Web Audio API, Clipboard API, HTML Drag and drop API. Новые элементы Tizen API включают в себя API для обеспечения передачи файлов, отправки уведомлений, контроля энергопотребления, доступа к истории звонков и подсистеме текстовых сообщений. Tizen Device API теперь поддерживает Bluetooth и NFC;
- Улучшенный фреймворк для создания интерфейса пользователя, поддерживающий в том числе создание полноэкранных и многооконных приложений;
- Web-движок платформы переведён на использование Webkit2 и теперь поддерживает многопроцессную модель выполнения web-приложений, обеспечивающую более надёжную изоляцию приложений и более высокую надёжность работы системы. В Web Runtime добавлены дополнительные опции настройки, позволяющие активировать дополнительные возможности, гибко управлять привилегиями и формировать окружение для запуска NPRuntime плагинов;
- Поставка набора базовых эталонных приложений, подготовленных в виде нативных программ (в дополнение к ранее предлагаемым web-приложениям): календарь, адресная книга, менеджер фотографий, конфигуратор, интерфейс к средствам телефонии, видеопроигрыватель, файловый менеджер, система обмена сообщениями, программа для ведения заметок, web-браузер, почтовый клиент, интерфейс для работы с камерой;
- Улучшенная web-ориентированная среда разработки Web IDE с поддержкой проектирования интерфейса в режиме WYSIWYG, системой инспектирования JavaScript на основе браузера Chrome и интерфейсов для просмотра лога выполнения JavaScript;
- Среда для разработки нативных программ Native IDE, предоставляющая средства визуального проектирования интерфейса, систему unit-тестирования и динамический анализатор кода. Для сборки нативных приложений может использоваться LLVM и GCC;
- В SDK добавлен менеджер установки приложений, в том числе поддерживающий установку по сети. В эмулятор добавлена поддержка акселерации графических операций (для драйверов NVIDIA, AMD и Intel), возможность использования OpenGL ES, расширена поддержка видеокодеков, улучшен графический интерфейс управления эмулятором и добавлен CLI-интерфейс. Лежащий в основе эмулятора QEMU обновлён до версии 1.2.0;
- Новый Platform SDK для упрощения адаптации и создания сборок Tizen для новых аппаратных платформ;
- Обновление низкоуровневых компонентов платформы. Например, ядро Linux обновлено с версии 2.6.36 до 3.0. Из возможностей ядра в платформе добавлена поддержка вывода через Frame Buffer, поддержка CMA (Contiguous Memory Allocator), IOMMU и Extcon.
Из базовых сервисов (Core Service) и компонентов платформы можно отметить:
- Графический стек и пользовательский интерфейс. В состав входит набор библиотек EFL (Enlightenment Foundation Libraries), основанная на X11 система управления окнами, модули для поддержки OpenGL ES и различных методов ввода, в том числе мультитач. Интерфейс и графические эффекты формируется при помощи библиотек EFL, включая библиотеку рендеринга Evas и систему виджетов Еlementary. Среди компонентов графического стека: DRI2 и libdrm, композитный оконный менеджер на базе EFL, OpenGL ES 1.1/2.0, EGL 1.4, бэкенды для программного вывода (X11) и акселерированного вывода (OpenGL ES), 3D- и 2D-стеки, в том числе поддержка векторной графики через библиотеку Cairo;
- Фреймворк для управления приложениями, в том числе для запуска приложений по имени пакета, URL или MIME-типу, управления пакетами, а также инициирования выполнения системных сервисов, таких как приложение для приёма звонков, вывода уведомлений, изменения ориентации экрана и т.п. Во фреймворке задействованы такие открытые компоненты, как Appcore, DBus, GNU gettext, libICU;
- Базовые сервисы — набор стандартных системных библиотек, обеспечивающих выполнение таких операций как доступ к БД, интернационализация и обработка XML;
- Сетевые сервисы — функциональность, необходимая для создания сетевых соединений и обеспечения работы сети. Обеспечена поддержка 3G, Wi-Fi, Bluetooth, HTTP и NFC (Near Field Communication). Для настройки 3G и Wi-Fi соединений используется конфигуратор ConnMan (Connection Manager). Для работы с Bluetooth используется пакет bluez;
- Сервисы для определения местоположения, основанные на фреймворке GeoClue. Поддерживается как определение местоположения через GPS, так и с использованием WPS (Wi-Fi Positioning System), Cell ID и различных дополнительных сенсоров;
- Сервисы для отправки и приёма сообщений (SMS, MMS, Email и IM);
- Мультимедиа подсистема на базе GStreamer, обеспечивающая управление различными видами контента, включая видео, звук, изображения и VoIP. Платформа поддерживает большой объём мультимедиа форматов и кодеков, благодаря задействованию компонентов FFmpeg. Среди поддерживаемых функций отмечаются средства для работы с камерой, приложения для записи звука и видео, мультимедиа проигрыватель;
- PIM (Personal Information Management) — система управления персональной информацией и сохраняемыми на устройстве данными пользователя. Включает средства для работы с адресной книгой, календарём-планировщиком, списком задач и привязанными к устройству данными (например, местоположение и статус соединения). Поддерживаются спецификации vCard 3.0 и vCalendar 1.0;
- Система обеспечения безопасности и контроля доступа, а также управления сертификатами и организации безопасной доставки приложений. Шифрование и поддержка SSL/TLS реализованы при помощи OpenSSL;
- Системные сервисы и средства для управления аппаратным обеспечением. В том числе, интерфейсы для доступа к различным типам устройств (сенсоры, экран и т.п.), управления питанием, обработкой событий (USB, MMC, подключение зарядного устройства или наушников), проведения обновления системы;
- Стек телефонии для обеспечения работы в сетях сотовой связи (UMTS и CDMA) и управления SIM-картой;
- Web-стек на базе браузерного движка WebKit (webkit-efl) с реализацией Tizen Web API. Сервис Web UI основан на библиотеке JQuery Mobile.