Таинственная ОС Google Fuchsia получит поддержку языка программирования Apple Swift. Новую ОС Google (Fuchsia) запустили на девайсе

Компания Google совершенно новую операционную систему. В отличие от всех других ОС американской корпорации, она предназначена для любых типов устройств, а не для какого-то определённого типа, а в основе её ядра лежит не Linux, а собственная разработка Google.

Что нам известно об этой операционной системе?

Название

Новая ОС будет называться Fuchsia - фуксия (существует такой цвет). По крайней мере именно под таким названием она сейчас фигурирует в проекте на сайте GitHub. Такое название Google объясняет смешением двух цветов, розового с пурпурным - «Pink + Purple == Fuchsia (a new Operating System)». Почему были выбраны именно эти цвета, не совсем понятно, но поскольку Google традиционно использует названия цветов в наименованиях ядер своих ОС, можно предположить, что в Fuchsia объединятся два ядра (для мобильных и десктопных ОС).

Официальное подтверждение

Google ещё не представила эту операционную систему официально, однако подробности о ней раскрыты на странице проекта на сайте GitHub . К примеру, там сказано, что Fuchsia создаётся не на ядре Linux. Ядро Fuchsia является развитием ядра LittleKernel и разработано инженерами Google. Оно называется Magenta (маджента) и создаётся в качестве аналога операционных систем FreeRTOS и ThreadX, которые используются в интернете вещей. Также известно, что Fuchsia будет поддерживать 32- и 64-битные процессоры ARM и 64-битную архитектуру ПК.

Так что же такое Fuchsia?

Fuchsia - новая операционная система, которая будет работать на разных типах устройств, в том числе на смартфонах и компьютерах. Она будет самой универсальной и масштабируемой из всех существующих. Скорее всего, именно она в будущем заменит собой все другие ОС, разработанные Google, в том числе Android и Chrome OS. Есть и другой вариант возможного применения Fuchsia - во встроенных системах, таких как роутер OnHub или «умная колонка» Google Home. Один из разработчиков системы Трэвис Гейзельбрехт пообещал , что в скором времени будет выпущена версия Fuchsia для микрокомпьютеров Raspberry Pi 3.

Куда денется Android и Chrome OS?

Google зашла в тупик с Android и Chrome OS. Уже несколько лет компания вынашивает планы по объединению этих операционных систем и недавно добавила в Chrome OS поддержку Google Play Маркета и запуска приложений и игр для Android. В Android 7.0 должна была появиться поддержка многооконного режима, но в финальной версии Nougat она не будет реализована из-за технических сложностей. Кроме того, Google старательно пытается избавиться от использования Java в Android, и переход к Fuchsia позволит компании окончательно уйти от этой технологии.

В 2016 году стало известно, что Google начинает работу над новой операционной системой - альтернативой Android. С тех пор об этом ничего не было слышно, однако в мае прошлого года был обнародован ранний дизайн домашнего экрана Fuchsia OS. Затем появились скриншоты системы, работающей на Pixelbook, из чего можно сделать вывод, что Fuchsia впоследствии может стать альтернативой как Android, так и Chrome OS. Кроме того, появилась неофициальная демоверсия системы, работающая прямо в браузере.

С возобновлением внимания к новой операционной системе от Google было бы неплохо собрать воедино всю известную о ней информацию и понять, что она из себя представляет и что в ней такого интересного.

Интерфейс

Первое, что бросается в глаза, - масштабный Material Design. Графический интерфейс Fuchsia отображается с помощью собственного физически корректного (physically based) рендерера Escher. Окна, уведомления, кнопки и прочее аккуратно расположено на экране, что придаёт глубину виду. Обои уже выглядят не как плоская картинка, которая прячется за приложениями, а больше похожи на вид из ближайшего окна.

На данный момент Fuchsia предлагает два вида: новый мобильно-ориентированный дизайн под именем Armadillo и более привычный для десктопа Capybara. Armadillo уходит от привычной модели иконок и меню с приложениями в сторону сочетания недавних приложений, быстрых настроек и вашего Google Feed. Capybara пока находится в незавершённом состоянии: в наличии имеется только панель задач, где можно видеть время, место для быстрых настроек и что-то напоминающее кнопку включения.

Вот как выглядел Armadillo в прошлом году:

В каждом случае приложения открываются в своих собственных карточках или же несколько приложений разделяют одну карточку. Некоторые предложения из Google Feed напрямую откроют сразу два приложения в одной карточке для комбинированного взаимодействия. В общем, это выглядит как интересная эволюция традиционной модели «приложение–домашний экран», которая больше фокусируется на самих задачах, нежели на отдельных приложениях.

Виртуальные ассистенты

С самого начала создаётся впечатление, что Fuchsia создана для интеграции с Google Assistant. Каждый элемент на экране, всё, что вы делаете, и всё, что вы можете сделать, видит Google Assistant. По крайней мере, если судить по текущей информации о Fuchsia.

При удержании кнопки «Домой» ассистент в Android может проверять экран на наличие информации, которую он может использовать, однако похоже, что Fuchsia позволит зайти ещё дальше. Например, вы можете искать в браузере отзывы на рестораны, затем открыть календарь, чтобы проверить дату, и потом сказать: «Окей, Гугл, пригласи Катю на обед», и ассистент учтёт ваши предыдущие действия.

У ассистента будет доступ ко всем «сущностям», будь то человек, место, предмет, событие или концепция, представленная в рамках платформы Fuchsia. Что примечательно, разработчики добавили доступ к сущностям из прошлого. Ассистент сможет взаимодействовать с сущностями в текущем контексте или с теми, что он видел ранее.

Кроссплатформенность

В современном технологическом мире у большинства людей есть несколько устройств: смартфон, планшет, ноутбук и другие. Судя по текущему состоянию Fuchsia, Google хочет, чтобы она органично работала на всех этих устройствах.

Обычно проблема заключается в сохранении прогресса и контекста. И здесь на помощь приходит Ledger: после того как вы залогинились в аккаунте Google, все приложения автоматически сохраняют своё состояние на всех устройствах. Google описывает Ledger как «распределённую систему хранения для Fuchsia» - всё хранится в облаке.

Идея звучит футуристично, но здорово: закройте Chrome на телефоне, затем откройте его на ноутбуке, и все вкладки будут на своих местах. Забыли сохранить документ на работе? Просто откройте приложение на телефоне и сохраните. Батарея разрядилась прямо в середине исследовательского проекта? Просто зайдите с любого другого устройства и продолжите работу там, где закончили.

Кроме того, из-за отсутствия разницы между Fuchsia для десктопа и для мобильных устройств у некоторых не будет нужды использовать и то, и другое. Теоретически можно будет просто использовать телефон в связке с док-станцией вроде DeX от Samsung или Project Linda от Razer и пользоваться системой словно на десктопе.

Архитектурные преимущества перед Android/Chrome OS

В отличие от Android и Chrome OS, Fuchsia построена на собственном микроядре Zircon, а не на Linux. Zicron основано на модели мандатных ссылок (capability-based); в отличие от модели прав, где ресурсы существуют в глобальном пространстве и возможность доступа к ресурсам определяется наличием у процесса определённых прав, в Zicron доступ к ресурсам осуществляется через специальные ссылки (handles), что делает систему более устойчивой и безопасной.

Fuchsia для разработчиков

Этот проект Google направлен на широкий спектр разработчиков. Большая часть UI написана на Dart (языке, который покажется знакомым разработчикам на JavaScript и Java) с помощью фреймворка Flutter. Также есть поддержка Go, другого языка от Google. Системные программисты будут рады возможности работать на Rust. Также Google хочет привлечь внимание разработчиков под продукты Apple за счёт поддержки Swift.

Вишенкой на торте является нативная поддержка совместимости большинства этих языков. Например, через протокол FIDL код UI на Dart может напрямую взаимодействовать с бэкендом на Go. Это даёт разработчикам возможность быть более выразительными и использовать для работы лучший язык.

Так, ну и когда я смогу всё попробовать?

А вот с этим всё не так просто. Хоть Fuchsia в её текущем состоянии и выглядит симпатично, функциональности ещё предстоит пройти долгий путь. У неё даже нет полностью функционирующего браузера, хотя порт Chrome находится в разработке. И если вы видели демонстрацию на Pixelbook, то вы знаете, что там есть куда расти.

