Appuyez ici : comment Faust.js écoute la communauté

Publié: 2023-09-01

Bienvenue sur Press This, le podcast de la communauté WordPress de WMR. Chaque épisode présente des invités de toute la communauté et des discussions sur les plus grands problèmes auxquels sont confrontés les développeurs WordPress. Ce qui suit est une transcription de l’ enregistrement original.

Propulsé par RedCircle

Doc Pop : Vous écoutez Press This, un podcast de la communauté WordPress sur WMR. Chaque semaine, nous mettons en lumière les membres de la communauté WordPress. Je suis votre hôte, Doc Pop. Je soutiens la communauté WordPress à travers mon rôle chez WP Engine et mes contributions sur TorqueMag.Io où je peux créer des podcasts et dessiner des dessins animés et des vidéos de didacticiels. Vérifiez cela.

Vous pouvez vous abonner à Press This sur Red Circle, iTunes, Spotify, votre application de podcasting préférée ou télécharger des épisodes directement sur wmr.fm.

Faust.js est un framework JavaScript conçu pour libérer la puissance de WordPress pour les sites Web sans tête. Faust est l'un des seuls, sinon le seul, frameworks JavaScript spécifiquement construits autour de WordPress sans tête, et Faust.js est officiellement sorti de la version bêta le 12 juin 2023. Et pourrait même avoir certaines fonctionnalités à venir juste à temps pour WordCamp US. , ce qui aura lieu la semaine prochaine. Mon invité aujourd'hui est donc Joe Fusco, ingénieur logiciel senior chez WP Engine qui travaille sur Faust. Et nous allons parler de certaines de ces nouvelles fonctionnalités et de ce qui a changé depuis que Faust est sorti de la version bêta.

Joe, comment vas-tu aujourd'hui ?

Joe Fusco : Bien, Doc, merci de m'avoir invité.

Doc Pop : Ouais, merci beaucoup d'avoir rejoint nous. Commençons par nous dire comment êtes-vous entré dans WordPress ?

Joe Fusco : Oui, bien sûr. Donc mon histoire d’origine WordPress, j’ai commencé à utiliser WordPress en 2013 autour de la version 3.5. À l'époque, je travaillais simplement sur une idée que j'avais, je construisais simplement des sites mineurs et je bricolais et j'ai en fait mis le pied dans la porte avec une agence locale à Rochester, New York, en créant des thèmes personnalisés.

Et à partir de là, j'ai obtenu mon premier emploi à distance en travaillant pour Inksub, la société derrière WPMU Dev, EduBlogs et Campus Press. J'ai donc eu un peu de temps avec chacune de ces parties. J'ai donc travaillé pour ces entreprises, puis à partir de là, j'ai déménagé à Tampa, en Floride, où j'ai eu l'opportunité de travailler pour une entreprise manufacturière qui utilisait WordPress non seulement pour son site marketing, mais aussi en interne pour un projet. un tas d'outils différents. Je me suis donc mouillé les pieds avec Headless WordPress.

J'y ai fait beaucoup de développement personnalisé. C’était pendant la pandémie, donc tout passait à distance. En fait, j'ai eu l'opportunité de revenir à Rochester et c'est à ce moment-là que j'ai commencé à travailler pour WP Engine. Alors oui, depuis, c'est génial.

Doc Pop : Vous avez mentionné quelque chose là-bas, auquel je n'avais pas pensé, mais vous travailliez sur WordPress, en travaillant avec d'excellents thèmes et produits. Et puis, lorsque vous avez déménagé en Floride, vous utilisiez toujours WordPress, mais vous utilisiez WordPress sans tête pour une usine. Cela me semble vraiment intéressant et j’ai l’impression que vous devriez vous plonger un peu plus dans cette information.

Joe Fusco : Absolument. Ouais. Donc, cette opportunité, je viens de recevoir un e-mail un jour disant : « Hé, nous aimons vos contenus sur GitHub. Pouvons-nous vous faire descendre ?

