Тизен операционная система

Откуда он взялся? Немного истории…

27 сентября 2011 года 2 организации, LiMo Foundation и Linux Foundation, официально объявили о запуске новой open-source программной платформы Tizen на базе ядра Linux. Работу над проектом возглавили Samsung и Intel, сотрудничающие с консорциумом LiMo Foundation.

Но на самом деле все не так просто. У Tizen есть длинная предыстория.

Если не вникать в подробности, все началось примерно так:

Maemo

В далеком 2005 году Nokia представила первую версию Maemo — платформы для портативных устройств, базирующейся на Debian.

MobLin


В 2007 году был выпущен специализированный дистрибутив Linux под названием Moblin (MOBileLINux), предназначенный для запуска на ультрапортативных устройствах, оснащенных процессором Intel Atomintel.


Maemo + MobLin = MeeGo


В 2010 году Nokia и Intel oбъединяют свои усилия и создают платформу MeeGo на основе Maemo и Moblin. При этом также используются наработки от Fedora, Debian и OpenSUSE. Первая версия была выпущена в 2010 г., но уже в сентябре 2011 г. было объявлено, что в течение 2012 года наработки MeeGo войдут в состав будущего Tizen.


LiMo

В 2007 году Linux foundation и Samsung создают LiMo (LInuxMObile) Foundation и выпускают программную платформу LiMo Platform (R1 – 2008 год, R2 – 2009). В октябре 2009 на рынке уже имеются 40 LiMo-устройств. В 2012 было объявлено о переименовании LiMo foundation в Tiznen association.


Bada

Параллельно Samsung работает над платформой закрытого типа Bada и с 2010 по 2013 год выпускает несколько стабильных версий Bada и линейку так называемых “бадафонов”. 25 февраля 2013 года — Samsung официально заявил о слиянии bada c Tizen.

Tizen Association

Как упоминалось выше, в 2012 году LiMo Foundation был официально переименован в Tizen Association, в которую вошли 12 компаний: Samsung, Intel, Huawei, Fujitsu, NEC, Panasonic, KT, Sprint, SK Telecom, Orange, NTT Docomo, Vodafone.

Tizen IVI (In-Vehicle Infotainment)

Помимо этого, в 2012 году Linux Foundation основали рабочую группу Automotive Grade Linux, целью которой является разработка единой платформы для автомобильных информационно-развлекательных систем.

В нее вошли такие именитые бренды, как Jaguar, Toyota, Nissan, Land Rover, Fujitsu, Intel, Samsung, NEC, NVIDIA, Aisin AW, DENSO Corporation, Feuerlabs, HARMAN, Reaktor, Renesas, Symbio, Texas Instruments Incorporated (TI), Tieto и другие

В качестве проекта, на основе которого разрабатывается платформа IVI, выбран Tizen.

И даже самая “новаторская” компания Камаз показала на выставке грузовик с Tizen-системой на борту, вместо стандартной кассетной магнитолы.

Платформа и архитектура Tizen

Как упоминалось выше, Tizen – это открытая операционная система на базе ядра Linux. Так что, GNU, opensource, свобода и все дела.

При этом Tizen не имеет ничего общего с Android. Все драйвера были написаны с нуля. Возможно, именно поэтому текущие сборки работают значительно быстрее, чем Android.

Tizen была изначально задумана, как операционная система, разработка для которой должна осуществляться на базе web-технологий (да, да … HTML5/JavaScript/CSS). Нельзя сказать, что это идея новая. Она уже была успешно реализована в webOS, chromeOS, firefoxOS. Но создатели Tizen пошли дальше. Они также предлагают компоненты для построения интерфейсов приложений и web-api для интеграции со встроенными приложениями и аппаратными средствами (часы, будильники, напоминания, уведомления, звонки, контакты, Bluetooth, питание, настройки системы и т.п.)

Но, что еще забавнее, начиная со 2-й версии, вы можете писать высокопроизводительные приложения для Tizen, в том числе и на C++ (с использованием OpenGL® ES, OpenAL и OpenMP® и библиотек Glibc, libstdc++, libxml2). Здесь использованы наработки bada, что также делает воможным совместимость с приложениями, написанными для “бадафонов”.

К примеру, VK Для Tizen написан как гибридное приложение.

Что не так с SDK?

На мой субъективный взгляд, SDK пока очень сырой. Давайте пробежимся по его составляющим:

1. IDE (Eclipse)

Тут все ок, кроме выбора eclipse, как платформы! Я пробовал на OS X с 8gb памяти и core i7. Среда разработки загружается долго, подтормаживает, подвисает и немного бесит…

2. Web-simulator (на базе chrome)

C симулятором можно отлаживать, дебажить и предварительно тестировать web-приложения, написанные для Tizen. Доступна симуляция поворотов устройства, хардварных кнопок, зума, звонков, sms, геолокации и т.п.

При работе с симулятором не покидает ощущение “недоделанности” его UI и UX. Стандартная тема jQuery UI, неудобство контролов, множество визуальных огрехов в интерфейсе… Все это больше похоже на нечто, сделанное на коленке за 2 дня, нежели на продукт Samsung и Intel 😉

3. Emulator (эмуляция аппаратного обеспечения на базе QEMU)

Все выглядит красиво и вроде работает, но жуууутко тормозит. Так считаю не только я.

Кроме этого, у Samsung есть Remote test lab, где можно забронировать реальный Tizen девайс для тестов на время до 2-х часов.

4. UI-builder

C UI-билдером можно строить кое-какие интерфейсы и собирать в них слайдеры, кнопочки, чекбоксы и прочие элементы, которых здесь имеется огромное количество. В итоге, вы получите готовую html разметку.

Настораживает то, что после кропотливого UI-билдинга получается что-то визуально некрасивое, при этом в полученном html файле есть надпись:

Если честно, сложно представить себе применение этого UI-билдера для построения реальных интерфейсов. При этом он еще и довольно неудобный и глючный.

5. Документация

Совместно с SDK вы получаете локальный сервер с документацией. Тут нужно отдать должное, она довольно подробная, хотя и сделана на каком-то страшном движке.

6. Примеры приложений

Это наверное единственное, что мне понравилось в Tizen SDK. Примеров много, они разноплановые и хорошо написанные. Есть практически все: от компасов и часов до фото-приложений, чатов и sms. Иногда намного удобнее и быстрее подсмотреть, как работают примеры, нежели читать документацию.