これを押してください: Faust.js がコミュニティの意見を聞く方法

公開: 2023-09-01

WMR の WordPress コミュニティ ポッドキャスト、Press This へようこそ。 各エピソードでは、コミュニティ周辺からのゲストが登場し、WordPress 開発者が直面している最大の問題についてディスカッションします。 以下はオリジナルの録音の書き起こしです。

レッドサークル提供

Doc Pop : WMR の WordPress コミュニティ ポッドキャストである Press This を聞いています。 毎週、WordPress コミュニティのメンバーにスポットライトを当てます。 私はあなたのホスト、ドク・ポップです。 私は WP Engine での役割を通じて WordPress コミュニティをサポートし、TorqueMag.Io でポッドキャストを行ったり、漫画やチュートリアル ビデオを描いたりすることで貢献しています。 それをチェックしてください。

Red Circle、iTunes、Spotify、お気に入りのポッドキャスティング アプリで Press This を購読したり、wmr.fm でエピソードを直接ダウンロードしたりできます。

Faust.js は、ヘッドレス Web サイトで WordPress のパワーを解放するために作られた JavaScript フレームワークです。 Faust は、唯一ではないにしても、ヘッドレス WordPress を中心に特別に構築された唯一の JavaScript フレームワークの 1 つであり、Faust.js は 2023 年 6 月 12 日に正式にベータ版からリリースされました。また、WordCamp US に間もなくいくつかの機能が間もなく登場する可能性もあります。 、来週開催されます。 さて、今日のゲストは、WP Engine のシニア ソフトウェア エンジニアで、ファウストに取り組んでいる Joe Fusco です。 これらの新機能のいくつかと、Faust がベータ版になってからの変更点について説明します。

ジョー、今日の調子はどうですか?

ジョー・ファスコ:わかりました、ドクター、私を迎えてくれてありがとう。

ドク・ポップ:はい、ご参加いただき誠にありがとうございます。 まずは、WordPress を始めたきっかけを教えてください。

ジョー・ファスコ:ああ、もちろん。 私の WordPress の起源の話ですが、私は 2013 年のバージョン 3.5 あたりから WordPress を使い始めました。 当時、私は思いついたアイデアに取り組んでいて、ちょっとしたサイトを構築したりいじくりまわしたりして、実際にニューヨーク州ロチェスターにある地元の代理店に足を踏み入れて、いくつかのカスタム テーマを構築していました。

そしてそこから、WPMU Dev、EduBlogs、Campus Press を運営する Inksub で最初のリモートの仕事に就きました。 そのため、それぞれの部分に少し時間がかかりました。 そこで私はそれらの企業で働き、そこから実際にフロリダ州タンパに移り、そこでマーケティング サイトだけでなく社内でも WordPress を使用している製造会社で働く機会を得ました。さまざまなツールの束。 そこで私は Headless WordPress を試してみました。

そこで多くのカスタム開発を行いました。 パンデミックの最中だったので、すべてがリモートに切り替わっていました。 実際にロチェスターに戻る機会があり、それが WP Engine で働き始めたときです。 そう、それ以来ずっと素晴らしいです。

Doc Pop:そこで何かおっしゃいましたが、私は考えもしませんでしたが、あなたは WordPress を使用し、いくつかの素晴らしいテーマや製品を扱っていました。 そして、フロリダに引っ越したときも、まだ WordPress を使用していましたが、工場ではヘッドレス WordPress を使用していました。 それは私にとって非常に興味深いように思えますが、そのちょっとした部分をもう少し掘り下げる必要があるように感じます。

ジョー・ファスコ:もちろんです。 うん。 それで、この機会に、ある日、次のようなメールを受け取りました。 降りてもらってもいいですか?」

最初は偽物だと思いましたが、本当にスパムのように思えました。 それで私は、ああ、確かに、降りるつもりだった。

そして彼らは私に仕事を提供してくれました。 世界最大手のドアメーカーと提携しています。 タンパにはいくつかの建物があります。 それは本当に非現実的で、家族全員がそこに感動し、私たちはそこに3年間いました。 そして、私たちが構築し始めたのは、多くのヘッドレスタイプのコンポーネントでした。

つまり、実際の組織、マーケティング側は WordPress に精通していました。 彼らは WordPress に多大な投資を行っていました。 そのため、当時すでにこれらのシステムがセットアップされていたことを考えると、WordPress ヘッドレスを使用することはある程度理にかなっていました。 そうですね、ドアコンフィギュレーターなど、そこからかなり素晴らしいものが生まれました。

