Компания WP Engine выпустила новый headless-фреймворк Faust.js, предназначенный для работы с любой Node-средой хостинга. Фреймворк базируется на платформе Next.js, которая способна автоматически обрабатывать создание статичных сайтов и рендеринг на стороне сервера. Для получения данных используется GraphQL. Это единственный фреймворк, в котором разработчики могут обращаться к WPGraphQL API, не зная заранее о GraphQL-запросах.
Faust.js был еще на ранней стадии, когда компания WP Engine наняла создателя и основателя WPGraphQL Джейсона Бала. Хостинг вложил огромные средства в разработку headless-инфраструктуры, регулярно нанимая специалистов под различные проекты, связанные с использованием WordPress как headless CMS. Это и есть основная цель нового фреймворка – позволить разработчикам создавать масштабируемые, более производительные сайты с помощью современных фронтэнд-инструментов, возложив на WordPress весь процесс публикации. Faust.js включает в себя превью контента, поддержку произвольных типов записей, встроенную аутентификацию для пейволлов, интернет-магазинов, сайтов сообществ и другого функционала, который ранее было тяжело реализовать на базе headless-подхода.
Чем Faust.js отличается от других headless-решений, таких как Frontity (на базе React)? Абсолютной неожиданностью для разработчиков стала недавняя покупка Frontity со стороны компании Automattic – причем все штатные сотрудники Frontity были переведены на full-time работу над Gutenberg. Использование headless-фреймворка, поддерживаемого сообществом – достаточно рискованный шаг для корпоративных клиентов.
«Frontity и Faust очень похожи. Главное отличие состоит в том, что Frontity построен на базе React, а Faust – на базе Next.js», – отметил создатель Faust.js Уильям Джонстон. – «Такое различие между ними имеет большое значение. Используя Faust, вы можете воспользоваться всеми бонусами Next. Faust позволяет существенно улучшить концепцию Headless WordPress».
Frontity работает только с WP REST API, а Faust использует WPGraphQL для более эффективных запросов.
«В техническом плане Faust построен на уровнях. Даже если вы решите создать свое фронтэнд-приложение с использованием SvelteKit, Nuxt и др., вы по-прежнему сможете использовать инструменты Faust», – рассказал специалист WP Engine Келлен Мейс. – «В будущем мы планируем добавить документацию по взаимодействию Faust с другими фреймворками. Однако работа с Next.js даст вам максимальную отдачу».
Уильям подтвердил, что некоторые элементы Faust (ядро, компоненты React) уже работают с фреймворком GatsbyJS. Faust в меньшей степени затрагивает фронтэнд и в большей степени нацелен на улучшение процесса публикации в WordPress.
Демо-версия Faust доступна на сайте developers.wpengine.com. Фреймворк, включающий в себя NPM-пакеты и WordPress-плагин, доступен на GitHub, однако его разработчики предупреждают, что в Faust могут вноситься критические изменения в будущем. Узнать больше о Faust.js можно из документации.
Источник: wptavern.com