Apăsați pe aceasta: cum ascultă Faust.js comunitatea

Publicat: 2023-09-01

Bun venit la Press This, podcastul comunității WordPress de la WMR. Fiecare episod prezintă invitați din întreaga comunitate și discuții despre cele mai mari probleme cu care se confruntă dezvoltatorii WordPress. Următoarea este o transcriere a înregistrării originale.

Produs de RedCircle

Doc Pop : Ascultați Press This, un podcast comunitar WordPress pe WMR. În fiecare săptămână, punem în evidență membrii comunității WordPress. Sunt gazda ta, doctore Pop. Sprijin comunitatea WordPress prin rolul meu la WP Engine și prin contribuțiile mele pe TorqueMag.Io, unde pot să fac podcasturi și să desenez desene animate și videoclipuri tutoriale. Verifica asta.

Vă puteți abona la Press This pe Red Circle, iTunes, Spotify, aplicația preferată de podcasting sau puteți descărca episoade direct de pe wmr.fm.

Faust.js este un cadru JavaScript creat pentru a dezlănțui puterea WordPress pentru site-urile web fără cap. Faust este unul dintre singurele, dacă nu singurele, cadre JavaScript construite special în jurul WordPress fără cap, iar Faust.js a ieșit oficial din versiunea beta pe 12 iunie 2023. Și poate chiar să aibă unele caracteristici care vor apărea în curând, la timp pentru WordCamp SUA , care se întâmplă săptămâna viitoare. Așa că invitatul meu de astăzi este Joe Fusco, un inginer senior de software la WP Engine care lucrează la Faust. Și vom vorbi despre unele dintre aceste noi funcții și despre ce s-a schimbat de când Faust a ieșit din versiunea beta.

Joe, ce mai faci azi?

Joe Fusco: Bine, doctore, mulțumesc că m-ai primit.

Doc Pop: Da, mulțumesc foarte mult că ni ești alături. Să începem doar anunțându-ne cum ai intrat în WordPress?

Joe Fusco: Da, desigur. Deci, povestea mea despre originea WordPress, am început să folosesc WordPress în 2013 în jurul versiunii 3.5. La acea vreme, lucram la o idee pe care o aveam, doar construind niște site-uri minore și schimbând și de fapt am pus piciorul în ușă cu o agenție locală din Rochester, New York, construind niște teme personalizate.

Și de acolo, am primit primul meu loc de muncă la distanță lucrând pentru Inksub, care este compania din spatele WPMU Dev, EduBlogs și Campus Press. Așa că am avut puțin timp cu fiecare dintre acele părți. Așa că am lucrat pentru acele companii și apoi de acolo, m-am mutat de fapt în Tampa, Florida, unde am avut ocazia să lucrez pentru o companie de producție care folosea WordPress nu numai pentru site-ul lor de marketing, ci și pe plan intern. o grămadă de instrumente diferite. Așa că mi-am udat picioarele cu WordPress Headless atunci.

Am făcut multe dezvoltări personalizate acolo. Asta a fost în timpul pandemiei, așa că totul a trecut la distanță. De fapt, am avut ocazia să mă întorc la Rochester și atunci am început să lucrez pentru WP Engine. Deci da, a fost grozav de atunci.

Doc Pop: Ai menționat ceva acolo, la care nu m-am gândit, dar făceai WordPress, lucrezi cu niște teme și produse grozave. Și atunci când te-ai mutat în Florida, încă mai făceai WordPress, dar făceai WordPress fără cap pentru o fabrică. De parcă asta mi se pare foarte interesant și simt că trebuie să te arunci puțin mai mult în acea informație.

Joe Fusco: Absolut. Da. Deci, această oportunitate, tocmai am primit într-o zi un e-mail care spunea: „Hei, ne plac lucrurile tale de pe GitHub. Putem să te punem să cobori?”

Și am crezut că este fals la început, mi s-a părut cu adevărat spam. Și așa am spus, da, sigur, voi coborî.

