17 октября 2013 года вышел релиз не только Ubuntu 13.10 Saucy Salamander, но и Ubuntu Touch 1.0 для мобильных платформ на кодовой базе 13.10. Что это дало разработчикам?
Обновление с помощью образов (Image based updates).
Завершённый SDK.
Изоляция приложения.
Пакеты Click и установщик click пакетов с AppStore.
Дисплейный сервер Mir и свой Window Manager.
Unity 8.
FAQ о Ubuntu Touch.
Обновление с помощью образов (Image based updates).
"Обновление через образы" (image based updates) - это новый способ получения обновлений в Убунту. В прошлом, все версии Убунту от серверных до десктопных использовали механизм apt. Apt - инструмент для управления пакетами Дебиан. Он может рассчитать все зависимости, необходимые для обновления системы. Apt хорош на десктопах и серверах, где поддерживаются сложные зависимости между пакетами. Все эти расчёты требуют вычислительную мощность хоста и, как многие видели в своей практике, не всегда разрешение зависимостей проходит гладко и иногда нужны опции, которыми администратор разрешал ситуацию. Ubuntu Touch будет работать на менее мощных устройствах и вопросы экономии энергии и затраченное время далеко не праздные, а главное, что всё должно быть гораздо надёжнее и без вcяких - запустите apt-get install -f. Эту задачу и должны разрулить с помощью механизма "обновление через образы".
Система в Ubuntu Touch отделена от пользовательских данных и приложений, которые расположены на своих разделах. В результате, при обновлении вашей Убунту Тач сервера Canonical могут узнать версию вашей системы и вместо долгого расчёта сложных зависимостей на вашем маломощном устройстве, сервер обновления может сам рассчитать и предложить бинарную разницу между вашим нынешним состоянием и актуальным. Остаётся лишь скачать бинарный дифф, применить его и вуаля! Данный подход позволяет не только облегчить жизнь мобильным платформам, но и ускорить обновление за счёт скачивания только дельт.
Всё это работает в беспроводных режимах типа 3G или Wi-Fi. Традиционный способ через Apt никто не отменял и его можно задействовать, переведя свой аппарат в system builder mode.
Подробнее в статье Механизм обновления Ubuntu Touch.
Завершённый SDK.
Для разработчиков приложений есть 3 способа создать приложение для Ubuntu Touch:
- WebApps.
- PhoneGap (называемый также Apache Callback, Apache Cordova).
- Ubuntu SDK.
Системы WebApps и PhoneGap обеспечат надёжными технологиями для доставки пользователям HTML5 приложений, таких на которые сделали ставку в такой операционной системе как FirefoxOS (это для примера).
Но если разработчик хочет создать родное приложение (native code), которые использует аппаратуру на все 100%, то есть SDK со средой разработки QtCreator, Qt библиотекой, Ubuntu UI Toolkit и множеством сервисов Ubuntu типа Friends API для доступа к социальным возможностям.
Подробнее в статье Ubuntu SDK и разработка ПО.
Изоляция приложения.
Ubuntu Touch запускает все приложения в песочницах AppArmor. AppArmor является системой упреждающей защиты (Mandatory Access Control - MAC ), работающей в ядре linux и гарантирующей, что процессы не смогут получить доступ к ресурсам, к которым у них нет прав. Так же это означает, что приложения не могут мешать друг другу или основной системе.
Это позволит пользователю находиться в безопасности от различных видов вредоносных программ, которые могут попытаться следить за другими приложениями или пробовать получить доступ к сервисам, к которым они не имеют права. Разработчики смогут создавать свои приложения, взаимодействующие с другими приложениями, через строго определённый и безопасный API. Одним из плюсов такого высокого уровня изоляции является тот факт, что приложениям уже не нужно будет проходить ещё один строгий контроль безопасности при одобрении приложения в AppStore.
Тесты показывают, что нужно менее 30 минут от публикации автором своей программы до появления её в Ubuntu AppStore, а значит у пользователей.
Подробнее в статье Процесс загрузки приложения в репозиторий Ubuntu.
Пакеты Click и установщик click пакетов с AppStore.
Ubuntu Touch, как операционная система для мобильных устройств, предлагает совершенно новую и гораздо более простую систему установки пользовательских приложений. Для других Ubuntu программы традиционно упаковывались в пакеты deb. Разработчик программ должен был познакомиться с данным форматом и с проблемой зависимостей.
Пакеты Click очень просты, так как приложения, упакованные в них, будут "зависеть" только от "base sdk", который будет в системе или идти с библиотеками самого приложения. Пакеты Клик были созданы с оглядкой на изоляцию в AppArmor, поэтому автору программ легко будет создать Click пакет своего детища, прямиком из QtCreator, и быстро доставить его пользователям через AppStore.
Подробнее в статье Пакеты Click.
Дисплейный сервер Mir и свой Window Manager.
Ubuntu Desktop всегда зависел долгие годы от протокола X11 (Xorg). Этой технологии более 20 лет и она создавалась для различных устройств, правда не тех, что доступны сейчас на рынке. Вальсируя между сложностью протокола и драйверов к старому протоколу, трудно поставлять пользователю стабильную и быструю систему. Написание оконного менеджера (Windows Manager) на вершине такой "старой сложности" не менее сложно, из-за различий в реализациях API в GPU драйверах.
Новый дисплейный сервер Mir призван решить эти проблемы, предлагая более простую библиотеку для разработчиков драйверов GPU и авторов различных Windows Manager.
Mir разработан так, чтобы работать на различных платформах, в том числе с Android драйверами. Сейчас дисплейный сервер Mir и window manager оптимизированы для работы на смартфонах и планшетах, но с каждым новым релизом системы десктоп так же будут получать новые улучшения и возможности.
Unity 8.
Последние образы Ubuntu Touch идут с Unity 8. Все улучшения launcher, который расположен на левой стороне, и индикаторов на верхней стороне легко доступны с помощью большого пальца, держа устройство одной рукой.
Подробнее в статье Впечатление об Ubuntu Touch. Края устройства.
FAQ о Ubuntu Touch.
Что такое Ubuntu Touch?
Ubuntu Touch - это кодовое название специальных образов Ubuntu, оптимизированной для работы на смартфонах и планшетах. Есть небольшие технические отличия как 1) обновляется мобильное устройство, 2) как приложения запускаются и устанавливаются, 3) и отличающийся (пока) дисплейный сервер. Однако, различия малы и цель Canonical - объединить под единой кодовой базой Убунту все разношёрстные устройства.
Где взять Ubuntu Touch и как её использовать?
Образы Ubuntu Touch сейчас основаны на кодовой базе Ubuntu 13.10 и сейчас корректно работают с устройствами Galaxy Nexus и Nexus 4. Кроме официально поддерживаемых устройств Nexus есть множество портов Ubuntu Touch для различных устройств. Все они перечислены на странице https://wiki.ubuntu.com/Touch/Devices и их можно штатно установить phablet-flash community --device
Ubuntu Touch будет работать на моём планшете?
Ubuntu Touch работает официально на Nexus 7 и 10. Однако, в связи с приоритетом работы Ubuntu на смартфонах и в недавнем отказе от SurfaceFlinger (рисовальщик окон в Android) и переходе на чистую связку Unity 8 + Mir, работа Ubuntu Touch на планшетах находится в состоянии early preivew stages. Фокусирование на планшетах будет в рамках релиза Ubuntu 14.04 Trusty Tahr.
Разработка Ubuntu Touch для смартфона завершена?
И да и нет. Ubuntu 13.10 позволила выпустить Ubuntu 1.0. Многие разработчики используют свои смартфоны под управлением Ubuntu Touch в своей жизни (англ. dogfooding). Однако, пока нет двух вещей, которые скоро появятся. Во-первых, нет экрана блокировки. Во-вторых, до конца не реализован режим в полёте (airplane). Новый этап в разработке Ubuntu 14.04 принесёт новые улучшения и возможности.
Могу ли я запустить любимое приложение на моём телефоне под управлением Ubuntu Touch?
Это зависит от приложения. Если ваше приложение из разряда веб приложений, то вы счастливчик. Ubuntu Touch будет поставляться множеством веб приложений, созданных за всё это время. Однако, если приложение требует обязательно клавиатуру и мышь, то такое приложение нужно сначала портировать на UT.
Могу ли я использовать Десктоп на своём телефоне как в демо роликах?
Эти презентации показывает конечную цель Canonical - конвергенция. Конвергенция - единение всех устройств со своими различными возможностями под единой Ubuntu. В Ubuntu 13.10 сделан ещё один серьёзный шаг. Многие приложения из Ubuntu Desktop и Ubuntu Touch это одни и те же программы! Тем не менее, Ubuntu пока ещё не обладает всеми возможностями десктопа, когда на мобильной платформе воткнута в док-станцию. Ещё многое предстоит сделать, но всё развитие направлено на достижение этой цели.
Из новенького - рекомендуется мастер класс от разработчиков XDA, которые покажут как установить Ubuntu Touch на Nexus 7 (2012).
Дополнительные материалы:
Ubuntu на планшете.
Вопросы и ответы про новый дисплейный сервер Mir.
Mir и Android.
Mir и Android GPU.
Пакет Click в Ubuntu 13.10.
Как Unity 8 объединит всех.
Новая модель работы приложений в Ubuntu.
Моё тестирование Ubuntu Touch на Asus Nexus 7.
Правила AppArmor.
Немає коментарів:
Дописати коментар