Et je pensais que c'était faux au début, ça semblait vraiment du spam. Et donc je me suis dit, ouais, bien sûr, je descendrai.

Et ils m'ont proposé un travail. C'est avec l'un des plus grands fabricants de portes au monde. Ils ont quelques bâtiments à Tampa. Et c'était vraiment surréaliste, toute la famille a déménagé là-bas, nous y sommes restés trois ans. Et nous avons commencé à développer de nombreux composants sans tête.

L’organisation actuelle, le côté marketing, connaissait donc très bien WordPress. Ils étaient très investis dans WordPress. Donc, utiliser WordPress sans tête était logique étant donné que nous avions déjà ces systèmes configurés à l’époque. Alors oui, des choses plutôt sympas ont été créées à partir de cela, comme des configurateurs de portes.

Doc Pop : J'adore ça, merci beaucoup de vous y plonger.

Joe Fusco : Oh ouais.

Doc Pop : J'aime le fait que l'histoire ait pris cette tournure vers le plus grand fabricant de portes au monde et la technologie WordPress sans tête et tout est lié. Revenons à Faust. Je crois que Faust.js d'abord, WP Engine a lancé une version pour la première fois fin 2021.

Comme en septembre 2021. Et tout récemment, il y a quelques mois, ils sont sortis de la version bêta avec la sortie officielle du produit. Pouvez-vous simplement dire à nos auditeurs ce qu'est Faust.js et ce qui s'est passé au cours de ces quelques années entre le début du projet et sa sortie de la version bêta ?

Joe Fusco : Oui, certainement, Faust.js a commencé à l'origine comme, je crois, une sorte de projet de hackathon, puis a évolué à partir de là. J'ai traversé plusieurs types de phases différentes. L'un était avec GQty, qui est un client GraphQL. À partir de là, ce n’était tout simplement pas le meilleur outil pour l’époque, car nous évoluions.

Nous avons donc décidé de passer à Apollo. Et à partir de là, nous avons développé de nombreuses nouvelles fonctionnalités. Plus récemment, à la sortie de la version bêta, nous voulions simplement indiquer à la communauté qu'il s'agit d'une sorte de framework prêt pour la production, donc même si rien n'était spécifiquement lié à cette version 1.0, d'énormes idées ont émergé. pour lesquels nous avons actuellement des RFC sur GitHub.

Doc Pop : Parlons donc de ces RFC. Tout d’abord, je ne vois pas beaucoup de demandes de commentaires sur les plugins dans la communauté WordPress. Souvent, il semble que les développeurs écoutent, vérifient Twitter ou des choses comme ça. Mais le véritable type d’ouverture et d’obtention de commentaires. C'est assez intéressant. C'est peut-être parce que c'est un si gros projet que c'est pour ça que vous faites ça.

Mais je me demandais avant d'aborder les RFC spécifiques, peut-être pourriez-vous simplement nous dire pourquoi êtes-vous tous allés sur GitHub et avez-vous sollicité les commentaires des utilisateurs ?

Joe Fusco : Oui, donc Faust est un projet open source. Cependant, il a été en quelque sorte sponsorisé par un moteur WP. Cela entraîne donc ses propres défis. Nous avons notre propre processus en interne, mais nous sommes sur GitHub open source, et il y a toute la culture open source.

Autour de cela avec d'autres ingénieurs qui contribuent. Il y avait donc juste un petit écart que nous remarquions avec les commentaires et tout n'était pas rendu public, ou je suppose que l'on pourrait dire qu'il s'agissait d'une construction publique avec ces décisions.

Je voulais donc intégrer les RFC dans notre flux de travail. Obtenez des commentaires directement de la communauté et répétez ces réflexions uniquement en public. Donc ça s'est bien passé jusqu'à présent. Nous avons apprécié les commentaires qui ont été fournis et sommes impatients d'en faire davantage.

