
В процессе разработки программного обеспечения, и особенно в циклах разработки Google, обычно наступает момент, когда разработчики «едят свой собственный корм для собак» (dogfood) или используют свою работу, прежде чем позволить обычным пользователям ее попробовать. Похоже, что Fuchsia OS, над которой Google работает уже давно, наконец-то достигает этой «кормовой» стадии.
Bachelor Chow — теперь со вкусом!
Помимо обычных этапов публичного тестирования, таких как Alpha и Beta, Google проводит довольно много внутренних этапов тестирования, все они исходят из одного и того же названия «dogfood».
Например, когда Google+ находился на ранней стадии разработки, прежде чем провести общекорпоративное тестирование dogfood, вместо этого они провели узконаправленное тестирование «fishfood» (корм для рыб), обыгрывая кодовое название проекта «Изумрудное море». С тех пор название fishfood закрепилось, и другие команды Google используют его для своего самого раннего периода тестирования.
Кроме того, Google иногда проводит чуть более широкий этап тестирования «teamfood» между fishfood и dogfood, причем dogfood обычно является последним, почти общекорпоративным внутренним тестом перед «production» или публичным тестированием.
За последний год появились признаки того, что по крайней мере части Fuchsia — если не вся ОС в целом — прошли стадию fishfood и стадию teamfood тестирования разработки. Следующий этап, конечно, dogfood, который откроет Fuchsia для более широкого тестирования в Google.
Согласно нескольким недавним изменениям в коде [1] [2] [3], именно это сейчас и произойдет. В одном из изменений, связанном с «Omaha», той же системой управления обновлениями, что используется Chrome и Chrome OS, мы видим, что разработчик использует пару команд для тестирования своего изменения, одна из которых выделяется.
Первая команда, «fx shell update channel set dogfood-release», — это то, на что нам нужно обратить внимание. Команда «fx shell» подобна команде Android «adb shell», которая по сути передает команду для выполнения на устройстве. Остальная часть команды, «update channel set dogfood-release», указывает устройству Fuchsia использовать канал обновлений «dogfood-release».
Вторая команда просто указывает устройству Fuchsia искать обновления через «Omaha». Из этого мы можем сделать вывод, что у Google есть канал обновлений «dogfood-release», на котором некоторые разработчики уже начали тестирование.
На вкус как корм для собак
Как же будет выглядеть тестирование Fuchsia в режиме dogfood? Судя по тому, что мы узнали за годы, Fuchsia может работать на настольных компьютерах, ноутбуках, планшетах, Chromebooks, телефонах, маршрутизаторах, умных дисплеях и многом другом. Это означает, что тестирование dogfood может быть для любой или всех этих различных целей для Fuchsia.
К счастью, из комментария к другому изменению в коде мы можем подтвердить по крайней мере один способ, которым Fuchsia, вероятно, будет тестироваться в режиме dogfood. В более длинном обсуждении того, как работает система обновлений Fuchsia, сотрудник Google делится двумя очень интересными URL-адресами — или, по крайней мере, чем-то, разработанным так, чтобы *выглядеть* как URL.
fuchsia-updates.googleusercontent.com
arm64.dogfood-release.astro.fuchsia.com
Первый «URL» сам по себе интересен, но это мы оставим на другой раз. Сосредоточившись на втором URL-адресе, давайте разберем его различные части, двигаясь назад, как обычно читаются URL-адреса. Очевидно, окончание «fuchsia.com» связано с тем, что Google владеет этим доменом.
Далее мы находим «astro». Внимательные читатели этой колонки вспомнят, что «Astro» было одним из первых прототипов устройств Fuchsia, которое позже оказалось кодовым названием Fuchsia для Google Nest Hub 2018 года (известного в то время как Google Home Hub).
Следующая часть слева, «dogfood-release», отражает канал обновлений, который мы видели выше, а «arm64» описывает общий тип процессора, используемый в Nest Hub.
Таким образом, собрав эти части URL-адреса вместе, мы получаем представление о том, что сотрудники Google могут проводить это тестирование Fuchsia в режиме dogfood *по крайней мере* на Google Nest Hub. Учитывая, что Nest Hub не имеет удобного способа подключения мыши или клавиатуры, это тестирование, скорее всего, связано с возможностью использования Fuchsia вместо основанной на Chromium «Cast Platform» Google для работы их умных дисплеев Assistant, а не с полноценным опытом работы с операционной системой, как вы ожидали бы на телефоне или ноутбуке.
На прошлогодней Google I/O мы уже узнали, что часть пользовательского интерфейса Smart Display, отображаемого на Nest Hub и Nest Hub Max, представляет собой приложение под названием «Dragonglass», которое, как мы позже выяснили, работает на кроссплатформенном SDK Flutter от Google. В таком случае Google не составит труда заменить Cast Platform на Fuchsia без каких-либо заметных отличий, поскольку Fuchsia имеет нативную поддержку приложений Flutter.
Что дальше в меню?
Следуя обычному потоку разработки и выпуска Google, dogfood должен стать последним этапом тестирования перед выходом на публику. Если это финальное внутреннее тестирование пройдет успешно, вполне возможно, что Google сможет в ближайшее время перейти к предоставлению Fuchsia разработчикам.
Тем не менее, не стоит возлагать большие надежды на анонс Google I/O 2020. Стадия fishfood, похоже, заняла минимум четыре месяца, по крайней мере, между апрелем и августом 2019 года, а шесть месяцев тестирования teamfood — между августом 2019 года и февралем 2020 года. Конечно, гораздо более широкое тестирование dogfood займет столько же времени, если не больше, что отодвинет его завершение на вторую половину года.