Și mi-au oferit un loc de muncă. Este cu unul dintre cei mai mari producători de uși din lume. Au câteva clădiri în Tampa. Și a fost cu adevărat suprarealist, a mutat toată familia acolo jos, am fost acolo timp de trei ani. Și am început să construim o mulțime de componente fără cap.

Deci organizația reală, partea de marketing era foarte familiarizată cu WordPress. Au fost foarte mult investiți în WordPress. Deci, folosirea WordPress fără cap a avut sens, având în vedere că aveam deja acele sisteme instalate la acea vreme. Deci, da, au fost niște lucruri destul de grozave care au fost create din asta, cum ar fi niște configuratori de uși.

Doc Pop: Îmi place asta, mulțumesc foarte mult că te-ai scufundat în asta.

Joe Fusco: Da.

Doc Pop: Îmi place că povestea a luat această întorsătură în cel mai mare producător de uși din lume și tehnologie WordPress fără cap și totul este legat împreună. Să ne întoarcem să vorbim despre Faust. Cred că Faust.js mai întâi, WP Engine a lansat pentru prima dată o versiune la sfârșitul anului 2021.

La fel ca septembrie 2021. Și recent, cu câteva luni în urmă, au ieșit din beta odată cu lansarea oficială a produsului. Poți să le spui ascultătorilor noștri ce este Faust.js și ce s-a întâmplat în acei câțiva ani între începutul proiectului și ieșirea din beta?

Joe Fusco: Da, cu siguranță, Faust.js a început inițial ca un, cred, un fel de proiect hackathon și apoi a evoluat de acolo. A trecut prin câteva etape diferite. Unul a fost cu GQty, care este un client GraphQL. De acolo, pur și simplu nu a fost cel mai bun instrument pentru acea perioadă, deoarece am escaladat.

Așa că am decis să trecem la Apollo. Și de acolo, am dezvoltat o mulțime de funcții noi. Ieșind recent din versiunea beta, am vrut doar să le indicăm comunității că acesta este un cadru pregătit pentru producție, așa că, deși nimic nu a fost legat în mod specific de acea versiune 1.0, au apărut niște idei uriașe. pentru care avem în prezent RFC-uri pe GitHub.

Doc Pop: Deci să vorbim despre aceste RFC-uri. În primul rând, nu văd multe solicitări de comentarii la pluginuri în comunitatea WordPress. Deseori, se pare că poate dezvoltatorii ascultă, verifică pe Twitter sau lucruri de genul ăsta. Dar, genul real de a-l deschide și de a primi feedback. Este destul de interesant. Poate pentru că acesta este un proiect atât de mare încât de aceea faceți asta.

Dar mă întrebam înainte de a intra în RFC-urile specifice, poate ați putea să ne spuneți de ce ați mers pe GitHub și ați contactat pentru comentarii de la utilizatori?

Joe Fusco: Da, deci Faust a fost un proiect open source. Cu toate acestea, a fost un fel de sponsorizat corporativ de un motor WP. Deci, odată cu asta vin și propriile provocări. Avem propriul nostru proces intern, dar suntem pe GitHub open source și există întreaga cultură open source.

În jurul asta cu alți ingineri contribuind înapoi. Așadar, a existat un mic decalaj pe care am observat-o cu feedback-ul și nu totul era la vedere, sau cred că ați putea spune că construim în public cu aceste decizii.

Deci am vrut să încorporăm RFC-uri în fluxul nostru de lucru. Obțineți feedback direct din partea comunității și repetați doar în public aceste gânduri. Deci a fost grozav până acum. Ne-a plăcut feedback-ul oferit și așteptăm cu nerăbdare să facem acest lucru mai mult.

