Let's go Tizen!

Jul 06, 2012 16:56



На днях мне выпало задание написать статью о практической работе и экспертизе Tizen. Единственной проблемой к этому было то, что, во-первых, никакой практической работы у меня с ней ещё не было и она только планируется, а во-вторых, ни реальных прототипов, ни допиленных эмуляторов устройств под Tizen пока нет. Участие в Tizen проекте, пожалуй, интереснейший опыт и возможность повлять на судьбу настоящей операционной системы своими правками, багрепортами; и от того, сколько багов будет отловлено, насколько будет вылизан код и оптимизирован, будет зависеть интеграция в устройства и коммерческий успех в продажах.

Как дать старт



Информации очень мало и она скудная, поэтому, чтобы написать статью, я попросил найти для себя максимум информации, из которой можно сделать какую-то ни было экспертизу, а сам отправился в Английский паб размышлять, как же выпутываться из сложившейся ситуации. В середине этого дня на организованном мной совещании я рассказывал подчинённым, какие проекты есть и что мы хотим делать в дальнейшем, чего изучать и к чему стремится. “Чем вы хотите заниматься? Что вас интересует?" - мои вопросы повисали в воздухе, укладываясь атмосферой интереса ко всему, что я перечисляю, и доверия, на которое я могу опираться. Другими словами все ждали того, что и как я за собой поведу, главное чтобы это было интересно, и я декламировал, как чёртов Балмер “Разработчики, разработчки, разработчики! Мы хотим делать отличный продукт. Мы знаем как его делать. Мы - профессионалы!". И вечером в пабе за кружкой тёмного эля я вдруг понял после предложения друзей рассказать, что и как у меня, чтобы восполнить пробел в общении, что мне предстояло повести разговор - я понял, что когда ещё ничего нет, то надо проявлять лидерство и самому влиять на окружающее, строить будущее сегодня, нак которое можно опереться завтра.

Что есть сейчас