Doc Pop:私はこれが大好きです、そこに飛び込んでくれて本当にありがとう。

ジョー・ファスコ:そうそう。

Doc Pop:ストーリーが世界最大のドア製造業者とヘッドレス WordPress テクノロジーにまで発展し、すべてが結びついているのが気に入っています。 ファウストの話に戻りましょう。 Faust.js が最初で、WP Engine が最初にバージョンをリリースしたのは 2021 年末だったと思います。

2021 年 9 月のようなものです。そしてつい最近、数か月前にベータ版が終了し、製品が正式リリースされました。 Faust.js とは何なのか、そしてプロジェクトの開始からベータ版がリリースされるまでの数年間に何が起こったのかをリスナーに教えていただけますか?

Joe Fusco:そうですね、確かに、Faust.js はもともとある種のハッカソン プロジェクトとして始まり、そこから発展していったと思います。 いくつかの異なる種類のフェーズを経ました。 1 つは GraphQL クライアントである GQty を使用したものです。 そこから、私たちが規模を拡大していく中で、それは当時の最良のツールではありませんでした。

そこで、Apollo に切り替えることにしました。 そしてそこから、私たちは多くの新機能を構築してきました。 つい最近ベータ版をリリースしたばかりですが、これが本番環境に対応した一種のフレームワークであることをコミュニティに示したかっただけです。そのため、特に 1.0 リリースに関連付けられたものはありませんでしたが、いくつかの巨大なアイデアが出てきました。現在、GitHub に RFC があります。

Doc Pop:それでは、これらの RFC について話しましょう。 まず、WordPress コミュニティではプラグインに関するコメントのリクエストをあまり見かけません。 多くの場合、開発者が Twitter などで情報を聞いたり、チェックしたりしているように思えます。 しかし、実際にはそれを開いてフィードバックを得るということです。 それはとても興味深いですね。 おそらくそれは、これが非常に大きなプロジェクトであるため、皆さんがそうする理由なのかもしれません。

しかし、具体的な RFC に入る前に疑問に思ったのですが、なぜ皆さんが GitHub にアクセスしてユーザーからのコメントを求めたのか教えていただけないでしょうか。

Joe Fusco:そうですね、ファウストはオープンソース プロジェクトでした。 ただし、これは WP Engine による企業スポンサーのようなものです。 したがって、それには独自の課題も伴います。 社内には独自のプロセスがありますが、GitHub オープンソースを使用しており、オープンソース文化全体があります。

それを中心に、他のエンジニアが貢献していきます。 つまり、フィードバックによって私たちが気づいていたのは、実際にはほんの少しのギャップであり、すべてが公開されているわけではありません。つまり、これらの決定を公に構築していると言えると思います。

そこで、ワークフローに RFC を組み込みたいと考えました。 コミュニティから直接フィードバックを受け取り、その考えを公の場で繰り返してください。 それで、これまでは素晴らしかったです。 私たちは提供されたフィードバックをとても気に入っており、これをさらに行うことを楽しみにしています。

Doc Pop:私が最初に見たチケットの 1 つは、Gutenberg ブロックに対する React コンポーネントに関するコメントのリクエストでした。 このドキュメントでは、既存の React コンポーネントを Gutenberg ブロックに変換するための詳細な提案を提供します。 聞いている人は Gutenberg ブロックが何であるかを知っているはずですが、これらは WordPress が重点を置いたブロックベースの編集です。 今回の提案の趣旨について教えていただけますか。

Joe Fusco: React コンポーネントから Gutenberg ブロックまで。 これは、言ってみれば React Gutenberg ブリッジの次の進化版のようなもので、本質的に私たちがやりたいことは、Next アプリケーションにある既存の React コンポーネントを取得して、そのようなコンポーネントを WordPress に自動的に同期させることです。 つまり、Gutenberg ブロックが 1 か所に作成されているとします。 それを複製してプラグインをインストールし、両側に重複コードを配置する必要はありません。 したがって、私たちは、ファウストがそれを処理し、2 つのエコシステム間の接続を促進できるようにしたいと考えています。

Doc Pop:それで、そのようなことを行う際の課題は何ですか?

Joe Fusco:はい、これまでのところ課題はあります。つまり、私たちは間違いなくまだこれでさまざまなことを発見している段階ですが、これまでにいくつかの概念実証を構築し、目標の 90% を達成しました。 現在、いくつかの課題がありますが、大きな課題の 1 つは名前付けです。 それは技術的なことではないのはわかっていますが、これを何と呼ぶのでしょうか?

