Fuchsia Friday: Структура модульной ОС Google, подобной Lego, объяснена

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

Одна из первых вещей, которую Google хочет, чтобы вы знали о Fuchsia, это то, что она «модульная». Это означает, что «почти все, что существует» в Fuchsia, такое как программное обеспечение и даже системные файлы, содержится в «пакетах». А Fuchsia пакеты могут состоять из «меньших компонентов», а не быть большими комплексными программами. Как мы упоминали в предыдущем выпуске Fuchsia Friday, это может позволить вам загружать только то, что вам нужно, когда вам это нужно.

Так что же такое компоненты? Проще говоря, компонент — это небольшая часть программного обеспечения, обычно предназначенная для выполнения одной задачи. Сам по себе компонент мало что может сделать, но в сочетании с другими, собранными вместе, как из Lego, вы можете создать практически все. Компоненты будут разных видов, но основными двумя на данный момент являются агенты и модули.

Реклама — прокрутите дальше, чтобы увидеть контент

Агент — это компонент, который работает в фоновом режиме. Агенты могут предоставлять информацию другим компонентам и/или реагировать на такие вещи, как push-уведомления или что-то на экране. Ранее мы уже рассматривали пример агента, который создавал карточки в вашей ленте Google на основе музыкантов, которых вы слушаете, но это лишь один пример из множества вещей, которые могут делать агенты. Ранее на этой неделе мы также обнаружили «Kronk», который описывается как «агент-ассистент» Fuchsia.

Модули — это компоненты программного обеспечения Fuchsia, которые вы можете видеть. Каждый модуль разработан и помечен конкретной задачей, чтобы Fuchsia знала, какой модуль использовать, без необходимости выбирать его вручную. Я считаю, что эта система является самой захватывающей частью модульного дизайна Fuchsia.

Под капотом каждого модуля находится список того, что он может делать (называемый «глаголами»), и типы сущностей, с которыми он может работать (в данном контексте называемые «существительными»). Обратитесь к нашему разбору сущностей для освежения. Когда вы хотите что-то сделать в Fuchsia, за кулисами Fuchsia находит лучший инструмент для работы, превращая желаемое действие в существительное и глагол. Затем ОС найдет все возможные модули, соответствующие глаголу, и отфильтрует этот список до тех, которые могут обрабатывать существительное. Эта система имеет идеальный смысл в контексте системы, подобной Instant Apps, предложенной на прошлой неделе.

История (Story) — это группа из одного или нескольких модулей, которые взаимодействуют и работают вместе, чтобы помочь вам выполнить одно полное действие. Истории легче понять на примерах. История «смотреть телевизор с друзьями» может состоять из модулей Netflix и Skype. Или «планирование свидания» может включать модули Календарь, Контакты и UrbanSpoon.

Часть цели этой модульной системы, похоже, заключается в упрощении жизни разработчиков. Разбивая на мелкие части, большие и громоздкие приложения становятся управляемыми. На примере Facebook, все их приложения (Facebook, Messenger, Page Manager и т. д.) должны входить в систему с использованием вашей учетной записи. Создав модуль, который может «войти» (глагол) в «Facebook» (существительное), они смогут использовать его в нескольких местах без копирования и вставки кода или дублирования на вашем устройстве. Кроме того, если что-то изменится в процессе входа, это должно быть обновлено только один раз в выделенном модуле входа. Новый модуль должен действовать как готовая замена, подобно тому, как вынимают одну деталь Lego и заменяют ее деталью того же размера.

Еще одним предполагаемым преимуществом модульности является то, что, возможно, можно добавлять функции к существующему приложению, просто установив другой компонент. Возможно, вы используете бесплатную версию приложения и решите перейти на Pro. Новые функции могут быть установлены как модули без каких-либо хлопот с удалением бесплатной версии для установки Pro. Подобно тому, как вы прикрепляете дополнительные детали к своему набору Lego. Я только надеюсь, что верно и обратное, и я смогу удалять функции, которые не использую, из приложений. Я имею в виду, Facebook Stories.

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

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

Читайте больше в нашей серии Fuchsia Friday:


Проверяйте 9to5Google на YouTube для получения дополнительных новостей: