Premi questo: come Faust.js ascolta la community

Pubblicato: 2023-09-01

Benvenuti a Press This, il podcast della community WordPress di WMR. Ogni episodio presenta ospiti provenienti da tutta la comunità e discussioni sui problemi più grandi che devono affrontare gli sviluppatori di WordPress. Quella che segue è la trascrizione della registrazione originale.

Alimentato da RedCircle

Doc Pop : stai ascoltando Press This, un podcast della community di WordPress su WMR. Ogni settimana mettiamo in evidenza i membri della community di WordPress. Sono il tuo ospite, Doc Pop. Supporto la community di WordPress attraverso il mio ruolo in WP Engine e i miei contributi su TorqueMag.Io dove posso realizzare podcast e disegnare cartoni animati e video tutorial. Controlla quello.

Puoi iscriverti a Press This su Red Circle, iTunes, Spotify, la tua app di podcasting preferita oppure puoi scaricare gli episodi direttamente su wmr.fm.

Faust.js è un framework JavaScript creato per liberare la potenza di WordPress per siti Web headless. Faust è uno dei pochi, se non l'unico, framework JavaScript costruito appositamente attorno a WordPress headless e Faust.js è ufficialmente uscito dalla versione beta il 12 giugno 2023. E potrebbe anche avere alcune funzionalità in arrivo giusto in tempo per WordCamp US , che accadrà la prossima settimana. Quindi il mio ospite oggi è Joe Fusco, un ingegnere software senior presso WP Engine che sta lavorando su Faust. E parleremo di alcune di queste nuove funzionalità e di cosa è cambiato da quando Faust è uscito dalla beta.

Joe, come stai oggi?

Joe Fusco: Bene, Doc, grazie per avermi ospitato.

Doc Pop: Sì, grazie mille per esserti unito a noi. Cominciamo semplicemente facendoci sapere, come sei arrivato a WordPress?

Joe Fusco: Sì, certo. Quindi la mia storia sulle origini di WordPress, ho iniziato a utilizzare WordPress nel 2013 intorno alla versione 3.5. All'epoca stavo semplicemente lavorando su un'idea che avevo, costruendo qualche tipo di sito minore e armeggiando e in realtà ho messo piede nella porta con un'agenzia locale a Rochester, New York, costruendo alcuni temi personalizzati.

E da lì ho ottenuto il mio primo lavoro da remoto lavorando per Inksub, che è la società dietro WPMU Dev, EduBlogs e Campus Press. Quindi ho avuto un po' di tempo con ciascuna di quelle parti. Quindi ho lavorato per quelle aziende e poi da lì mi sono trasferito a Tampa, in Florida, dove ho avuto l'opportunità di lavorare per un'azienda manifatturiera che utilizzava WordPress non solo per il proprio sito di marketing, ma anche internamente per un mucchio di strumenti diversi. Quindi mi sono bagnato i piedi con Headless WordPress allora.

Ho fatto molto sviluppo personalizzato lì. Ciò accadde durante la pandemia, quindi tutto stava passando al remoto. In realtà ho avuto l'opportunità di tornare a Rochester ed è stato allora che ho iniziato a lavorare per WP Engine. Quindi sì, è stato fantastico da allora.

Doc Pop: Hai menzionato qualcosa a cui non avevo pensato, ma stavi realizzando WordPress, lavorando con temi e prodotti fantastici. E poi quando ti sei trasferito in Florida, stavi ancora realizzando WordPress, ma stavi realizzando WordPress senza testa per una fabbrica. Mi sembra davvero interessante e sento che dovresti immergerti in quella notizia ancora un po'.

Joe Fusco: Assolutamente. Sì. Quindi, con questa opportunità, un giorno ho appena ricevuto un'e-mail che diceva: "Ehi, ci piacciono le tue cose su GitHub. Possiamo farti scendere?"

E all'inizio pensavo che fosse falso, sembrava davvero spam. E quindi ho pensato, sì, certo, verrò giù.

E mi hanno offerto un lavoro. È con uno dei maggiori produttori di porte del mondo. Hanno alcuni edifici a Tampa. Ed è stato davvero surreale, tutta la famiglia si è trasferita laggiù, siamo stati lì per tre anni. E abbiamo iniziato a costruire moltissimi componenti senza testa.

Quindi l'organizzazione vera e propria, il lato marketing, aveva molta familiarità con WordPress. Erano molto investiti in WordPress. Quindi usare WordPress headless aveva senso dato che all’epoca avevamo già configurato quei sistemi. Quindi sì, da questo sono nate alcune cose davvero interessanti, come alcuni configuratori di porte.