ネーミングはいつも難しいです。 しかしそれを超えて、このブロック、つまり WordPress が通常そのようなブロックを検索しないが、リモートの別の場所にあると WordPress に認識させ、それが WordPress とうまく動作するようにするだけです。 したがって、WordPress に関する限り、これは WordPress ヘルパーを使用して作成する従来の種類のブロックにすぎません。 NPXのcreateブロックみたいなものだと思います。

Doc Pop:コメントのリクエストで、この特定の問題に関して、チームに役立ったフィードバックや、予想していなかった優先事項があることがわかったフィードバックはありましたか?

ジョー・ファスコ:現時点でも、まだでもありません。 これまでの会話の多くは、このアイデアが何であるかを概念化するものだったと思います。なぜなら、私たちが今この空間にいるのは、私が見た限りでは、このようなことを実際に行った人は誰もいないからです。 ここには多くの革新があります。 それに伴い、コミュニティが理解できるメンタル モデルを構築することになります。

ドク・ポップ:ええ、それは良い言い方だと思います。 あなたが話しているように、これは間違いなく、命名であっても未知の領域です。 名前を付けるのは難しく、実際に機能している部分もたくさんありますが、Gutenberg と Block Editor はまだ動くべきターゲットであるようにも感じます。 Gutenberg を中心に何かを開発しているときに、コアからの予期せぬ変更があることが問題になったことはありますか? それとも、最近の Gutenberg はかなり安定していますか?

ジョー・ファスコ:ええ、素晴らしい質問ですね。 最初、私がチームに加わったとき、確かに、スキーマなどが異なるだけで、私たちを少し後退させるようないくつかの変化が起こっていました。 今年は、少なくとも WordPress を利用している部分では、かなり安定していると言えます。

それでかなり良くなりました。 私たちは実際に本番環境に対応したものだけに焦点を当てていますが、Gutenberg の最先端の機能にも常に耳を傾けています。

ドク・ポップ:それで、そこは私たちがちょっと休憩するのに最適な場所です。 戻ってきたら、Faust.js と Headless WordPress について Joe Fusco との会話を続けるつもりですので、この短い休憩の後、さらなる内容にご期待ください。

Doc Pop: WordPress コミュニティ ポッドキャストである Press This へようこそ。 私はあなたのホスト、ドク・ポップです。 今日は、WP Engine の Joe Fusco と、Faust.js について、また、提案された変更に対するコメントのリクエストで何が起こっているのかについて話します。 番組の前半で、私がフォローしているプラ​​グインの多くが、私が目にするコメントをリクエストしていないことについて話していましたが、もしかしたらそうしているかもしれません。私はそこまで興味がありませんが、私たちはプラグインについて話しています。これらは現在 Faust.js スタッフによって発行されており、Gutenberg ブロックに対する React コンポーネントに関する 1 つの RFC について話しました。もう 1 つ取り上げる価値があると思うのは Next.js、AppRouterSupport、および Faust です。 ジョー、ここでの提案は何なのか教えてもらえますか?

ジョー・ファスコ:次です。 js App Router のサポートとファウストの提案。 Next.js の新しい App Router 機能をどのようにサポートできるかを確認するために、少し調査を行いました。 そこで、ここでは考えられる解決策をいくつか提案します。

しかし本質的に、私たちがやろうとしていることは、AppRouter が React サーバー コンポーネントを使用することです。 つまり、Faust リポジトリの現在の例で見られるように、すべてを取得するための 1 つの大きな種類の GraphQL クエリを作成するのではなく、サーバー上の WordPress から一種のデータをフェッチできるということです。 そうですね、私たち全員がこれに本当に興奮しています。

それは、Faust をよりフレームワークに依存しないように開くものでもあります。 一般的に React サーバー コンポーネントをサポートできるだけです。 したがって、おそらく投稿にいくつかのカスタム フィールドがあり、おそらく別の場所またはメニューなどにいくつかのカスタム フィールドがあると想像できます。 理想的には、ファイルがそれらの取得を処理できるか、少なくとも開発者が WordPress とヘッドレスを使い始める際の負担を軽減するのに役立つユーティリティを提供できるようにしたいと考えています。

Doc Pop:提案の一部として、AppRouter の導入により、メタデータの取得をカスタム サポートする head.Js という新しいファイルが追加され、ユーザーの SEO に役立つと書かれています。 そこの利点について少し話してもらえますか?

