Fuchsia Friday: Google готовится к первым релизам Fuchsia для разработчиков

Годами мы наблюдали и ждали, пока Google постепенно разрабатывал свою операционную систему Fuchsia с нуля. Теперь появились доказательства того, что Fuchsia OS от Google получит свои первые — и вторые — полноценные релизы.

Кратко напомним, что Fuchsia — это операционная система, как Android, macOS или Windows, разработанная Google как проект с открытым исходным кодом. Хотя Google долгие годы сохранял относительную секретность по поводу проекта — несмотря на его открытый характер — команда Fuchsia недавно открыла двери для разработчиков, чтобы те могли вносить свой вклад в проект, цель которого, среди прочего, заключается в создании безопасной операционной системы, не построенной на Linux.

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

До сих пор Fuchsia была доступна только тем, кто тратил время на загрузку исходного кода, его самостоятельную сборку и установку на одно из немногих поддерживаемых устройств или запуск через эмулятор. Единственными релизами Fuchsia были внутренние, такие как «fishfood», «teamfood» и, совсем недавно, «dogfood». Когда мы впервые узнали о тестировании Fuchsia «dogfood» — более года назад — мы предположили, что следующим шагом станет публичный релиз Fuchsia.

Реклама — прокрутите вниз для большего контента

Следуя обычному циклу разработки и выпуска Google, dogfood должен быть последним этапом тестирования перед выходом на публику. Если этот финальный внутренний тест пройдет успешно, вполне возможно, что Google сможет ускорить выпуск Fuchsia для разработчиков.

Тем не менее, не стоит возлагать слишком большие надежды на анонс на Google I/O 2020. Этап fishfood, по-видимому, занял минимум четыре месяца, по крайней мере, с апреля по август 2019 года, а между августом 2019 года и февралем 2020 года прошло шесть месяцев тестирования teamfood. Безусловно, гораздо более широкое тестирование dogfood займет столько же времени, если не больше, что отодвинет дату его окончания на вторую половину года.

Но что именно включает в себя подготовка Google к выпуску новой версии чего-либо? Возьмем в качестве примера Chromium — а следовательно, Chrome и Chrome OS.

Периодически определенная сборка Chromium за определенный день выбирается в качестве отправной точки для будущего релиза. Эти будущие релизы обычно называют «этапами» (milestones) и часто сокращают, например, Chrome 90 называют «M90».

Далее разработчики Google выборочно извлекают изменения кода из ветки «master» и добавляют специфичные для ветки изменения, чтобы сделать этот конкретный релиз более стабильным перед запуском. Вы можете увидеть тысячи примеров этого процесса ветвления в исходном коде Chromium, начиная с 2014 года.

Site default logo image

В конце января в проекте Fuchsia была создана новая «ветка» кода под названием «releases/F1». За последние несколько месяцев несколько десятков изменений кода были выборочно добавлены в эту ветку F1 из основной ветки «master». Этот же процесс происходил ранее для Fuchsia с различными ветками релизов с названиями «food».

Итак, что же такое «F1»? Учитывая, что Fuchsia уже должна быть далеко позади этапа тестирования dogfood, а Chromium/Chrome использует короткие имена вроде «M90», становится вполне ясно, что «releases/F1» должен быть своего рода первым этапным релизом Fuchsia.

Более того, примерно через шесть недель после появления ветки F1 — такой же срок отделял крупные обновления Chrome до недавнего времени — в исходном коде Fuchsia появилась аналогичная ветка «releases/F2». Заглядывая вперед, в трекере ошибок Fuchsia даже есть задачи, отмеченные для исправления в более позднем релизе «F3».

Из всего этого мы можем с относительной уверенностью сказать, что Fuchsia OS от Google ощутимо приближается к своему первому полноценному релизу, с потенциально регулярным графиком этапных выпусков после него.

Но что же будет включать в себя эти первые релизы Fuchsia? В последний раз, когда мы видели Fuchsia OS в действии, в 2019 году, некогда изящный интерфейс «Armadillo» был удален и заменен минималистичным вариантом.

Хотя это далеко не те яркие визуальные эффекты, которые может ожидать обычный человек от следующей операционной системы Google, это лишь временная мера для энтузиастов-разработчиков, чтобы подготовить свои приложения к eventualному появлению Fuchsia OS. Эта же идея прослеживается и в Android сегодня, где чистая сборка Android Open Source Project почти не похожа на то, что представляет собой Android 11 даже на телефонах Google Pixel.

Вместо этого эти первые несколько релизов Fuchsia почти наверняка будут предназначены исключительно для заинтересованных разработчиков и доступны для запуска в специализированном «Fuchsia Emulator». Преимущество такого релиза в том, что разработчикам, надеюсь, не придется скачивать и собирать исходный код Fuchsia самостоятельно, а они смогут просто скачать и использовать предварительно собранную версию.

Что касается того, что разработчики могут использовать для создания приложений для этих первых релизов Fuchsia, помимо возможности создавать приложения «на голое железо» на таких языках, как C++ и Rust, похоже, команда Google Flutter также готовит специальные меры для релиза Fuchsia F1 с специальной веткой в своем коде движка. Flutter уже давно имеет необходимую возможность вывода приложений Fuchsia, скрытую за флагом.

Для остальных из нас это все равно важная веха, которую стоит отметить. Хотя Google, возможно, еще далеко до того, чтобы мы могли использовать Fuchsia OS на наших устройствах, проект теперь заметно ближе к этой цели.

Подробнее о Fuchsia: