Google усиленно работает над третьей операционной системой после Android и Chrome OS. Это операционная система реального времени с открытым исходным кодом под названием «Fuchsia». ОС впервые появилась в августе прошлого года, но тогда это была просто командная строка. Теперь у загадочного проекта есть сумасшедший новый интерфейс, на который мы можем взглянуть.
В отличие от Android и Chrome OS, Fuchsia не основана на Linux — она использует новое микроядро, разработанное Google, под названием «Magenta». С Fuchsia Google отказался бы не только от ядра Linux, но и от GPL: операционная система лицензируется как сочетание BSD 3, MIT и Apache 2.0. Отказ от Linux может вызвать некоторый шок, но экосистема Android, похоже, не желает идти в ногу с предыдущими версиями Linux. Даже Google Pixel все еще застрял на ядре Linux 3.18, которое было впервые выпущено в конце 2014 года.
В документации Google описывается Magenta как нацеленная на «современные телефоны и современные персональные компьютеры с быстрыми процессорами, нетривиальным объемом оперативной памяти с произвольными периферийными устройствами, выполняющими открытые вычисления». Google не сделал никаких публичных официальных комментариев о том, почему существует Fuchsia и для чего она предназначена, оставив нам только предположения. Выкрик «современный телефон», безусловно, звучит как нечто, что в конечном итоге может составить конкуренцию Android, но на данный момент ОС настолько ранняя, что трудно сказать.
Говорить о Fuchsia невозможно, не упомянув сотню других родственных проектов, также имеющих кодовые названия. Интерфейс и приложения написаны с использованием Google Flutter SDK , проекта, который фактически создает кросс-платформенный код, работающий на Android и iOS. Приложения Flutter написаны на Dart, перезагрузке JavaScript от Google, который на мобильных устройствах ориентирован на высокопроизводительные приложения со скоростью 120 кадров в секунду . Он также имеет графический рендерер на основе Vulkan под названием «Escher », который перечисляет «Объемные мягкие тени» в качестве одной из своих функций, которая создана для выполнения руководств Google по теневому интерфейсу «Material Design».
Все это приводит нас прямо сейчас к интересному моменту: интерфейс Fuchsia написан с помощью Flutter SDK, который является кроссплатформенным. Это означает, что прямо сейчас вы можете взять куски Fuchsia и запустить их на устройстве Android. Fuchsia впервые стала публичной в августе 2016 года, но тогда ее компиляция не дала вам ничего, кроме командной строки. Пользовательский интерфейс Fuchsia System под названием «Armadillo» на самом деле сейчас довольно интересен.
Можно загрузить исходный код и скомпилировать пользовательский интерфейс Fuchsia System UI в Android APK и установить его на устройство Android. Он состоит из безумного переосмысления домашнего экрана вместе с клавиатурой, домашней кнопкой и (своего рода) оконным менеджером. На самом деле ничего не «работает» — это набор интерфейсов-заполнителей, которые ничего не делают. В источнике Fuchsia также есть отличный файл readme, который описывает, что в реальности происходит.
Главный экран представляет собой гигантский список с вертикальной прокруткой. В центре вы увидите изображение профиля (заполнитель), дату, название города и значок батареи. Над карточками «Истории» — в основном «Недавние приложения» — а под ними — прокручиваемый список предложений, вроде как заполнитель Google Now. Покиньте главный экран, и вы увидите всплывающую кнопку «домой» цвета Fuchsia в нижней части экрана, которая представляет собой всего лишь один белый кружок.
На центральное изображение профиля можно нажать, и здесь меню, немного похожее на быстрые настройки Android. Верхний ряд значков показывает аккумулятор и подключение. Ниже ползунки для регулировки громкости и яркости, а также значки для режима полета, «Не беспокоить» и автоповорота. Вы можете взаимодействовать с кнопками и ползунками, но на Android они фактически ничего не делают. Ниже находятся кнопки «выйти» и «еще», которые вообще не работают.
Над разделом профиля находится пачка карточек с надписью «История». В файле readme рассказы описываются как «набор приложений и модулей, которые работают вместе для достижения пользователем цели». Это кажется довольно близким к недавнему списку приложений, возможно (в конечном итоге) с какой-то функцией группировки. Нажатие на любую карту загрузит ее как полноэкранный интерфейс, а поскольку одна из них помечена как «электронная почта», совершенно очевидно, что это приложения. Список отсортирован по «последнему открытому», поэтому самые последние использованные карты будут располагаться внизу списка.
В этом списке также есть некоторые функции управления окнами. Вы можете долго нажимать на карточку и перетаскивать ее, и если вы поместите ее поверх другого приложения, это вызовет режим разделения экрана. Система с разделенным экраном кажется действительно способной, и, вероятно, ее нужно немного изменить. Вы можете сделать разделение 50/50 по вертикали или по горизонтали. Вы можете перетащить третье приложение и разделить 33/33/33 по горизонтали или вертикали, или разделить 50/50 рядом с приложением во всю высоту, или отобразить панель вкладок для трех полноэкранных интерфейсов. Вы можете перетащить четыре приложения и разделить 75/25 с одной стороны экрана и 25/75 с другой, а затем вы можете продолжать перетаскивать приложения, пока все не выйдет из строя. Вернитесь к списку историй, и вы увидите, что макет разделенного экрана также отражается на карточке, что приятно.
Нижняя панель «Google Now» начинается с макета панели поиска. При нажатии на нее появится клавиатура, но это не системная клавиатура Android, а пользовательский интерфейс Fuchsia. У него новая темная тема, и такие вещи, как долгое нажатие для символов или настроек, не работают. Ниже это похоже на Google Now, в котором есть несколько карточек с «предложениями». Они, кажется, немного отличаются от предложений новостей, погоды и календаря Google Now, хотя в документах говорится: «Концептуально предложение — это представление действия, которое пользователь может предпринять, чтобы дополнить существующую историю или начать новую». Это почти делает его похожим на средство запуска приложений.
С любым новым проектом в Google трудно предугадать масштаб проекта. Это «20-процентный» проект, о котором через год забудут, или что-то более важное? К счастью, у нас есть прямое заявление от разработчика Fuchsia по этому поводу. В общедоступном IRC-канале Fuchsia разработчик Fuchsia Трэвис Гейзельбрехт сказал в чате, что ОС «не игрушка, это не проект на 20%, это не свалка мертвых вещей, которые нам больше не нужны. »
Android был задуман задолго до появления iPhone. Она начиналась как ОС для камер, а затем стала клоном BlackBerry, а затем была быстро переоборудована после презентации iPhone. С Android Google по-прежнему привязан к решениям, которые он принял много лет назад, еще до того, как узнал что-либо об управлении мобильной ОС, которая поставляется на миллиардах смартфонов. Две самые большие проблемы с Android:
- Получение обновлений ОС в сторонней аппаратной экосистеме
- Отсутствие внимания к плавной работе пользовательского интерфейса.
Хотя о плане обновления ничего не было сказано, зависимость ОС от языка программирования Dart означает, что она ориентирована на высокую производительность.
Fuchsia действительно кажется проектом, который задается вопросом: «Как бы мы разработали Android сегодня, если бы могли начать все сначала?» Это совершенно новое ядро, разработанное Google, на котором запущен совершенно новый SDK, разработанный Google, который использует совершенно новый язык программирования, разработанный Google, и все это предназначено для максимально быстрого запуска интерфейса Material Design от Google. Google может избавиться от Linux и GPL, он может избавиться от Java и проблем, которые она вызвала с Oracle, а Google может фактически изолировать себя от всех восходящих проектов Android и перенести всю разработку внутри компании. Сделать такое в масштабе Android сегодня было бы масштабным проектом.
Самым сложным может быть даже не разработка ОС, а разработка какого-то плана перехода с Android, которая стала самой популярной операционной системой в мире. «Кроссплатформенность» Flutter SDK кажется важной для плана перехода. Если бы Google мог заставить разработчиков начать писать приложения на Flutter, он бы создал экосистему приложений, работающую на iOS, Android и, в конечном итоге, на Fuchsia. Google также показал, что он может и хочет заставить Android Runtime работать на платформах, отличных от Android, с Chrome OS , поэтому, если Google все же решит реализовать план перехода, возможно, он сможет перенести весь стек Android на Fuchsia в качестве временное приложение-решение.
Еще в августе, когда Fuchsia стала публичной, Гейзельбрехт сказал IRC-каналу Fuchsia: «Проект Magenta [стартовал] около 6 месяцев назад», что должно было произойти где-то в феврале 2016 года. Android оставался внутри Google около пяти лет, прежде чем он был запущен на реальном товар. Если Fuchsia пойдет по тому же пути и все пойдет хорошо, возможно, мы сможем ожидать появления потребительского продукта где-то в районе 2020 года. Опять же, это Google, так что все это может быть отменено, прежде чем оно когда-либо увидит свет. Впереди у Fuchsia долгий путь.