Doc Pop: Unul dintre primele bilete pe care le-am văzut a fost o solicitare de comentarii pe componentele React la blocurile Gutenberg. Acest document oferă o propunere detaliată pentru conversia componentelor React existente în blocuri Gutenberg. Oamenii care ascultă ar trebui să știe ce sunt blocurile Gutenberg, dar acestea sunt editarea bazată pe blocuri la care s-a orientat WordPress. Ne puteți spune despre ce este propunerea de aici?

Joe Fusco: Componentele React la blocurile Gutenberg. Aceasta este un fel de următoarea evoluție a podului React Gutenberg, dacă vreți, și, în esență, ceea ce vrem să facem este să luăm componentele React existente care sunt într-o aplicație Next și să avem doar acele tipuri de sincronizare automată cu WordPress. Deci, dacă aveți un bloc Gutenberg creat într-un singur loc. Nu trebuie să dublezi asta și să instalezi un plugin și să-l ai pe ambele părți cu cod duplicat. Așa că vrem cu adevărat ca Faust să poată face față acestui lucru și să faciliteze acest tip de conexiune între cele două ecosisteme, dacă vreți.

Doc Pop: Și care sunt provocările în a face așa ceva?

Joe Fusco: Da, deci provocări până acum, vreau să spun, cu siguranță încă mai descoperim lucruri diferite cu asta, dar am construit niște POC-uri până acum și ne-au adus cam 90% din drum până acolo. Deci, unele dintre provocările de acum, una dintre cele mai mari este denumirea. Știu că nu e ceva tehnic, dar cum numim chestia asta?

Numirea este întotdeauna dificilă. Dar dincolo de asta, încercând să-l facem pe WordPress să creadă că acest bloc, acel WordPress nu caută în mod normal blocuri ca acestea să fie de la distanță în altă parte, ci doar îl face să se joace frumos cu WordPress. Deci, în ceea ce privește WordPress, ar fi doar un tip tradițional de bloc pe care l-ați crea poate cu ajutorul WordPress. Cred că este ca și cum NPX crea bloc.

Doc Pop: În solicitarea de comentarii, ați primit cu toții feedback cu privire la această problemă specifică care v-a ajutat echipa sau a arătat că există o prioritate despre care nu vă așteptați să auziți?

Joe Fusco: Nu momentan sau nu încă. Cred că o mare parte din conversația de până acum a fost un fel de conceptualizare care este această idee, pentru că acum suntem în acest spațiu în care, din câte am putut vedea, nimeni nu a făcut așa ceva. Deci multă inovație aici. Și odată cu asta vine și construirea acelor modele mentale pe care comunitatea să le înțeleagă.

Doc Pop: Da, cred că este un mod bun de a spune. Acesta este cu siguranță un teritoriu neexplorat, despre care vorbiți, chiar și cu denumirea. Numirea părților este dificilă și există o mulțime de părți de lucru, dar, de asemenea, simt că Gutenberg și Editorul de blocuri sunt, poate, încă o țintă în mișcare. A fost un fel de problemă atunci când dezvoltați ceva în jurul lui Gutenberg, că există o schimbare de la nucleu care a fost neașteptată, sau Gutenberg este destul de stabil în zilele noastre?

Joe Fusco: Da, grozavă întrebare. Deci, la început, când m-am alăturat echipei, da, s-au întâmplat absolut niște schimbări care ne-au cam dat înapoi puțin, doar diferite tipuri de scheme și altele. Aș spune că anul acesta a fost destul de stabil, cel puțin cu părțile pe care le folosim din WordPress.

Deci a fost mult mai bine. Într-adevăr, ne concentrăm doar pe acele lucruri pregătite pentru producție, dar totuși ne păstrăm urechea aproape de caracteristicile de vârf ale lui Gutenberg.

Doc Pop: Și acesta este un loc bun pentru a face o pauză rapidă. Când ne vom întoarce, vom continua conversația cu Joe Fusco despre Faust.js și WordPress Headless, așa că rămâneți pe fază pentru mai multe după această scurtă pauză.