Joe Fusco:私たちはこれをどのように処理するかについて検討中、あるいはブレーンストーミングを行っています。 つまり、SEO は WordPress の大きな部分を占めており、多くの SEO プラグインが存在しますが、実際にはヘッドレス側では SEO はそうではなく、少なくともヘッドレス WordPress では実際には優先されていません。 自分なりの解決策を考え出すようなものです。

したがって、Faust がそのギャップを埋めることができるようにしたいと考えており、このメタデータ API が間違いなくそこに到達するのに役立つと考えています。

Doc Pop:そして、この変更の一環として、ファウストを不可知論的に保つのに役立つともおっしゃいましたね。 そして、それがプラグイン開発者とプラグインを使用する人々を助けることになることがわかりました。 この変更が何を意味するかについて話していただけますか? AppRouter サポートがプラグインの Faust での動作を改善するのに役立つのはなぜですか?

ジョー・ファスコ:ええ、ええ、確かに。 この提案では、ある種のパラダイムシフトが起こります。 私たちは、Faust の現在のセットアップ方法を置き換えることはあまり考えていませんが、より多くのユーティリティとヘルパーを提供することを考えています。 したがって、WordPress プラグインにはいくつかのカスタム設定があると想像できます。 Faust は、Next アプリのフロントエンドでそれらをすぐに取得するためのツールを提供します。 そうですね、WordPress と Next の 2 つのエコシステム間の接続を促進するのに役立ちます。

Doc Pop: WordPress Rest API は 4.7 でリリースされました。 それがおそらく 2016 年だったかどうか思い出せません。そして、GraphQL とは何なのかについてちょっと興味があるのです。なぜなら、Faust.js でそれについてよく話し合っているからです。 GraphQL は、WordPress コアにある REST API からは得られなかったものを提供しますか?

ジョー・ファスコ:ええ、ええ、素晴らしい質問ですね。 GraphQL を使用すると、GraphQL が何であるかについてあまり詳しく説明することなく、データを希望どおりに整形するだけで済みます。 したがって、「WordPress から X、Y、Z だけを返したい」というように決めることができます。 これらを必要な順序で並べたリクエストを送信できます。

そして、WP GraphQL プラグインを介した GraphQL は、まさに私が望む形でそれを提供します。 したがって、応答内の大量の綿毛をフィルタリングする必要はありません。 それはRESTに似ているかもしれません。 そこには余分なものがたくさんあります。

Doc Pop: WordCamp US、番組の冒頭でも言いましたが、WordCamp US が近づいています。録画している限りでは来週です。 まず、WordCamp US に行く予定があるかどうか、そしてそこから人々があなたに連絡を取ることができるかどうか、ちょっと興味があります。 そして第二に、WP Engine ブースのように、そこで Faust または GraphQL の表現があるかどうか、またはそれに関する新しい発表があるかどうかです。

ジョー・ファスコ:ええ、ええ、確かに。 だから私は間違いなく WordCamp US に行くつもりです。 それについてはかなり興奮しています。 これは私の2番目のものになります。 もう 1 つは 2015 年にフィラデルフィアにあったと思います。でも、はい、私はそこに行きます。どんな質問にも喜んで答えます。WP Engine ブースの周りをうろうろしています。 他にも何人か一緒に来ますが、ジェフ・エバーハートとジョーダン・マスリンだと思いますので、ぜひ来てご挨拶し、私たちの知恵を絞ってください。

Doc Pop: WP Engine には素晴らしいものがよくあります。 見たことないんですが、ファウストのステッカーとか出るんですか? そのコミュニティがまだ独自のブランドを持っているかどうかはわかりません。

ジョー・ファスコ:ということで、現時点ではファウスト専用のステッカーは入手できないと思います。 他にもグッズがあることはわかっていますが、そうですね、私たちはファウストが成熟するにつれて、少しブランド化を始めたばかりの段階にいます。

ドク・ポップ:その話題に関して、もし人々が興味を持って、これを聞いていてファウストに興味があるなら、それについて学んで、少し飛び込んでみると良いことは何でしょうか?やってみて?

ジョー・ファスコ:興味のある方はぜひ試していただきたいと思っています。 最善の方法は、私たちのサイト faustjs.org にアクセスすることです。 「はじめに」セクションに進むと、サンプル プロジェクトの 1 つが示されます。そこでは、1 つのコマンドでセットアップして実行し、データがどのように流れて機能するかを確認できます。

