Компания HP представила план открытия платформы webOS и открыла код фреймворка Enyo
26 января 2012 года
Компания Hewlett-Packard представила план открытия кода мобильной платформы webOS, который подразумевает перевод в разряд открытых всех компонентов платформы и создание специальной некоммерческой организации, которая будет курировать развитие проекта и принимать связанные с ним решения. В сентябре планируется выпустить первый релиз открытого варианта платформы webOS. Код будет открыт под лицензией Apache 2.0.
В качестве первого шага на пути к превращению webOS в открытый проект объявлено об открытии кода фреймворка для быстрой разработки мобильных приложений Enyo 2.0. Код Enyo уже доступен для свободной загрузки с GitHub. Enyo представляет собой объектно-ориентированный фреймворк для создания приложений на языке JavaScript с использованием стандартных web-технологий, продвигающий идеи модульности и инкапсуляции. Если первая версия фреймворка позволяла создавать приложения только для платформы webOS, то релиз Enyo 2.0 существенно расширяет область применения и теперь позволяет создавать универсальные программы, работающие в соответствии с парадигмой - "написано один раз, работает везде". Созданное с использованием Enyo 2.0 приложение будет работать не только на мобильных платформах, таких как webOS, Apple iOS и Android, но также и в обычных web-браузерах для настольных систем, включая Chrome, Firefox, Safari и Internet Explorer.
Разработка приложений с использованием Enyo мало чем отличается от написания обычных web-приложений - программа представляет собой каркас на HTML, в котором загружается JavaScript-библиотека Enyo; логика работы формируется в JavaScript блоках; интерфейс строится с использованием элементов "div". Ядро библиотеки Enyo занимает всего 13 Кб в сжатом виде. Enyo использует простую, но мощную модель инкапсуляции, позволяющую разбивать функциональность приложения на автономные блоки, которые легко поддерживать и которые могут быть повторно использованы в других проектах. Каждая часть использующего Enyo приложения является "компонентом" (базовый класс Component), при этом все компоненты строятся на базе других компонентов. Например, разработчик может создать на базе тегов input и label компонент LabeledInput и в дальнейшем использовать его как неделимое целое. Модель инкапсуляции Enyo подразумевает отсутствие нераздельных больших частей кода, вместо которых предлагается использовать совокупность небольших и неусложнённых компонентов. Подобный подход позволяет значительно упростить разработку и поддержку больших и сложных проектов.
В настоящее время полностью открыт код Enyo 1 и код ядра Enyo 2. Представляющая особенный интерес библиотека готовых виджетов, которые можно использовать для создания пользовательских интерфейсов, и связанный с ней тулкит будут открыты в следующие несколько месяцев. В марте планируется выпустить совместимый с Enyo 2 пакет виджетов, изначально созданных для Enyo 1. Примечательно, что если ядро Enyo 2 не зависит от типа браузера, то некоторые элементы Enyo UI используют специфичные возможности WebKit, что ограничивает их использование браузрами и мобильными платформами, базирующимися на WebKit. В апреле будет выпущена полнофункциональная интегрированная среда разработки приложений Ares 2, работающая внутри браузера.
Что касается планов по открытию webOS, то в первой половине года компания HP намерена представить код отдельных элементов платформы - от кода базовой системы на основе ядра Linux и пользовательской оболочки до кода конечных приложений, таких как почтовый клиент и календарь-планировщик. Полностью завершить открытие всей кодовой базы webOS планируется в сентябре, тогда же будет сформирован первый открытый релиз. Среди интересных проектов, которые в ближайшее время будут открыты, можно отметить (Архивная копия от 22 октября 2014 на Wayback Machine) развиваемую силами HP сборку web-движка WebKit, которая поддерживает не только HTML5, но и позволяет использовать плагины Silverlight и Flash. Используя данную сборку WebKit, можно выполнить отрисовку web-страниц в виде HTML Canvas и 3D-текстур, а также использовать расширенные методы ввода, такие как мультитач. Также планируется выпустить вариант ядра Linux и улучшить интеграцию с JavaScript через реализацию регистрации callback-вызовов, а также использовать собственную многопроцессную архитектуру для обеспечения безопасности, механизмы балансировки нагрузки и дополнительные возможности по восстановлению после сбоев. Для хранения данных в открытом варианте платформы webOS будет задействована БД LevelDB.
План открытия кода:
- Январь: открытие кода Enyo 2.0 и Enyo 1;
- Февраль: Подготовка модели организации управления разработкой. Открытие кода расширений к Qt WebKit, движка JavaScript и набора виджетов UI Enyo;
- Март: Публикация наработок, связанных с ядром Linux и БД LevelDB. Открытие расширений к EGL и USB-подсистеме.
- Апрель: Выпуск среды разработки Ares 2.0 и обновления фреймворка Enyo 2.1. Открытие кода сервисов для Node.js;
- Июль: Открытие системного менеджера Luna, шины для взаимодействия компонентов системы, базовых пользовательских приложений. Выпуск обновления фреймворка Enyo 2.2;
- Август: Доступность инструментария и модели для сборки релизов, выпуск бета-версии проекта Open webOS;
- Сентябрь: Релиз Open webOS 1.0.
Передавая webOS в руки сообщества, компания HP надеется, что сочетание инновационной природы webOS с открытым характером разработки позволит привлечь к проекту новых участников и значительно расширить число приложений и сервисов для мобильных устройств следующего поколения. При этом HP не пытается отстраниться от проекта, а намерена продолжить участие в жизни webOS как активного участника разработки и инвестора. Организация, которой будут переданы полномочия управления разработкой webOS, будет предельно прозрачной и независимой - но чтобы исключить фрагментацию проекта, контроль над развитием webOS будет централизован в руках специально сформированного управляющего совета.
WebOS является многозадачной ОС и отличается тесной интеграцией с интернет-технологиями и широким использованием web-приложений. Весь пользовательский интерфейс WebOS оформлен с использованием CSS, HTML5 и JavaScript. Для разработки приложений на языках C/C++ и для организации прямого доступа к низкоуровневому API платформы доступен Plug-in Development Kit. Обмен данными между приложениями построен на основе шины, манипулирующей данными в формате JSON. Для доступа web-приложений к системному API используется D-Bus Bridge. В качестве основы платформы выступает браузерный движок WebKit. Вместо окон в webOS используется парадигма сменяющих друг друга карт. Поддерживается навигация через жесты и одновременные касания к экрану (мультитач режим). Среди особенностей webOS поддержка бесшовного обмена данными между устройствами, при котором пользователь планшета TouchPad может передать ссылку пользователю телефона Pre 3 просто приблизив аппараты и перетащив ярлык. В стандартной поставке имеются штатные утилиты, подобные ssh, cp, vi, grep, find, diff, top, tar и gzip.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.