Doc Pop: Adoro questo, grazie mille per esserti tuffato in questo.

Joe Fusco: Oh sì.

Doc Pop: Adoro il fatto che la storia abbia preso questa svolta nel più grande produttore di porte del mondo e nella tecnologia WordPress headless e che tutto sia collegato insieme. Torniamo a parlare di Faust. Credo che prima Faust.js, WP Engine abbia lanciato per la prima volta una versione alla fine del 2021.

Come settembre 2021. E proprio di recente, un paio di mesi fa, sono usciti dalla beta con il rilascio ufficiale del prodotto. Puoi semplicemente raccontare ai nostri ascoltatori cos'è Faust.js e cosa è successo in questi pochi anni tra l'inizio del progetto e l'uscita dalla beta?

Joe Fusco: Sì, quindi certamente, Faust.js è iniziato originariamente, credo, come una sorta di progetto hackathon e poi si è evoluto da lì. Ho attraversato diversi tipi di fasi. Uno era con GQty, che è un client GraphQL. Da quel momento in poi, semplicemente non era lo strumento migliore per quel periodo poiché stavamo crescendo.

Quindi abbiamo deciso di passare ad Apollo. E da lì abbiamo sviluppato molte nuove funzionalità. Più recentemente, uscendo dalla beta, volevamo solo indicare alla community che si tratta di una sorta di framework pronto per la produzione, quindi sebbene nulla fosse specificamente legato a quella versione 1.0, sono emerse alcune enormi idee che sono emerse per cui attualmente disponiamo di RFC su GitHub.

Doc Pop: Allora parliamo di queste RFC. Prima di tutto, non vedo molte richieste di commenti sui plugin nella community di WordPress. Spesso sembra che gli sviluppatori stiano ascoltando, controllando Twitter o cose del genere. Ma il vero modo di aprirlo e ottenere feedback. È piuttosto interessante. Forse è perché questo è un progetto così grande ed è per questo che lo state facendo.

Ma mi chiedevo, prima di entrare nelle RFC specifiche, forse potresti semplicemente dirci perché siete andati tutti su GitHub e avete chiesto commenti agli utenti?

Joe Fusco: Sì, quindi Faust è stato un progetto open source. Tuttavia, è stato in qualche modo sponsorizzato a livello aziendale da un motore WP. Quindi con ciò arrivano le sue sfide. Abbiamo il nostro processo interno, ma utilizziamo GitHub open source e c'è l'intera cultura open source.

Intorno a questo con altri ingegneri che contribuiscono. Quindi c'era davvero solo un piccolo divario che stavamo notando con il feedback e non tutto era allo scoperto, o immagino che potresti dire costruire in pubblico con queste decisioni.

Quindi volevo incorporare le RFC nel nostro flusso di lavoro. Ottieni feedback direttamente dalla community e ripeti questi pensieri solo in pubblico. Quindi è stato fantastico finora. Abbiamo apprezzato il feedback che ci è stato fornito e non vediamo l'ora di farlo di più.

Doc Pop: Uno dei primi ticket che ho visto era una richiesta di commenti sui componenti React sui blocchi Gutenberg. Questo documento fornisce una proposta dettagliata per convertire i componenti React esistenti in blocchi Gutenberg. Le persone che ascoltano dovrebbero sapere cosa sono i blocchi Gutenberg, ma queste sono le modifiche basate su blocchi su cui WordPress si è orientato. Puoi dirci a cosa serve questa proposta?

Joe Fusco: I componenti React dei blocchi Gutenberg. Questa è una sorta di prossima evoluzione del bridge React Gutenberg, se vuoi, ed essenzialmente quello che vogliamo fare è prendere i componenti React esistenti che si trovano in un'applicazione Next e semplicemente sincronizzarli automaticamente con WordPress. Quindi, se hai un blocco Gutenberg creato in un punto. Non devi andare a duplicarlo e installare un plugin e averlo su entrambi i lati con codice duplicato. Quindi vogliamo davvero che Faust sia in grado di gestirlo e facilitare quel tipo di connessione tra i due ecosistemi, se vuoi.

Doc Pop: E quali sono le sfide nel fare qualcosa del genere?

Joe Fusco: Sì, quindi le sfide finora, voglio dire, stiamo sicuramente ancora scoprendo cose diverse con questo, ma finora abbiamo costruito alcuni POC e ci hanno portato al 90% del percorso. Quindi alcune delle sfide in questo momento, una delle più grandi, è la denominazione. So che non è una cosa tecnica, ma come chiamiamo questa cosa?

