Google ведёт работу по портированию браузера Chrome для ОС Fuchsia
Google ведёт работу по портированию браузера Chrome для ОС Fuchsia
Google ведёт работу по портированию браузера Chrome для ОС Fuchsia. В Fuchsia уже предоставляется браузерный движок на основе кодовой базы Chromium, применяемый для выполнения обособленный web-приложений, но браузер Chrome как отдельный полноценный продукт для Fuchsia пока недоступен, так как платформа в первую очередь развивалась для IoT и потребительских устройств, таких как Nest Hub. Последнее время ситуация изменилась и началось развитие возможностей Fuchsia, нацеленных на использование как десктоп-платформы.
В том числе развивается набор изменений, делающих возможным поставку полноценного браузера Chrome в Fuchsia. Начальную сборку Chrome для Fuchsia планируют довести до готовности к выпуску Chrome 94, намеченному на 21 сентября. Работа по портированию ведётся постепенно - вначале обеспечивается возможность сборки урезанной версии, в которой реализация некоторых возможностей заменена на заглушки. По мере портирования заглушки заменяются на рабочие варианты кода, учитывающего специфику Fuchsia. Например, в Chrome ведётся адаптация для Fuchsia системного лотка, загрузки файлов, функции Click To Call, работы с извлекаемыми носителями, синхронизации, пользовательских каталогов, PWA-приложений, вывода информации о памяти и нагрузке на CPU и импорта настроек из других браузеров.
ОС Fuchsia развивается компаний Google c 2016 года с учётом недостатков в области масштабирования и обеспечения безопасности, имеющихся в платформе Android. Система базируется на микроядре Zircon, основанном на наработках проекта LK, расширенного для применения на различных классах устройств, включая смартфоны и персональные компьютеры. Zircon расширяет LK поддержкой процессов и разделяемых библиотек, уровнем пользователя, системой обработки объектов и моделью обеспечения безопасности на основе capability. Драйверы реализуются в виде работающих в пространстве пользователя динамических библиотек, загружаемых процессом devhost и управляемых менеджером устройств (devmg, Device Manager).
Для Fuchsia подготовлен собственный графический интерфейс, написанный на языке Dart с использованием фреймворка Flutter. Проектом также развиваются фреймворк для построения интерфейсов пользователя Peridot, пакетный менеджер Fargo, стандартная библиотека libc, система рендеринга Escher, Vulkan-драйвер Magma, композитный менеджер Scenic, файловые системы MinFS, MemFS, ThinFS (FAT на языке Go) и Blobfs, а также менеджер разделов FVM. Для разработки приложений предоставляется поддержка языков C/C++, Dart, в системных компонентах также допускается использование Rust, в сетевом стеке Go, а в системе сборки языка Python.