Doc Pop : L'un des premiers tickets que j'ai vu était une demande de commentaires sur les composants React des blocs Gutenberg. Ce document fournit une proposition détaillée pour convertir les composants React existants en blocs Gutenberg. Les personnes qui écoutent devraient savoir ce que sont les blocs Gutenberg, mais il s’agit de l’édition basée sur les blocs vers laquelle WordPress a basculé. Pouvez-vous nous expliquer à quoi sert la proposition ici ?

Joe Fusco : Les composants React des blocs Gutenberg. C'est en quelque sorte la prochaine évolution du pont React Gutenberg, si vous voulez, et essentiellement ce que nous voulons faire est de prendre les composants React existants qui se trouvent dans une application Next et de simplement les synchroniser automatiquement avec WordPress. Donc, si vous avez créé un bloc Gutenberg au même endroit. Vous n'avez pas besoin de dupliquer cela, d'installer un plugin et de l'avoir des deux côtés avec un code en double. Nous voulons donc vraiment que Faust soit capable de gérer cela et de faciliter ce genre de connexion entre les deux écosystèmes, si vous voulez.

Doc Pop : Et quels sont les défis liés à la réalisation de quelque chose comme ça ?

Joe Fusco : Oui, donc les défis jusqu'à présent, je veux dire, nous sommes certainement encore en train de découvrir des choses différentes avec cela, mais nous avons construit des POC jusqu'à présent et nous avons parcouru environ 90 % du chemin. Certains des défis actuels, l'un des plus importants, sont donc de nommer. Je sais que ce n’est pas une chose technique, mais comment appelle-t-on cette chose ?

Nommer est toujours difficile. Mais au-delà de cela, essayer de faire croire à WordPress que ce bloc, que WordPress ne recherche normalement pas des blocs comme celui-ci se trouvent ailleurs, mais simplement le faire fonctionner correctement avec WordPress. Donc, en ce qui concerne WordPress, il s’agirait simplement d’une sorte de bloc traditionnel que vous créeriez peut-être avec l’assistant WordPress. Je pense que c'est comme un bloc de création NPX.

Doc Pop : Dans la demande de commentaires, avez-vous tous reçu des retours sur ce problème spécifique qui ont aidé votre équipe ou qui ont montré qu'il y a une priorité dont vous ne vous attendiez pas à entendre parler ?

Joe Fusco : Pas pour le moment ou pas encore. Je pense qu'une grande partie de la conversation jusqu'à présent a simplement consisté à conceptualiser cette idée, parce que nous sommes dans cet espace maintenant où personne n'a vraiment fait quelque chose de pareil, d'après ce que j'ai pu voir. Donc beaucoup d’innovation ici. Et cela implique en quelque sorte la construction de modèles mentaux que la communauté doit comprendre.

Doc Pop : Ouais, je pense que c'est une bonne façon de le dire. C'est définitivement un territoire inexploré, comme vous en parlez, même en termes de nom. En nommer certaines parties est difficile, et il y a beaucoup de parties qui fonctionnent, mais j'ai aussi l'impression que Gutenberg et l'éditeur de blocs sont peut-être encore une cible mouvante. Est-ce que cela a été un problème lorsque vous développez quelque chose autour de Gutenberg, qu'il y ait un changement inattendu par rapport au noyau, ou est-ce que Gutenberg est assez stable ces jours-ci ?

Joe Fusco : Ouais, excellente question. Donc au début, quand j'ai rejoint l'équipe, oui, il y avait absolument des changements qui nous faisaient un peu reculer, juste des types de schémas différents et ainsi de suite. Je dirais que cette année, cela a été assez stable, du moins avec les parties que nous utilisons de WordPress.

Donc ça va beaucoup mieux. Nous nous concentrons vraiment uniquement sur les éléments prêts à être produits, tout en gardant notre oreille attentive aux fonctionnalités de pointe de Gutenberg.

Doc Pop : Et c'est un bon endroit pour faire une petite pause. À notre retour, nous continuerons notre conversation avec Joe Fusco à propos de Faust.js et de Headless WordPress, alors restez à l'écoute pour en savoir plus après cette courte pause.