Dare un nome è sempre difficile. Ma oltre a ciò, cercare di far sì che WordPress pensi che questo blocco, che WordPress normalmente non cerca blocchi del genere, sia remotamente da qualche altra parte, ma semplicemente farlo funzionare bene con WordPress. Quindi, per quanto riguarda WordPress, sarebbe solo una sorta di blocco tradizionale che potresti creare magari con l'helper WordPress. Penso che sia come se NPX creasse un blocco.

Doc Pop: Nella richiesta di commenti, avete tutti ricevuto feedback su questo problema specifico che ha aiutato il vostro team o ha dimostrato che esiste una priorità di cui non vi aspettavate di sentire?

Joe Fusco: Non al momento o non ancora. Penso che gran parte della conversazione finora sia stata una sorta di concettualizzare quale sia questa idea, perché ora siamo in questo spazio dove, tipo, nessuno ha davvero fatto nulla del genere, da quello che ho potuto vedere. Quindi molta innovazione qui. E con ciò si arriva in qualche modo alla costruzione di quei modelli mentali che la comunità possa comprendere.

Doc Pop: Sì, penso che sia un buon modo per dirlo. Questo è decisamente un territorio inesplorato, come dici tu, anche per quanto riguarda i nomi. Dare un nome alle sue parti è difficile, e ci sono molte parti funzionanti, ma ho anche la sensazione che Gutenberg e il Block Editor siano ancora forse un bersaglio in movimento. È stato un problema quando sviluppavi qualcosa attorno a Gutenberg che ci fosse un cambiamento rispetto al nucleo che era inaspettato, o Gutenberg è piuttosto stabile al giorno d'oggi?

Joe Fusco: Sì, bella domanda. Quindi all'inizio, quando mi sono unito al team, sì, stavano accadendo assolutamente alcuni cambiamenti che ci stavano un po' ritardando, solo diversi tipi di schemi e quant'altro. Direi che quest'anno è stato abbastanza stabile, almeno con le parti che stiamo utilizzando di WordPress.

Quindi è stato molto meglio. In realtà ci stiamo concentrando solo su quelle cose pronte per la produzione, ma mantenendo comunque l'orecchio vicino alle caratteristiche all'avanguardia di Gutenberg.

Doc Pop: E quello è un buon posto per fare una breve pausa. Quando torneremo, continueremo la nostra conversazione con Joe Fusco su Faust.js e Headless WordPress, quindi rimanete sintonizzati per saperne di più dopo questa breve pausa.

Doc Pop: Bentornati a Press This, un podcast della community di WordPress. Sono il tuo ospite, Doc Pop. Oggi parliamo con Joe Fusco di WP Engine di Faust.js e di cosa sta succedendo con la richiesta di commenti per alcune modifiche proposte. E prima nello show stavamo parlando di come non molti dei plugin che seguo inviano richieste di commenti che vedo, ma forse lo fanno, e non sono così sintonizzato su questo, ma stiamo parlando di quelli che vengono pubblicati ora dal team di Faust.js e abbiamo parlato di un RFC per i componenti React sui blocchi Gutenberg, un altro che penso valga la pena menzionare è Next.js, AppRouterSupport e Faust. Joe, puoi dirci qual è la proposta qui?

Joe Fusco: Il prossimo. js Supporto per App Router e proposta Faust. Abbiamo effettuato un po' di ricerche per vedere come possiamo supportare la nuova funzionalità App Router in Next.js. Detto questo, proponiamo qui alcune possibili soluzioni.

Ma essenzialmente, quello che stiamo cercando di fare è che AppRouter utilizzi i componenti del server React. Ciò significa che possiamo recuperare i dati da WordPress sul server, invece di creare una grande sorta di query GraphQL per catturare tutto, come puoi attualmente vedere nei nostri esempi attuali sul repository Faust. Quindi sì, siamo tutti davvero entusiasti di questo.

In un certo senso apre Faust ad essere anche più agnostico rispetto al framework. Essere solo in grado di supportare i componenti del server React in generale. Quindi, puoi immaginare di avere alcuni campi personalizzati in un post e magari alcuni campi personalizzati da qualche altra parte o come un menu. Idealmente, vogliamo che i file siano in grado di gestirne il recupero o almeno siano in grado di fornire utilità per aiutare gli sviluppatori a ridurre l'attrito per iniziare con WordPress e headless.

Doc Pop: E vedo che, come parte della proposta, si dice che con l'introduzione di AppRouter, ci sarà un nuovo file chiamato head.Js che ha un supporto personalizzato per il recupero dei metadati, che dovrebbe aiutare gli utenti con la SEO. Puoi parlare un po’ dei vantaggi che ne derivano?

Joe Fusco: Abbiamo lavorato o semplicemente fatto un brainstorming su come vogliamo gestire questa cosa. Quindi la SEO è una parte enorme di WordPress, ci sono molti plugin SEO, e in realtà sul lato headless la SEO non lo è, non ha realmente la priorità, almeno con WordPress headless. È un po' come creare il tuo tipo di soluzione.

Vogliamo quindi che Faust sia in grado di colmare questa lacuna e riteniamo che questa API di metadati possa sicuramente aiutarci ad arrivarci.

Doc Pop: E anche come parte di questo cambiamento, hai detto che avrebbe aiutato a mantenere Faust agnostico. E vedo che questo aiuterà gli sviluppatori di plugin e le persone che usano i plugin. Puoi parlare di cosa significa questo cambiamento? Perché il supporto di AppRouter potrebbe aiutare i plugin a funzionare meglio con Faust?

Joe Fusco: Sì, sì, certamente. Con questa proposta, si tratta in qualche modo di un cambiamento di paradigma. Non pensiamo tanto di sostituire l'attuale configurazione di Faust, ma piuttosto di offrire semplicemente più utilità e un aiutante. Quindi puoi immaginare che un plugin WordPress abbia alcune impostazioni personalizzate. Faust fornisce uno strumento per catturare rapidamente quelli sul front-end nella tua app Next. Sì, aiuta solo a facilitare quella connessione tra i due ecosistemi di WordPress e Next.

Doc Pop: L'API Rest di WordPress è stata rilasciata nella versione 4.7. Non riesco a ricordare se fosse forse il 2016. E sono solo curioso di sapere cosa sia GraphQL, perché ne parliamo molto con Faust.js. Cosa offre GraphQL che forse le persone non potrebbero ottenere dall'API REST presente nel core di WordPress?

Joe Fusco: Sì, sì, bella domanda. GraphQL consente, direi la cosa più importante, senza entrare troppo in ciò che è GraphQL, ma semplicemente modellando i tuoi dati come desideri. Quindi posso decidere, ehi, voglio che solo X, Y e Z vengano restituiti da WordPress. Posso inviare una richiesta che contenga solo quelle cose nell'ordine in cui le desidero.

E il plugin GraphQL tramite WP GraphQL lo fornirà nell'esatto tipo di forma che desidero. Quindi non devo filtrare un mucchio di lanugine in una risposta. Potrebbe essere come REST. Ci sono un sacco di cose extra lì.

Doc Pop: WordCamp US, ho detto all'inizio dello show, WordCamp US sta arrivando, per quanto riguarda quando registreremo, è la prossima settimana. Sono solo curioso di sapere se, prima di tutto, hai intenzione di andare al WordCamp negli Stati Uniti e se le persone possono contattarti lì. E in secondo luogo, se ci sarà forse qualche rappresentazione di Faust o GraphQL lì, come allo stand di WP Engine, o magari qualche nuovo annuncio in uscita a riguardo.

Joe Fusco: Sì, sì, certamente. Quindi andrò sicuramente al WordCamp US. Sono piuttosto entusiasta di questo. Questo sarà il mio secondo. Penso che l'altro mio sia stato a Filadelfia nel 2015. Ma sì, sarò lì, felice di rispondere a qualsiasi domanda, starò allo stand di WP Engine. Ci saranno altre persone con me, credo che siano Jeff Everhart e Jordan Maslin, quindi sicuramente venite a salutarci e scegliete le nostre menti.

Doc Pop: WP Engine ha spesso un grande malloppo. Non ne ho visto nessuno, ma ci saranno degli adesivi o qualcosa del genere per Faust? Non so se quella comunità abbia già un proprio marchio.

Joe Fusco: Quindi, non credo che avremo adesso degli adesivi specifici per i Faust. So che ci saranno altri gadget lì, ma sì, siamo all'inizio e abbiamo appena iniziato a marchiare Faust un po' man mano che matura.

Doc Pop: A proposito di questo argomento, se le persone sono interessate, se stanno ascoltando questo e sono interessate a Faust, cosa potrebbe essere una buona cosa da fare per conoscerlo e tuffarsi un po' a fondo? Provalo?

Joe Fusco: Ci piacerebbe avere tutti voi, chiunque sia interessato a provarlo. Direi che il modo migliore è semplicemente visitare il nostro sito, faustjs.org. Puoi andare lì alla sezione Per iniziare e ti guiderà attraverso uno dei nostri progetti di esempio, dove puoi semplicemente configurarlo con un singolo comando e farlo funzionare e vedere come i dati fluiscono e funzionano lì.

