Block Protocol: проект, нацеленный на создание универсальной системы блоков

Block Protocol – это новый проект, задачей которого является создание блочной системы для встраивания интерактивных блоков в любое веб-приложение. Цель проекта состоит в том, чтобы создать более совместимую, открытую сеть, в которой блоки будут передаваться через стандартизированный протокол. Первый проект спецификации Block Protocol разрабатывался командой, ответственной за HASH — open source платформу по моделированию и симуляции данных.

Когда основатель HASH Джоэл Спольски поделился вчера своей идеей в WordPress-блоге, она привлекла внимание Мэтта Мулленвега.

«Именно это мы и пытаемся реализовать в рамках Gutenberg. Блоки Gutenberg должны стать доступными для всех CMS, не только для WordPress», — отметил Мэтт. – «У нас уже есть Android- и iOS-версии с открытым кодом». Мэтт порекомендовал команде Block Protocol связаться с ведущим архитектором Gutenberg Матиасом Вентурой, чтобы обсудить сотрудничество.

Мэтт коснулся этой концепции во время своего выступления State of the Word в 2021 году. Именно по этой причине команда использовала двойное лицензирование для Gutenberg.

«Отмечу, что приложения WP не нуждаются в двойном лицензировании – они уже находятся под лицензией GPL (Android, iOS)», — рассказал разработчик мобильных приложений Мэтт Чоунинг во время обсуждения двойного лицензирования с участниками в начале 2021 года. – «Почему потребовались эти изменения? Потому что нужно распространить охват Gutenberg на подавляющее большинство приложений, которые не имеют GPL-лицензии (WP-приложения); также важно расширить сообщество, стоящее за Gutenberg».

Мэтт передал это видение во время State of the Word, заявив, что «блоки Gutenberg должны стать стандартом, выходящим за рамки WordPress». Он видит в Gutenberg нечто большее, чем просто редактор для WP:

«Уже есть Drupal-версия Gutenberg, и так далее. Отчасти это связано с тем, что блоки Gutenberg могут стать стандартными для любой проприетарной системы. Я часто насмехаюсь над Wix. Они это заслужили. Правда, если они примут Gutenberg, то я лично поздравлю их и приглашу выпить пива. Это было бы круто.

Gutenberg – это нечто большее, чем просто WordPress. Здесь мы говорим о том, как именно мы создаем и редактируем сеть. Сможем ли мы привлечь к этому процессу как можно больше людей? И тех, кто работает над проприетарными проектами, и тех, кто связан с технологией open source. Это та ставка, которую мы сделали. Возможно, мы выиграем. Возможно, нас ждет провал. Я надеюсь, что вы будете рады потрудиться совместно с нами над Gutenberg».

Проекты по типу Drupal Gutenberg и Gutenberg Cloud, использующие CMS-независимые блоки как в Drupal, так и в WordPress, являются первой демонстрацией того, как эта идея может применяться в реальном мире. Модуль Drupal Gutenberg был принят с воодушевлением на Drupal Europe в 2018.

«Ключевым для нас является то, что Gutenberg остается отделенным от обеих CMS, имеет вид библиотеки, и мы надеемся, что разработчики Gutenberg будут придерживаться такого видения проекта — как редактора для открытой сети, а не только для WordPress», — отметил ИТ-директор Frontkom Пер Андре Рёнсен после мероприятия. Вскоре после запуска Gutenberg Cloud специалисты Gutenberg подтвердили, что проект будет независим от архитектурной платформы.

В 2019 году Морис Вейния, разработчик из агентства Van Ons, создал Laraberg – проект, позволяющий разработчикам, пишущим приложения на Laravel, интегрировать редактор Gutenberg.

Block Protocol имеет свои технические цели, которые выходят за рамки кроссплатформенного внедрения одних и тех же блоков. Проект включает в себя также идею перемещения блочных данных между приложениями:

«Протокол обеспечивает стандартизированные методы двунаправленной связи между блоками (компонентами, с которыми может взаимодействовать пользователь) и embed-приложениями, такими как веб-приложения, десктопные или мобильные приложения – безопасным и разрешенным способом. Благодаря расширению функциональных возможностей для разных типов данных, пользователи могут редактировать данные в одном блоке и получать аналогичные изменения в других блоках (или приложениях)».

На практике это означает, что пользователь потенциально может создать блок в приложении списка задач, после чего переместить эти данные в блок канбан-доски в другом приложении без интеграции API. В результате этого данные не привязаны к исходному приложению, что делает их более портативными и интероперабельными.

С помощью Block Protocol разработчики смогут получить доступ к глобальному реестру часто используемых блоков, которые можно встраивать в приложения. Протокол позволяет разработчикам передавать структурированные данные между приложениями.

В кратком руководстве Block Protocol рекомендуется создавать блоки с использованием React, однако в нем также сказано, что в ближайшее время команда опубликует примеры того, как писать блоки с использованием других фронтэнд-библиотек. В Block Hub есть примеры таких готовых блоков.

Когда специалисты WordPress создавали свой каталог блоков, команда Gutenberg Cloud призывала их превратить каталог в CMS-независимую библиотеку блоков. Однако каталог блоков по-прежнему тесно связан с инфраструктурой WordPress.

«Лучше всего было бы объединить усилия», — говорил Рёнсен в 2019 году. – «Мы хотим сделать инфраструктуру открытой для других сообществ, не только для WP-разработчиков. Мы были бы рады передать наш проект в руки команды WP, но учитывая, что у нас одинаковое видение». В итоге этого, увы, не произошло. Gutenberg Cloud остался единственным местом, где хранятся кроссплатформенные Gutenberg-блоки.

«Мы надеемся, что Block Protocol станет новым открытым веб-стандартом и будет широко использоваться в сети», — заявил Джоэл в своем анонсе.

Block Protocol вполне может стать успешным в рамках глобальной передачи блоков в сети, поскольку интероперабельные блоки являются основным направлением этого проекта.

Проект открыт для взаимодействия с существующими редакторами блоков, создатели которых хотят внести свой вклад в новый стандарт. Объединение усилий Block Protocol и Gutenberg потенциально позволило бы улучшить процесс разработки веб-приложений, обеспечив простую для пользователей передачу данных между приложениями.

Источник: wptavern.com

Блог про WordPress
Добавить комментарий

Получать новые комментарии по электронной почте.