Doc Pop: Bine ați revenit la Press This, un podcast al comunității WordPress. Sunt gazda ta, doctore Pop. Astăzi, vorbim cu Joe Fusco de la WP Engine despre Faust.js și despre ce se întâmplă cu solicitarea de comentarii pentru unele modificări propuse. Și vorbeam mai devreme în emisiune despre cum nu multe dintre pluginurile pe care le urmăresc fac cereri de comentarii pe care le văd, dar poate că o fac, și nu sunt atât de adaptat, dar vorbim despre acelea. care sunt scoase acum de echipa Faust.js și am vorbit despre un RFC pentru componentele React pentru blocurile Gutenberg, un altul pe care cred că merită să îl aducem este Next.js, AppRouterSupport și Faust. Joe, poți să ne spui care este propunerea aici?

Joe Fusco: Următorul. Suport js App Router și propunere Faust. Am făcut câteva cercetări pentru a vedea cum putem susține noua funcție App Router în Next.js. Prin urmare, vă propunem câteva soluții posibile aici.

Dar, în esență, ceea ce încercăm să facem este că AppRouter folosește componentele serverului React. Deci, ceea ce înseamnă că putem prelua date de la WordPress pe server, mai degrabă decât să facem un fel de interogare GraphQL pentru a prelua totul, așa cum puteți vedea în prezent în exemplele noastre actuale pe depozitul Faust. Deci da, suntem cu toții foarte încântați de asta.

Îl deschide într-un fel pe Faust să fie și mai agnostic cadru. Doar posibilitatea de a suporta componentele serverului React în general. Deci, vă puteți imagina că poate aveți niște câmpuri personalizate pe o postare și poate niște câmpuri personalizate în altă parte sau ca un meniu. În mod ideal, dorim ca fișierele să poată face față preluării acestora sau cel puțin să fie capabile să furnizeze utilități care să-i ajute pe dezvoltatori să reducă această frecare pentru a începe cu WordPress și fără cap.

Doc Pop: Și văd ca parte a propunerii, se spune că, odată cu introducerea AppRouter, există un nou fișier numit head.Js care are suport personalizat pentru preluarea metadatelor, care ar trebui să ajute utilizatorii cu SEO. Puteți vorbi puțin despre beneficiile de acolo?

Joe Fusco: Am lucrat la sau doar am gândit cum vrem să gestionăm asta. Așadar, SEO este o parte uriașă a WordPress, o mulțime de plugin-uri SEO și, într-adevăr, pe partea fără cap, SEO nu este, nu este chiar prioritizat, cel puțin cu WordPress fără cap. Este un fel ca și cum să rulezi propriul tău fel de soluție.

Așa că vrem ca Faust să poată umple acest gol și credem că acest API de metadate ne-ar putea ajuta cu siguranță să ajungem acolo.

Doc Pop: Și, de asemenea, ca parte a acestei schimbări, ați menționat că ar ajuta la menținerea lui Faust agnostic. Și văd aici că asta va ajuta dezvoltatorii de pluginuri și oamenii care folosesc pluginuri. Puteți vorbi despre ce înseamnă această schimbare? De ce suportul AppRouter ar putea ajuta pluginurile să funcționeze mai bine cu Faust?

Joe Fusco: Da, da, cu siguranță. Cu această propunere, este oarecum o schimbare de paradigmă. Nu credem că înlocuim modul în care este configurat Faust în prezent, ci mai mult ca să oferim mai multe utilități și un ajutor. Așa că vă puteți imagina că un plugin WordPress are câteva setări personalizate. Faust oferă un instrument pentru a le prinde rapid pe cele de pe front-end în aplicația Next. Da, doar ajută la facilitarea conexiunii dintre cele două ecosisteme WordPress și Next.

Doc Pop: API-ul WordPress Rest a fost lansat în 4.7. Nu-mi amintesc dacă a fost poate în 2016. Și sunt doar oarecum curios despre ce GraphQL, pentru că vorbim mult despre asta cu Faust.js. Ce oferă GraphQL pe care poate oamenii nu l-au putut obține din API-ul REST care se află în nucleul WordPress?

