Block Protocol — это новый проект, целью которого является создание блочной системы для встраивания интерактивных блоков в любое веб-приложение. Цель состоит в том, чтобы создать более совместимую и открытую сеть, в которой эти блоки можно было бы использовать совместно через стандартизированный протокол. Первоначальный проект спецификации блочного протокола разрабатывается командой HASH , платформы данных, моделирования и симуляции с открытым исходным кодом.
Когда вчера основатель HASH Джоэл Спольски поделился этой идеей со всем миром в своем блоге на базе WordPress , она привлекла внимание Мэтта Малленвега.
«Это на 100% то, что пытается сделать Гутенберг, и он разработан так, чтобы не быть специфичным для WordPress, с идеей, что блоки Гутенберга становятся кросс-CMS», — сказал Мулленвег. «У нас есть версии с открытым исходным кодом для Android и iOS». Он порекомендовал команде Block Protocol связаться с ведущим архитектором Gutenberg Матиасом Вентурой, чтобы обсудить объединение усилий.
Мулленвег коснулся этого видения во время выступления в 2021 году, заявив, что это была одна из причин, по которой проект использовал двойное лицензирование для Гутенберга.
«Я просто хотел отметить, что приложения WP не нуждаются в двойном лицензировании — они уже находятся под лицензией GPL ( Android , iOS )», — сказал мобильный разработчик Мэтт Чоунинг во время обсуждения двойного лицензирования с участниками в начале 2021 года. «Мотивация поскольку изменение заключается в расширении использования Гутенберга для подавляющего большинства приложений, которые не являются GPL, такими как приложения WP, и в расширении сообщества, использующего и вносящего свой вклад в Гутенберг».
Мулленвег переформулировал это видение во время State of the Word, заявив, что хотел бы, чтобы «блоки Гутенберга стали стандартом, который больше, чем просто WordPress». Он видит в Гутенберге «нечто большее, чем WordPress»:
Существует Drupal-версия Gutenberg и так далее. Но я думаю, что отчасти это связано с тем, что его блоки могут стать стандартными для каждой проприетарной системы. Я смеюсь над Wix. Я думаю, это справедливо. Они это заслужили, но если бы они усыновили Гутенберга, я бы поднял за них тост и пригласил на пиво. Я думаю, это было бы здорово.
Такие проекты, как Drupal Gutenberg и Gutenberg Cloud , которые используют CMS-независимые блоки как в Drupal, так и в WordPress, были одними из первых, кто продемонстрировал, что эта идея может работать в реальном мире. Модуль Drupal Gutenberg получил восторженный прием на Drupal Europe в 2018 году после того, как представители Frontkom, норвежского агентства цифровых услуг, которое перенесло его на Drupal, представили на конференции свою работу.
«Ключевым для нас является то, что Gutenberg остается отделенным от обеих CMS как библиотека, и мы надеемся, что основные разработчики Gutenberg уловят видение Gutenberg как «редактора для открытой сети», а не только для WordPress», — ИТ-директор Frontkom. Пер Андре Ронсен сказал после мероприятия. Вскоре после запуска Gutenberg Cloud инженеры Gutenberg подтвердили свою приверженность сохранению независимости от архитектурной платформы.
В 2019 году Морис Вийния , разработчик агентства Van Ons из Амстердама, создал Laraberg как простой способ для разработчиков, создающих приложения с помощью Laravel, интегрировать редактор Gutenberg. Во многих случаях использование Gutenberg за пределами экосистемы WordPress реализовано, чтобы предоставить клиентам более удобный способ управления своими сайтами.
У блочного протокола есть свои технические цели, которые выходят за рамки кросс-платформенного внедрения одних и тех же блоков. Он также включает в себя эту идею блочного перемещения данных между приложениями:
Протокол обеспечивает стандартизированные, гарантированные методы двунаправленной связи между блоками (компонентами, взаимодействующими с пользователем) и встроенными приложениями , такими как веб-приложения, настольные или мобильные приложения, безопасным и разрешенным способом. Упрощая расширение функциональных возможностей для различных типов данных, пользователи могут редактировать данные в одном блоке и отображать изменения в других блоках (или приложениях), каждый из которых обеспечивает полезную функциональность.
На практике это означает, что пользователь потенциально может создать блок в приложении списка дел, а затем переместить эти данные в блок платы канбан в другом приложении, не полагаясь на интеграцию API. Это освобождает данные от их исходного приложения и делает их гораздо более переносимыми и интероперабельными.
Block Protocol также направлен на то, чтобы предоставить разработчикам доступ к глобальному реестру повторно используемых блоков, чтобы они могли встраивать их в свои собственные приложения. Протокол позволяет разработчикам передавать структурированные данные между приложениями.
В кратком руководстве Block Protocol рекомендуется создавать блоки с использованием React, но в нем говорится, что в ближайшем будущем команда выпустит примеры того, как писать блоки с использованием различных библиотек внешнего интерфейса. В Block Hub есть примеры блоков, которые они уже построили.
Когда WordPress разрабатывал свой Block Directory , команда Gutenberg Cloud призвала их сделать его независимой от CMS библиотекой блоков, но Block Directory по-прежнему строго привязан к инфраструктуре WordPress.
«Однако более идеальным подходом было бы объединение двух усилий», — сказал Ронсен в 2019 году. «Ключ для нас — сделать инфраструктуру открытой для других сообществ, а не только для разработчиков WP. Мы рады передать наш проект в руки основной команды WP, учитывая, что у них одинаковое открытое видение». В итоге этого не произошло, поэтому Gutenberg Cloud по-прежнему остается единственным местом, где распределяются кроссплатформенные блоки Gutenberg.
«Поскольку все это на 100% открыто, мы надеемся, что Block Protocol станет веб-стандартом и будет широко использоваться в Интернете», — сказал Спольски в своем заявлении.
Блок-протокол может иметь больший успех при распределении блоков, которые можно использовать где угодно в Интернете, поскольку интероперабельные блоки являются основным направлением этого проекта. Проект открыт для работы с существующими редакторами блоков , создатели которых хотят внести свой вклад в новый стандарт. Объединение усилий Gutenberg с Block Protocol потенциально может улучшить процесс разработки веб-приложений по всему миру, а также предоставить пользователям возможность легко перемещать свои данные между приложениями.