Doc Pop : Bienvenue sur Press This, un podcast de la communauté WordPress. Je suis votre hôte, Doc Pop. Aujourd'hui, nous discutons avec Joe Fusco de WP Engine à propos de Faust.js et de ce qui se passe avec la demande de commentaires sur certaines modifications proposées. Et nous parlions plus tôt dans l'émission du fait que peu de plugins que je suis émettent des demandes de commentaires que je vois, mais peut-être qu'ils le font, et je ne suis pas très à l'écoute, mais nous parlons de ceux qui sont actuellement publiés par l'équipe Faust.js, et nous avons parlé d'une RFC pour les composants React des blocs Gutenberg, une autre qui, je pense, mérite d'être évoquée est Next.js, AppRouterSupport et Faust. Joe, pouvez-vous nous dire quelle est la proposition ici ?

Joe Fusco : Le prochain. js App Router et proposition de Faust. Nous avons effectué quelques recherches pour voir comment nous pouvons prendre en charge la nouvelle fonctionnalité App Router dans Next.js. Sur ce, nous proposons ici quelques solutions possibles.

Mais essentiellement, ce que nous essayons de faire, c'est qu'AppRouter utilise les composants du serveur React. Cela signifie donc que nous pouvons en quelque sorte récupérer les données de WordPress sur le serveur, plutôt que de faire une grande sorte de requête GraphQL pour tout récupérer, comme vous pouvez actuellement le voir dans nos exemples actuels sur le dépôt Faust. Alors oui, nous sommes tous très excités à ce sujet.

Cela ouvre en quelque sorte Faust à être également plus indépendant du cadre. Juste être capable de prendre en charge les composants du serveur React en général. Ainsi, vous pouvez imaginer que vous avez peut-être des champs personnalisés sur une publication et peut-être des champs personnalisés ailleurs ou comme un menu. Idéalement, nous voulons que les fichiers soient capables de gérer leur récupération ou au moins soient capables de fournir des utilitaires pour aider les développeurs à réduire en quelque sorte les frictions lors des premiers pas avec WordPress et sans tête.

Doc Pop : Et je vois que dans le cadre de la proposition, il est dit qu'avec l'introduction d'AppRouter, il existe un nouveau fichier appelé head.Js qui offre un support personnalisé pour la récupération de métadonnées, ce qui devrait aider les utilisateurs en matière de référencement. Pouvez-vous parler un peu des avantages?

Joe Fusco : Nous avons travaillé ou simplement réfléchi à la manière dont nous voulons gérer cela. Le référencement est donc une grande partie de WordPress, il y a beaucoup de plugins de référencement, et vraiment du côté sans tête, le référencement ne l'est pas, ce n'est pas vraiment une priorité, du moins avec WordPress sans tête. C'est un peu comme proposer votre propre solution.

Nous voulons donc que Faust soit capable de combler cette lacune et nous pensons que cette API de métadonnées pourrait certainement nous aider à y parvenir.

Doc Pop : Et également dans le cadre de ce changement, vous avez mentionné que cela aiderait Faust à rester agnostique. Et je vois ici que cela va aider les développeurs de plugins et les personnes qui utilisent des plugins. Pouvez-vous nous parler de ce que signifie ce changement ? Pourquoi la prise en charge d'AppRouter pourrait aider les plugins à mieux fonctionner avec Faust ?

Joe Fusco : Ouais, ouais, certainement. Avec cette proposition, c’est en quelque sorte un changement de paradigme. Nous ne pensons pas tant à remplacer la façon dont Faust est actuellement configuré, mais plutôt à simplement offrir plus d'utilitaires et une aide. Vous pouvez donc imaginer qu’un plugin WordPress dispose de paramètres personnalisés. Faust fournit un outil pour récupérer rapidement ceux du front-end dans votre application Next. Ouais, juste une sorte d'aide pour faciliter cette connexion entre ces deux écosystèmes de WordPress et Next.