Doc Pop: Per quel progetto di esempio, è basato sul web. Sapete se è lo stesso di WordPress, penso che si chiami, non so se sia WordPress sandbox, ma come il tipo di versione web online di WordPress dove puoi provarlo senza effettivamente ospitarlo. State usando tutti la stessa cosa lì?

Joe Fusco: Quindi non abbiamo nessuno dei WordPress Playgrounds impostato sul nostro sito attuale, ma è qualcosa che sto guardando personalmente e che mi sta appassionando. Quindi ho una Code Pen che potrei condividere dopo, con un collegamento che ha il plugin Faust WordPress configurato con GraphQL in WordPress Playground.

Quindi questo è sicuramente un modo rapido per verificare il lato WordPress delle cose.

Doc Pop: Sul sito web che hai appena menzionato, le persone possono trovare anche un collegamento a GitHub? O dovremmo fornire loro un collegamento rapido anche per quello?

Joe Fusco: Sì, posso aggiungere un collegamento a questo, ma sì, GitHub è WPEngine.Faustjs e ospita i nostri pacchetti NPM e il plug-in WordPress, quindi vieni a dare un'occhiata,

Doc Pop: Faremo un'altra breve pausa e, quando torneremo, concluderemo la nostra conversazione con Joe Fusco su Faust.Js, GraphQL e Headless WordPress, quindi rimanete sintonizzati subito dopo questo breve rottura.

Doc Pop: Bentornati a Press This, un podcast della community di WordPress. Sono il tuo ospite, Doc Pop. Oggi parleremo con Joe Fusco di Faust.js e di alcune delle novità in arrivo. Abbiamo parlato della richiesta di commenti. Abbiamo parlato dell'uscita ufficiale dalla beta. Abbiamo parlato di WordCamp US. E immagino che l'ultima cosa che voglio chiedere a Joe sia che sono sempre curioso quando ci sono nuove tecnologie come questa, se ci sono modi per vederle in natura.

Ci sono buoni esempi che puoi pensare di Faust.js utilizzato in natura per consentire alle persone di giocare, o almeno semplicemente ascoltare la storia di come viene utilizzato.

Joe Fusco: Sì, assolutamente. Quindi siamo davvero contenti della quantità di adozioni che Faust sta ottenendo finora. Tanto che anche WP Engine in questo momento utilizza Faust ed è ospitato sulla nostra piattaforma Atlas. Quindi dai un'occhiata, guarda quanto è velocissimo e sì, è davvero fantastico.

Su faustjs.org, stiamo progettando di aggiungere una piccola sezione vetrina che metta in evidenza alcuni di quei fantastici siti che attualmente utilizzano Faust. E sì, uno di questi è il nostro sito principale, WPEngine.com, anche sulla piattaforma Atlas.

Non è necessario essere su WP Engine per utilizzare Faust. Voglio solo chiarirlo. Può essere utilizzato con qualsiasi tipo di piattaforma. Ma riteniamo che Atlas sia l'ambiente migliore in cui Faust può essere ospitato.

Doc Pop: E non abbiamo parlato di Atlas in particolare. Vuoi collegare rapidamente la differenza tra Atlas e Faust?

Joe Fusco: Sì, quindi Atlas è il framework senza testa di WP Engine. Quindi è come se vuoi ospitare un sito WordPress e il lato Node, il passo successivo, Atlas è dove vuoi andare. Ci sono anche molti altri strumenti offerti, come Atlas Search. È piuttosto potente, ci sono un sacco di fantastiche funzionalità incluse e in fase di sviluppo attivo.

Doc Pop: Beh, per noi questo è un ottimo punto per concludere questa conversazione con Joe Fusco. Se desideri saperne di più su Faust.js, puoi andare su faustjs.org. Puoi trovarli anche su GitHub. E sono sicuro che se ti guardi intorno su Twitter e in altri posti, sarai in grado di trovare anche persone che ne parlano.

Doc Pop: Grazie per aver ascoltato Press This, un podcast della community WordPress su WMR. Ancora una volta, mi chiamo Doc e puoi seguire le mie avventure con la rivista Torque su Twitter @thetorquemag oppure puoi andare su torquemag.io dove ogni giorno contribuiamo con tutorial, video e interviste come questo. Quindi dai un'occhiata a torquemag.io o seguici su Twitter. Puoi iscriverti a Press This su Red Circle, iTunes, Spotify oppure puoi scaricarlo direttamente su wmr.fm ogni settimana. Sono il tuo host Doctor Popular. Supporto la comunità WordPress attraverso il mio ruolo in WP Engine. E mi piace mettere in luce i membri della comunità ogni settimana su Press This.