Joe Fusco: Da, da, o întrebare grozavă. GraphQL permite, aș spune cel mai mare lucru, fără a intra prea mult în ceea ce este GraphQL, dar eu doar modelez datele dvs. așa cum doriți. Așa că pot decide cum ar fi, hei, vreau doar ca X, Y și Z să fie returnați de la WordPress. Pot trimite o cerere care are acele lucruri în ordinea în care le doresc.

Și GraphQL prin pluginul WP GraphQL va oferi asta în exact tipul de formă pe care mi-l doresc. Deci nu trebuie să filtrez printr-o grămadă de puf într-un răspuns. Ar putea fi ca REST. Sunt o mulțime de lucruri în plus acolo.

Doc Pop: WordCamp US, am menționat în partea de sus a emisiunii, WordCamp US urmează, în măsura în care când înregistrăm, este săptămâna viitoare. Sunt doar oarecum curios dacă, în primul rând, dacă intenționați să mergeți la WordCamp SUA și dacă oamenii vă pot contacta acolo. Și în al doilea rând, dacă va exista poate vreo reprezentare Faust sau GraphQL acolo, cum ar fi la standul WP Engine, sau poate orice anunț nou care iese despre asta.

Joe Fusco: Da, da, cu siguranță. Așa că mă voi îndrepta cu siguranță către WordCamp SUA. Destul de entuziasmat de asta. Acesta va fi al doilea meu. Cred că celălalt al meu a fost în Philadelphia în 2015. Dar da, voi fi acolo, bucuros să răspund la orice întrebări, voi sta în jurul standului WP Engine. Vor mai fi și alți oameni cu mine, cred că sunt Jeff Everhart și Jordan Maslin, așa că neapărat veniți să salutați și alegeți-ne creierul.

Doc Pop: Motorul WP are deseori un stil grozav. Nu am văzut niciunul, dar vor fi autocolante sau ceva pentru Faust? Nu știu dacă această comunitate are încă propriul ei brand.

Joe Fusco: Deci, nu cred că vom avea acum autocolante specifice lui Faust. Știu că vor exista și alte modele acolo, dar da, suntem cam la început să-i facem un pic pe Faust pe măsură ce se maturizează.

Doc Pop: Pe această temă, dacă oamenii sunt interesați, dacă ascultă asta și sunt interesați de Faust, ce poate fi un lucru bun pentru ei să învețe despre asta și să se scufunde puțin în încearcă?

Joe Fusco: Ne-ar plăcea să vă avem pe toți, pe oricine este interesat să-l încerce. Aș spune că cea mai bună modalitate este să vizitați site-ul nostru, faustjs.org. Puteți merge acolo la secțiunea Noțiuni de bază și vă va ghida prin unul dintre proiectele noastre exemplu, unde îl puteți configura cu o singură comandă și îl puteți pune în funcțiune și vedeți cum circulă și funcționează datele acolo.

Doc Pop: Pentru acel exemplu de proiect, este bazat pe web. Știți dacă este același cu WordPress, cred că se numește, nu știu dacă este WordPress sandbox, dar ca genul de versiune web online a WordPress în care puteți să o încercați fără a o găzdui. Folositi toti acelasi lucru acolo?

Joe Fusco: Deci nu avem niciunul dintre terenurile de joacă WordPress configurate pe site-ul nostru actual, dar asta este ceva la care mă uit personal și despre care m-am gândit și eu. Deci am un Code Pen pe care l-aș putea împărtăși după aceasta, cu un link care are pluginul Faust WordPress configurat cu GraphQL în WordPress Playground.

Deci, acesta este cu siguranță o modalitate rapidă de a verifica partea WordPress a lucrurilor.

Doc Pop: Pe site-ul web pe care tocmai l-ați menționat, oamenii pot găsi și un link către GitHub? Sau ar trebui să le dăm un link rapid și pentru asta?

