Появление новой операционной системы Fuchsia от Google вызвало оживлённые споры в ИТ-сообществе. Самый действенный способ узнать новую технологию поближе — поработать с ней, что и сделали эксперты сайта Android Authority, перевод обзора которого dev.by приводит с небольшими сокращениями.
В отличие от известных нам операционных систем, Fuchsia OS от Google — молодой, незавершённый продукт, неопределённость назначения которого смогла заинтриговать не только тех, кто работает с технологиями Google, но и всё ИТ-сообщество.
Компилирование
Простейший способ увидеть Fuchsia вживую — «собрать» её на 64-битном Intel-устройстве под управлением Ubuntu Linux. Подойдёт и OS X, могут справиться с задачей и другие версии Linux, наподобие Debian. В случае, если вы не знакомы с Linux или не лучшим образом ориентируетесь в командной строке, не расстраивайтесь: в этом тексте описано всё, что вы могли бы узнать сами.
На данный момент Fuchsia состоит из двух важных частей. Первая — это Magenta, ядро системы, а вторая — набор инструментов, программ и библиотек, которые превращяют сырое ядро в ОС. Сердцем Magenta является Little Kernel (LK), небольшая ОС, имеющая ограниченный функционал помимо необходимого для встраиваемых систем.
Для запуска Fuchsia вам понадобится «собрать» инструменты и библиотеки, которые запускаются в пользовательском пространстве, включая «mxsh» — простую программу оболочки. Кроме этого, необходимо «собрать» и LK/Magenta. После этого вы сможете загрузить Magenta с использованием файловой системы, содержащей исполняемые файлы пользовательского пространства Fuchsia.
Запуск
Проще всего запустить Fuchsia с помощью qemu, популярного машинного эмулятора с открытым кодом. Более того, в дерево источников Fuchsia включена собственная копия qemu, которая является частью общего процесса сборки.
В процессе запуска вы увидите много дебаг-сообщений на уровне ядра, которые будут рассказывать о системе по мере загрузки. После завершения процесса вы получаете доступ к простой оболочке под названием mxsh.
mxsh содержит несколько встроенных команд, включая cd, cp, echo, ls и rm. Если вы введёте слово, которое не относится к встроенным командам, оболочка начнёт искать программу с таким именем в директории /boot/bin/. Указанная директория содержит немало исполняемых файлов, цель большинства из которых — тестирование и дальнейшее развитие Fuchsia. Есть и файл cowsay, запуск которого позволит вам увидеть такую картинку:
Что действительно важно, так это наличие поддержки Dart, скриптового языка от Google, который создавался в качестве замены JavaScript. Теперь же Dart стал полноценным интерпретируемым языком, который Google использует в работе над внутренними системами — например, AdWords. Dart можно запускать как через компиляцию в JavaScript, так и через отдельную Dart VM. В Fuchsia используется второй подход.
Для того, чтобы протестировать работу Dart в системе, достаточно набрать dart /boot/apps/hello_fuchsia.dart в командной строке, и на экране появится (о, чудо!) «Hello, Fuchsia!». Эта простая проверка говорит о том, что Fuchsia — уже достаточно развитый проект для обработки скриптов. В этом проект чем-то напоминает Linux до его первого релиза, в версиях до v1.0.
Что всё это значит?
Первый вывод, который можно сделать из тестирования ОС Fuchsia — Dart будет иметь большое значение: в настоящей версии нет копиляторов C или Java, но уже есть Dart. Логично будет предположить, что в Google работают над устройством, которое использует Fuchsia и программируется на Dart. Стоит упомянуть и Flutter (проект от Google для создания кроссплатформенных мобильных приложений с использованием Dart), который уже работает на Fuchsia
При этом разговоры о вероятной замене Android или Chrome OS сомнительны: любая успешная операционная система должна основываться на живом и активном сообществе разработчиков, и со стороны Google было бы крайне странным решением поставить крест на миллионах, инвестированных в Android-сообщество.
Стоит помнить, что Fuchsia находится в самом начале своего пути: ещё не создан графический интерфейс пользователя (и нет гарантий, что он появится), нет установщика для «простых» юзеров, ограничено количество команд и библиотек.
Несмотря на то, что цели и задачи новой ОС по-прежнему не определены, есть основания полагать, что это весьма серьёзная затея, ключом к пониманию которой могут стать Dart и Flutter. Если у вас есть, что добавить к сказанному — пишите в комментариях!
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.