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