Joe Fusco: Da, pot adăuga un link la asta, dar da, GitHub este WPEngine.Faustjs și găzduiește pachetele noastre NPM și pluginul WordPress, așa că vino și verifică-l,

Doc Pop: Vom mai face o pauză rapidă, iar când ne vom întoarce, vom încheia conversația cu Joe Fusco despre Faust.Js, GraphQL și Headless WordPress, așa că rămâneți pe fază imediat după acest scurt scurt pauză.

Doc Pop: Bine ați revenit la Press This, un podcast comunitar WordPress. Sunt gazda ta, doctore Pop. Astăzi, vorbim cu Joe Fusco despre Faust.js și despre unele dintre lucrurile care urmează. Am vorbit despre cererea de comentarii. Am vorbit despre ieșirea oficială din versiunea beta. Am vorbit despre WordCamp US. Și cred că ultimul lucru pe care vreau să-l întreb pe Joe este că sunt mereu curios când există o nouă tehnologie ca aceasta, dacă există modalități prin care să o văd în sălbăticie.

Există exemple bune la care vă puteți gândi despre utilizarea Faust.js în sălbăticie pentru ca oamenii să se joace cu el, sau cel puțin să aud despre povestea despre cum este folosit?

Joe Fusco: Da, absolut. Așa că suntem foarte mulțumiți de gradul de adopție pe care Faust o obține până acum. Atât de mult încât chiar și WP Engine acum utilizează Faust și este găzduit pe platforma noastră Atlas. Așa că, cu siguranță, verifică asta, vezi cât de repede este și da, este foarte tare.

Pe faustjs.org, plănuim să adăugăm o mică secțiune de prezentare care evidențiază unele dintre acele site-uri minunate care folosesc în prezent Faust. Și da, unul dintre acestea fiind site-ul nostru principal, WPEngine.com, și pe platforma Atlas.

Nu trebuie să fii pe WP Engine pentru a folosi Faust. Vreau doar să clarific asta. Poate fi folosit cu orice fel de platformă. Dar credem că Atlas este cel mai bun mediu în care Faust poate fi găzduit.

Doc Pop: Și nu am vorbit despre Atlas în special. Vrei să faci rapid diferența dintre like Atlas și Faust?

Joe Fusco: Da, deci Atlas este cadrul fără cap al WP Engine. Deci, dacă doriți să găzduiți un site WordPress, iar partea Nod, următorul pas, Atlas este locul în care doriți să mergeți. Există, de asemenea, o grămadă de alte instrumente care sunt oferite împreună cu acestea, cum ar fi Atlas Search. Este destul de puternic, o mulțime de caracteristici minunate care sunt în acest sens și sunt dezvoltate în mod activ.

Doc Pop: Ei bine, acesta este un loc grozav pentru noi pentru a încheia această conversație cu Joe Fusco. Dacă doriți să aflați mai multe despre Faust.js, puteți accesa faustjs.org. Le puteți găsi și pe GitHub. Și sunt sigur că dacă te uiți în jur pe Twitter și în alte locuri, vei putea găsi și oameni care vorbesc despre asta.

Doc Pop: Vă mulțumim că ați ascultat Press This, un podcast al comunității WordPress pe WMR. Încă o dată, mă numesc Doc și puteți urmări aventurile mele cu revista Torque pe Twitter @thetorquemag sau puteți accesa torquemag.io unde contribuim zilnic cu tutoriale și videoclipuri și interviuri ca acesta. Așa că accesați torquemag.io sau urmăriți-ne pe Twitter. Vă puteți abona la Press This pe Red Circle, iTunes, Spotify sau îl puteți descărca direct de la wmr.fm în fiecare săptămână. Sunt gazda ta Doctor Popular. Sprijin comunitatea WordPress prin rolul meu la WP Engine. Și îmi place să pun în evidență membrii comunității în fiecare săptămână pe Press This.