Итак, мы увидели определённые подвижки в работе над Fuchsia, однако всё по-прежнему находится в подвешенном состоянии. Судя по тому, что мы имеем, раньше 2019 года (а то и позже) ожидать устройств на Fuchsia не стоит. И кто знает, что может измениться до выхода ОС на рынок?

Ровно неделю назад в сети появилась информация о новой операционной системе, которую разрабатывает корпорация Google. Эта ОС, в отличие от прошлых проектов компании, не основана на Linux. Fuchsia разрабатывают с нуля, взяв в качестве основы лишь (L)ittle (K)ernel и Magenta.

Изначально специалисты предположили, что новинка предназначена исключительно для «Интернета вещей». Но оказалось, что Fuchsia подходит и для установки на полноценные рабочие станции. Так что это все-таки за проект и зачем он нужен? Ситуацию немного прояснил Гэри Симс (Gary Sims), скомпилировавший и изучивший особенности этой операционной системы.

Собираем Fuchsia

Симс скомпилировал ОС (инструкция по сборке - ) на компьютере с 64-х битной версией Ubuntu. Кроме того, тоже можно сделать и в среде OS X или ПК с практически любым дистрибутивом Linux.

Как уже говорилось выше, Fuchsia состоит из двух частей. Это (L)ittle (K)ernel, небольшая и быстрая ОС, созданная для IoT девайсов. Размер ядра этой ОС всего 15-20 КБ, исходники можно (распространяется по лицензии MIT). Вторая часть - это Magenta, которая используется в современных устройствах с мощной (по сравнению с IoT системами) конфигурацией. Таким образом, Fuchsia является гибридной системой, которая может работать и на IoT устройствах, и на современных ПК или телефонах. ОС поддерживает Dart, JSON, SSL, Google GO, LLVM и Rust.

Для сборки Fuchsia нужен ряд программных инструментов и библиотек, включая простую командную оболочку “mxsh”. После того как все это получено, можно собирать LK/Magenta. Если все готово, можно загружать и Magenta.

Запускаем Fuchsia OS

Наиболее простой способ запустить Fuchsia OS - использовать qemu , это свободная программа с открытым исходным кодом для эмуляции аппаратного обеспечения различных платформ. Она включает в себя эмуляцию процессоров Intel x86 и устройств ввода-вывода. Исходники Fuchsia содержат собственную копию qemu, которая собирается в процессе общей сборки ОС.

При загрузке Fuchsia мы получаем большое количество отладочных сообщений, которые появляются по ходу загрузки ОС. Первое сообщение приветствует пользователя сообщением «welcome to lk/MP”, после чего инициализируется ряд подсистем, необходимых для запуска ОС. После этого идет определение процессора, сетевых устройств и прочих элементов системы. Если все прошло гладко, пользователь получает доступ к командной оболочке mxsh.

Оболочка содержит ряд встроенных команд, включая cd, cp, echo, ls, и rm. Если вы решите набрать слово, которое не является командой, оболочка попробует найти и запустить одноименную программу из директории /boot/bin/. В этой директории много различных исполняемых файлов, большинство которых предназначены для проверки работоспособности Fuchsia. Есть и файлы программ вроде fortune и cowsay.

Fuchsia поддерживает язык программирования Dart, созданный корпорацией Google. Изначально он позиционировался как замена Javascript. Сейчас Google использует этот язык для своих собственных проектов, включая Adwords. Работать с Dart можно либо компилируя исходники в Javascript, либо работая с собственной системой Dart VM. Второй способ используется в Fuchsia.

Для того чтобы опробовать скомпилированную ОС, можно запустить Dart-скрипт из /boot/apps. Он называется hello_fuchsia.dart. Если все работает правильно, в консоли появится надпись “Hello, Fuchsia!”

Для чего все это?