С утра у меня был готов план статьи и экспертизы, на почте лежал набор ссылок по теме.
Я отталкивался от сравнения Tizen с другими ОС. На рынке есть iOS, Windows, Android, Bada, а так же из Linux-лагеря в перспективе Ubuntu, и в прошлом MeeGo с LiMo. У каждогого есть свои преимущества и свои недостатки, но правильная стратегия - это использование ниши недостатков и продвижение своих преимуществ. Достаточно хорошо написано сравнение в этой статье. В кратце его можно пересказать следующим образом:

  • iOS и Windows
    + Единый и удобный интерфейс
    - Платформозависимость, код под разные устройства надо переписывать (телефоны, планшеты, ноутбуки\нетбуки, машины, телевизоры), не говоря уже о невозможности легкого портирования
    - Жесткая привязка к Store, да ещё и огромный процент с продаж
  • Bada
    Все приложения, разработанные на Bada SDK будут работать и на Tizen. В перспективе Tizen должен полностью заменить платформу Bada.
  • Android
    + кроссплатформенность
    + приложения могут быть доступный как через play, так и вовне его
    - Dalvik. Виртуальная машина Java. Медленная и корявая Java. И даже NDK с SL4A не слишком помогут. Все приложения GUI - через Dalvik.
    - Патентные войны (хотя и высосанные из пальца, но из-за них появляются странные костыли и извращения)
    - Протекция своих устройств со стороны Google, что добавляет риски в плане конкурентноспособности с устройствами от Google и зависимости другим вендорам
  • MeeGo, Ubuntu
    + полная linux-совместимость
    +- портирование (с linux это проще, но ценой каких костылей?)
    - громоздкость
    - отсутствие native приложений (не портов с linux) за исключением молодого WAC
  • Tizen Чтобы иметь возможность конкурировать с решениями на рынке у Tizen есть любопытные особенности:
    +- Приложения, написанные на HTML5
    + Платформонезависимость (благодаря linux-kernel Tizen может быть запущен почти на любых системах x86 или ARM
    + Возможность запуска Android-приложений (APK), что фактически помимо native-HTML5 приложений из WAC добавляет в Tizen почти что весь Google Play
    + Возможность использования разных фреймворков для разработчиков (Qt, GTK+, EFL). По умолчанию - EFL, но т.к. это Linux, в принципе никто не мешает звать HTML5 код из Qt (С++\Python)
    + MeeGo \ Bada совместимость, правда, с некоторыми нюансами.
    + Open Source Foundation

Личное мнение



На самом деле, несмотря на то, что заявленные возможности кажутся неплохими, и даже если часть из них будет успешно работать, то это можно посчитать успехом новой ОС. Но я позволю себе собственное мнение, несмотря на то, что Tizen в каком-то роде моё детище. Я не скажу, что я не верю в успех Tizen, но сегодня соперничать с Google настоящее если не самоубийство, то мазохизм. Несмотря на то, что Tizen - это не конкуренция того же Intel с Linaro, а именно кооперация Intel и Samsung, сильная движущая сила, что даёт серьёзные перспективы, надо признать, что Jelly Bean действительно хорош, даже несмотря на отсутствие Flash. Он замечателен. Его делают классные программисты, знатоки софта. А времена 80-х и начала 90х прошли, когда hardware-вендоры были ведущими на рынке технологий, что доказала своим успехом корпорация зла - Microsoft. Сегодня всё зачастую решает информация, чуть меньше - программа, и уж куда меньше - железо. Опыта у двух монстров в разработке софта хоть и не занимать, но это не Google. Они хорошие знатоки железа и оптимизации. Даже делая ОС в хорошей степени завершенности (наследие проекта MeeGo) с open source foundation - это не Google. Сегодня Android 4.1 много лучше iOS даже с её Retina, более гибкая и дружественная, чем Windows.

Так уж получилось, что я привык делать первоклассные продукты, лучшие в своём роде. Но Tizen в каком-то отношении - это испытание, если не крест для этого принципа. И чтобы ответить на вызов с честью, надо, безусловно, вложить все силы в работу и практику Tizen. Впрочем, я не столько скептически настроен, как многие (1, 2 3) по отношению к Tizen, чтобы утверждать, что он заведомо устарел и вообще на нём даже часы тормозят. У меня на это есть ряд объективных причин.

  • Во-первых, информации слишком мало, но даже среди той, что есть, множество неверной.
  • Во-вторых, фигурирующие в обзорах прототипы от Samsung - весьма сомнительные решения. Мне кажется, что это лишь констатация факта, что Tizen может быть запущен на любом устройстве. Но прежде, чем его запустить...


  • В-третьих, Tizen находится в статусе разработки. Даже несмотря на то, что Larkspur является версией 1.0, её ещё следует допилить, так же как ранние релизы Android. Для вендоров это означает, что нужна оптимизация и практика внедрения SBS, EFL и образов Tizen. Шлифовка и вылизывание каждой процессорной инструкции и каждого компонента класса. Маркетинг и дизайн.
  • В-четвёртых, скепсис людей, полученный мной от анонса Orange San Diego, связан с программно-аппаратными особенностями. В случае Tizen это будет веским подкреплением позиции Intel по отношению к Android - плохой оптимизации под многоядерность. В случае Tizen фигурируют перспективные чипы, основанные на Atom CE5310/5320 “Berryville". Эти чипы имеют, в отличие от Medfield, два ядра и собственную графическую подсистему. Что после впечатляющих результатов для одного ядра Medfield должно вызывать надежду на хорошую производительность на мобильных устройствах и невысокую стоимость, несмотря на на первый взгляд средние характеристики.



  • В-пятых, чтобы прыгнуть выше возможностей и ограничений виртуальной машины, выбран HTML5 в качестве программной основы. Мне кажется это неплохим решением - играть на опережение, опять-таки в отношении Google и Chrome OS \ надстроек над Android. Плюс, если будет недостаточна функциональность EFL, её можно сильно расширить, так и вовсе сменить на другой фреймфорк, что уже на этапе разработки привлечёт немало разработчиков на Android SDK и на Qt\Gtk+.

    Железячные компании умеют оптимизировать и работать с железом, а не использовать принцип конструктора и песочницы, что было изначальным принципом Google. Intel этого опыта работы с процессорами, компиляторами и памятью не занимать, как не занимать опыта проектирования устройств Samsung. Впрочем сейчас я вижу интересную тенденцию, что обе компании вкладывают миллиарды долларов в совершенствование программного обеспечения, и многое из него - open source. Приоритеты сменились и за рутиной соблюдения закона Мура для процессоров наступила, с лёгкой ноги Google, эра закона Мура для информации.

    Выводы

    Мне нравится сотрудничать и использовать опыт Google Android - они хорошие ребята. Мне нравится и интересен Microsoft Windows Metro интерфейс - они знают, как делать бизнес и ничего личного. Мы сотрудничаем и прислушиваемся к нашим коллегам, делимся опытом и взглядами. Но каждый из нас делает свою часть своего личного будущего, и чтобы оно было хорошим мы должны делать его хорошо.

    Нужно начать сегодня делать то, оценивать и делиться практикой того, что ещё не было воплощено ни в чём, кроме идеи. Поэтому, в конце концов, разработчики, тестировщики, даже менеджеры, делая daily-build’ы, прогоняя тесты, вылизывая окружение эмулятора, внося правки на основе бенчмарков, подпиливая функционал framework’a, делая отчёты, даже если результат не виден, делают очень важную работу.

    Мне же повезло, что я могу постоять на разных конях - Android, Tizen, Linux и вести свою упряжку своих рабочих лошадок туда, где ещё не ступала нога человека.

хард, программисты, софт

Previous post Next post
Up