Doc Pop:そのサンプル プロジェクトは Web ベースです。 それが WordPress と同じかどうか知っていますか。WordPress サンドボックスと呼ばれていると思います。WordPress サンドボックスかどうかはわかりませんが、WordPress のオンライン Web バージョンのようなもので、実際にホストせずに試してみることができます。 そこではみんな同じものを使っていますか?

Joe Fusco:つまり、現在のサイトには WordPress Playground がセットアップされていませんが、それは私が個人的に検討しているものであり、私も熱心に探しているものです。 そこで、この後に共有できるコード ペンを用意しました。このリンクには、WordPress Playground で GraphQL を使用してセットアップされた Faust WordPress プラグインが含まれています。

したがって、これは間違いなく WordPress の側面を確認する簡単な方法です。

Doc Pop:あなたが今言及した Web サイトでは、GitHub へのリンクも見つけることができますか? それとも、そのためのクイックリンクも提供すべきでしょうか?

Joe Fusco:はい、リンクを追加できますが、GitHub は WPEngine.Faustjs であり、そこには NPM パッケージと WordPress プラグインが含まれています。ぜひチェックしてみてください。

Doc Pop:もう 1 回短い休憩を取って、戻ってきたら、Faust.Js、GraphQL、Headless WordPress についての Joe Fusco との会話をまとめるつもりです。この短い内容の直後にご注目ください。壊す。

Doc Pop: WordPress コミュニティ ポッドキャストである Press This へようこそ。 私はあなたのホスト、ドク・ポップです。 今日は、Faust.js と今後登場するいくつかの機能について Joe Fusco と話します。 コメントの募集についてお話しました。 正式にベータ版が終了することについて話しました。 WordCamp US についてお話しました。 そして、ジョーに一番聞きたくないことは、このような新しいテクノロジーが登場したとき、私がそれを実際に見る方法があるかどうか、常に興味があるということです。

Faust.js が人々に遊んでもらうために実際に使用されている、または少なくともどのように使用されているかについて話を聞くために考えられる良い例はありますか。

ジョー・ファスコ:ええ、もちろんです。 したがって、これまでのところ Faust が採用されている量には本当に満足しています。 現在、WP Engine でさえ Faust を利用し、Atlas プラットフォームでホストされているほどです。 だから、ぜひチェックしてみて、それがどれほど猛烈な速さであるかを見てください、そして、ええ、それは本当にクールです。

faustjs.org では、現在 Faust を使用している素晴らしいサイトのいくつかを紹介する小さなショーケース セクションを追加する予定です。 そうですね、Atlas プラットフォーム上のメイン サイトである WPEngine.com もその 1 つです。

Faust を使用するために WP Engine を使用する必要はありません。 それを明確にしたいだけです。 あらゆる種類のプラットフォームで使用できます。 しかし、私たちは Atlas がファウストをホストするのに最適な環境であると感じています。

ドク・ポップ:それで、特にアトラスについては話しませんでした。 アトラスとファウストのような違いをすぐに結び付けたいですか?

Joe Fusco:そうですね、Atlas は WP Engine のヘッドレス フレームワークです。 つまり、WordPress サイトをホストしたい場合、Node 側の次のステップは Atlas になるということです。 Atlas Search など、他にも多数のツールが一緒に提供されています。 これは非常に強力で、多くの素晴らしい機能が組み込まれており、積極的に開発されています。

ドク・ポップ:そうですね、ここはジョー・ファスコとの会話を終えるのに最適な場所です。 Faust.js についてさらに詳しく知りたい場合は、faustjs.org にアクセスしてください。 GitHub でも見つけることができます。 Twitter などを見てみると、このことについて話している人もきっと見つかると思います。

Doc Pop: WMR の WordPress コミュニティ ポッドキャスト、Press This をお聞きいただきありがとうございます。 繰り返しになりますが、私の名前はドクターです。Torque マガジンでの私の冒険を Twitter @thetorquemag でフォローすることも、torquemag.io にアクセスして、チュートリアルやビデオ、このようなインタビューを毎日投稿することもできます。 したがって、torquemag.io をチェックするか、Twitter でフォローしてください。 Red Circle、iTunes、Spotify で Press This を購読したり、毎週 wmr.fm で直接ダウンロードしたりできます。 私はホストの Doctor Popular です。WP Engine での役割を通じて WordPress コミュニティをサポートしています。 私は毎週、Press This でコミュニティのメンバーにスポットライトを当てるのが大好きです。