Одно то, что Fuchsia может выводить текстовую фразу, означает, что это сложная ОС, способная обеспечить работу интерпретатора и выполнение скрипта. Как видим, компиляторов С, Java и т.д. здесь нет, но Dart есть и работает. Поскольку корпорация вложила много средств и усилий в разработку этого языка программирования, можно ожидать, что Fuchsia и Dart будут широко использоваться на различных системах в будущем. Это может быть IoT устройство, бытовой гаджет, шлем виртуальной реальности и т.п.

В Fuchsia для создания пользовательского интерфейса использован Flutter. Обнаружен и Escher, поддерживающий ряд визуальных эффектов. Это может означать, что инженеры Google планируют использовать Material Design в своей новой системе.

Неясного о Fuchsia остается еще много. Главный вопрос все же остается прежним - в каких системах планируется использовать эту ОС? Ожидать, что она создана в качестве альтернативы Android OS не стоит, ведь для того, чтобы программный продукт, в особенности, операционная система стал успешным, нужно активное сообщество разработчиков, каталог приложений и т.п. Google вложил сотни миллионов долларов в Android и вряд ли собирается что-то поменять.

Относительно этой ОС есть еще одна интересная теория. Возможно, Google разрабатывает Fuchsia для того, чтобы иметь операционную систему, с которой не будет проблем в плане интеллектуальной собственности. Корпорация разрабатывает эту платформу самостоятельно, с нуля, поэтому в ней нет элементов, которые являются чьей-то интеллектуальной собственностью. В Android, например, такие элементы есть, и их немало, что определенных проблем.

Одно можно сказать с уверенностью - Fuchsia уже здесь и работает. Графического интерфейса пока нет, возможно, его и не будет. Количество команд и поддерживаемых библиотек пока что очень ограничено. Разработчики Fuchsia

Вот уже более двух лет в Google создают операционную систему нового поколения. Ее разработчики надеются, что со временем их детище заменит самую популярную сегодня в мире ОС — Android. Однако, пишет выяснившее некоторые подробности проекта Bloomberg, для этого предстоит преодолеть острые внутренние разногласия и убедить в жизнеспособности Fuchsia ("Фуксия" — так называется новая ОС) руководство компании.

Fuchsia создавалась с нуля, чтобы преодолеть некоторые "врожденные" ограничения Android: облегчить голосовое управление, упростить регулярные обновления системы безопасности и предложить универсальный пользовательский интерфейс, который одинаково хорошо подстраивался бы под самые разные устройства — от ноутбуков до крошечных устройств "интернета вещей".

С Android реализовать вездесущие, глобальные, основанные на ИИ пользовательские сервисы — так видит будущее Google ее глава Сундар Пичаи — будет непросто. Одно из ограничений ОС — зависимость Google от десятков производителей устройств, каждый из которых модифицирует систему по-своему.

Начиная с 2016 года разработчики Fuchsia без громких анонсов выкладывают создаваемый по модели open source код онлайн, позволяя сторонним разработчикам модифицировать его. Ведутся эксперименты с приложениями для Fuchsia — например, обеспечивающими ее работу на интерактивных дисплеях или добавляющими в YouTube голосовые команды.

Однако участники команды Fuchsia (сейчас это около сотни человек — небольшая группа по меркам Google) обсуждают более масштабный план, утверждают источники Bloomberg: создать ОС, на которой смогли бы работать все гаджеты Google, от ноутбуков и смартфонов Pixel до "умных" колонок, а также устройства других производителей, которые сейчас используют Android или Chrome OS.

Сейчас обсуждается такой план: в течение ближайших трех лет Fuchsia начнут устанавливать на "умные" колонки, затем — на более крупные устройства вроде ноутбуков, а в конце концов, надеются разработчики, их система заменит Android — ОС, на которой сейчас работают более трех четвертей смартфонов в мире. Источник Bloomberg утверждает, что по плану это должно случиться в течение пяти лет.

В то же время, гендиректор Google Сундар Пичаи и его заместитель Хироси Локхаймер, курирующий Android, пока не утвердили какой-либо план развития Fuchsia. Любые шаги, затрагивающие будущее Android, будут делать максимально осторожно, так как от этой ОС зависят десятки производителей устройств, тысяч разработчиков ПО и миллиарды долларов рекламной выручки. Кроме того, операционка находится под прицелом антимонопольных органов (на этой неделе Google из-за ограничения конкуренции в экосистеме Android).