Doc Pop : L'API WordPress Rest a été publiée en 4.7. Je ne me souviens pas si c'était peut-être en 2016. Et je suis juste un peu curieux de savoir ce qu'est GraphQL, car nous en parlons beaucoup avec Faust.js. Qu'offre GraphQL que les gens ne pourraient peut-être pas obtenir avec l'API REST du cœur de WordPress ?

Joe Fusco : Ouais, ouais, excellente question. GraphQL permet, je dirais la chose la plus importante, sans trop entrer dans ce qu'est GraphQL, mais je façonne simplement vos données comme vous le souhaitez. Je peux donc décider, hé, je veux que seuls X, Y et Z soient renvoyés par WordPress. Je peux envoyer une demande contenant simplement ces éléments dans l'ordre que je souhaite.

Et GraphQL via le plugin WP GraphQL fournira cela dans le type exact de forme que je souhaite. Je n’ai donc pas à filtrer un tas de peluches dans une réponse. Cela pourrait être comme REST. Il y a beaucoup de choses supplémentaires là-bas.

Doc Pop : WordCamp US, je l'ai mentionné en haut de l'émission, WordCamp US arrive, en ce qui concerne le moment où nous enregistrons, c'est la semaine prochaine. Je suis juste un peu curieux de savoir, tout d'abord, si vous envisagez d'aller au WordCamp US et si les gens peuvent vous y joindre. Et deuxièmement, s'il doit y avoir peut-être une représentation de Faust ou de GraphQL, comme sur le stand WP Engine, ou peut-être de nouvelles annonces à ce sujet.

Joe Fusco : Ouais, ouais, certainement. Je vais donc certainement me rendre au WordCamp US. Je suis assez excité à ce sujet. Ce sera mon deuxième. Je pense que mon autre était à Philadelphie en 2015. Mais oui, je serai là, heureux de répondre à toutes vos questions, je traînerai sur le stand WP Engine. Il y aura d'autres personnes avec moi, je crois que ce sont Jeff Everhart et Jordan Maslin, alors venez certainement nous dire bonjour et choisir nos cerveaux.

Doc Pop : WP Engine propose souvent de superbes cadeaux. Je n'en ai pas vu, mais y aura-t-il des autocollants ou quoi que ce soit pour Faust ? Je ne sais pas si cette communauté a encore sa propre image de marque.

Joe Fusco : Donc, je ne pense pas que nous aurons pour le moment des autocollants spécifiques à Faust. Je sais qu'il y aura d'autres objets là-bas, mais oui, nous sommes en quelque sorte au début de la marque un peu de Faust à mesure qu'il mûrit.

Doc Pop : À ce sujet, si les gens sont intéressés, s'ils écoutent ceci et s'intéressent à Faust, quelle serait peut-être une bonne chose qu'ils fassent pour en apprendre davantage et s'y plonger un peu un peu ? Essaye le?

Joe Fusco : Nous serions ravis de vous avoir tous, toute personne intéressée à l'essayer. Je dirais que le meilleur moyen est simplement de visiter notre site, faustjs.org. Vous pouvez vous rendre dans la section Mise en route, qui vous guidera à travers l'un de nos exemples de projets, où vous pourrez simplement le configurer avec une seule commande, le faire fonctionner et voir comment les données y circulent et y fonctionnent.

Doc Pop : Pour cet exemple de projet, il est basé sur le Web. Savez-vous si c'est la même chose que WordPress, je pense que ça s'appelle, je ne sais pas si c'est le bac à sable WordPress, mais comme le genre de version Web en ligne de WordPress où vous pouvez en quelque sorte l'essayer sans l'héberger. Est-ce que vous utilisez tous la même chose là-bas ?

Joe Fusco : Nous n'avons donc aucun terrain de jeu WordPress configuré sur notre site actuel, mais c'est quelque chose que j'examine personnellement et dont je m'intéresse également. J'ai donc un Code Pen que je pourrais partager après cela, avec un lien contenant le plugin Faust WordPress configuré avec GraphQL dans WordPress Playground.

C’est donc certainement un moyen rapide de vérifier le côté WordPress des choses.