В команде Fuchsia нет согласия по многим вопросам, например о том, как ОС будет обращаться с пользовательскими данными и сможет ли глобальная рекламная машина Google работать на ней так же успешно, как на Android и Chrome (пока рекламщики побеждают сторонников приватности). Тем не менее, источники издания утверждают, что Сундар Пичаи неофициально высказал поддержку проекту. В работе над операционкой, в частности, помогает легендарный Матиас Дуарте, ранее руководивший разработкой Material Design — лаконичного "языка дизайна", применяемого сейчас в большинстве продуктов Google.

У поисковика есть шанс при помощи Fuchsia исправить ошибки, допущенные десять лет назад, когда Android-смартфоны только начали выпускать — например, обеспечить регулярные обновления ПО. Выпускать их для Android большинство производителей не торопятся, поскольку им выгоднее продавать новые устройства. Кроме того, десять лет назад никто еще не задумывался о голосовых интерфейсах, а в Fuchsia функции распознавания речи и голосовых команд лежат в основе ОС. Fuchsia также может помочь избавиться от устаревших элементов ядра Linux и претензий Oracle на используемый в Android код Java.

Наконец, пишет Bloomberg, у проекта Fuchsia в Google есть еще одна функция, скорее организационного характера — работать над новой ОС опытным разработчикам высшей квалификации куда интереснее, чем над шлифовкой Android или оптимизацией алгоритмов таргетирования рекламы. Если бы не Fuchsia, этих людей было бы легче переманить конкурентам. "Это проект по удержанию в компании старших разработчиков", — так охарактеризовал Fuchsia один из собеседников издания.

О проекте Google под кодовым названием Fuchsia впервые стало известно . Это проект по созданию новой универсальной ОС с открытым исходным кодом, которая, в отличие от Android, не использует ядро Linux. Вместо этого в ней используется микроядро Zircon (прежнее название Magenta). Весной этого года , позволяющие оценить дизайн интерфейса этой таинственной ОС, у которой даже есть собственной название Armadillo, а на прошлой неделе сообщество разработчиков всколыхнула новость о том, что Google форкнула Swift, разработанный Apple популярный мультипарадигмальный компилируемый язык программирования общего назначения.

Позднее один из разработчиков Swift Крис Латнер, который с недавнего времени , пролил свет на ситуацию. Теперь же выяснилось, что планы Google в отношении языка программирования Apple Swift гораздо шире.

Ресурс Android Police обратил внимание на несколько последних изменений в репозитории Google на GitHub, связанных с языком Swift. Они недвусмысленно указывают на то, что поисковый гигант работает над обеспечением поддержки языка Swift в своей ОС Fuchsia. Отметим, что в сети и раньше о высокой заинтересованности Google языком программирования Swift.

Напомним, язык программирования Swift предназначается для тех, кто создает приложения для устройств под управлением ОС iOS, macOS, tvOS и watchOS. Компания Apple описывает язык Swift как «Objective-C без C», и на ее платформах он может сочетаться с другими языками – C/Objective-C/C++, подобно тому, как в приложениях для Android могут одновременно использоваться языки Kotlin и Java.

К настоящему моменту известно, что ОС Fuchsia позволит запускать приложения, созданные как на языке Dart собственной разработки Google, который во многом похож на C, так и приложения, написанные на других языках – C/C++ и Go. Добавление Swift в этот список подразумевает, что в теории в будущем разработчики смогут легко портировать свои приложения для платформ Apple на ОС Google Fuchsia.

Больше ничего интересного из репозитория Google не выудишь, разве что простенькое демо-приложение , написанное на языке Swift, которое можно запустить на ОС Fuchsia.

Остается добавить, что пока совершенно неясно для чего именно предназначена ОС Fuchsia. Является ли эта таинственная ОС будущей заменой Android/Chrome OS, либо же ориентирована на сегмент гаджетов вроде Chromecast и Google Home, либо же у Google какие-то иные планы на эту ОС. Сейчас ясно одно – в ближайшее время ждать эту таинственную ОС не стоит.