Doc Pop : Sur le site que vous venez de citer, est-ce que les gens peuvent aussi trouver un lien vers le GitHub ? Ou devrions-nous également leur donner un lien rapide pour cela ?

Joe Fusco : Oui, je peux ajouter un lien vers cela, mais oui, GitHub est WPEngine.Faustjs, et il héberge nos packages NPM et le plugin WordPress, alors venez le découvrir,

Doc Pop : Nous allons prendre encore une petite pause, et à notre retour, nous terminerons notre conversation avec Joe Fusco à propos de Faust.Js, GraphQL et Headless WordPress, alors restez à l'écoute juste après ce court casser.

Doc Pop : Bienvenue sur Press This, un podcast de la communauté WordPress. Je suis votre hôte, Doc Pop. Aujourd'hui, nous parlons avec Joe Fusco de Faust.js et de certaines des choses à venir. Nous avons parlé de la demande de commentaires. Nous avons parlé de la sortie officielle de la version bêta. Nous avons parlé du WordCamp US. Et je suppose que la dernière chose que je veux demander à Joe, c'est que je suis toujours curieux quand il y a une nouvelle technologie comme celle-ci, s'il y a des moyens pour moi de la voir dans la nature.

Y a-t-il de bons exemples d'utilisation de Faust.js dans la nature pour que les gens puissent jouer avec, ou au moins simplement entendre parler de l'histoire de la façon dont il est utilisé.

Joe Fusco : Oui, absolument. Nous sommes donc vraiment satisfaits du taux d'adoption de Faust jusqu'à présent. À tel point que même WP Engine utilise actuellement Faust et est hébergé sur notre plate-forme Atlas. Alors jetez un œil à ça, voyez à quel point c'est rapide et oui, c'est vraiment cool.

Sur faustjs.org, nous prévoyons d'ajouter une petite section vitrine qui met en évidence certains de ces sites géniaux qui utilisent actuellement Faust. Et oui, l'un d'entre eux étant également notre site principal, WPEngine.com, sur la plateforme Atlas.

Vous n'avez pas besoin d'être sur WP Engine pour utiliser Faust. Je veux juste clarifier cela. Il peut être utilisé avec n’importe quel type de plateforme. Mais nous pensons qu’Atlas est le meilleur environnement sur lequel Faust peut être hébergé.

Doc Pop : Et nous n'avons pas parlé d'Atlas en particulier. Voulez-vous faire rapidement la différence entre Atlas et Faust ?

Joe Fusco : Oui, Atlas est donc le framework sans tête de WP Engine. Voilà donc si vous souhaitez héberger un site WordPress, et côté Node, la prochaine étape, Atlas est l'endroit où vous voulez aller. De nombreux autres outils sont également proposés, tels que Atlas Search. C'est assez puissant, avec de nombreuses fonctionnalités impressionnantes qui sont activement développées.

Doc Pop : Eh bien, c'est un excellent moment pour conclure cette conversation avec Joe Fusco. Si vous souhaitez en savoir plus sur Faust.js, vous pouvez vous rendre sur faustjs.org. Vous pouvez également les trouver sur GitHub. Et je suis sûr que si vous regardez sur Twitter et ailleurs, vous pourrez également trouver des gens qui en parlent.

Doc Pop : Merci d'avoir écouté Press This, un podcast de la communauté WordPress sur WMR. Encore une fois, je m'appelle Doc et vous pouvez suivre mes aventures avec le magazine Torque sur Twitter @thetorquemag ou vous pouvez vous rendre sur torquemag.io où nous proposons chaque jour des tutoriels, des vidéos et des interviews comme celle-ci. Alors consultez torquemag.io ou suivez-nous sur Twitter. Vous pouvez vous abonner à Press This sur Red Circle, iTunes, Spotify ou le télécharger directement sur wmr.fm chaque semaine. Je suis votre hôte Doctor Popular. Je soutiens la communauté WordPress à travers mon rôle chez WP Engine. Et j'aime mettre en lumière les membres de la communauté chaque semaine sur Press This.