Presione esto: Cómo Faust.js escucha a la comunidad

Publicado: 2023-09-01

Bienvenido a Press This, el podcast comunitario de WordPress de WMR. Cada episodio presenta invitados de toda la comunidad y debates sobre los problemas más importantes que enfrentan los desarrolladores de WordPress. La siguiente es una transcripción de la grabación original.

Desarrollado por RedCircle

Doc Pop : Estás escuchando Press This, un podcast comunitario de WordPress sobre WMR. Cada semana destacamos a los miembros de la comunidad de WordPress. Soy tu anfitrión, Doc Pop. Apoyo a la comunidad de WordPress a través de mi función en WP Engine y mis contribuciones en TorqueMag.Io, donde puedo hacer podcasts, dibujar dibujos animados y videos tutoriales. Mira eso.

Puede suscribirse a Press This en Red Circle, iTunes, Spotify, su aplicación de podcasting favorita o puede descargar episodios directamente en wmr.fm.

Faust.js es un marco de JavaScript creado para liberar el poder de WordPress para sitios web sin cabeza. Faust es uno de los únicos, si no el único, marcos de JavaScript creados específicamente para WordPress sin cabeza, y Faust.js salió oficialmente de la versión beta el 12 de junio de 2023. Y es posible que incluso tenga algunas funciones próximamente, justo a tiempo para WordCamp US. , que sucederá la próxima semana. Mi invitado de hoy es Joe Fusco, un ingeniero de software senior en WP Engine que está trabajando en Faust. Y vamos a hablar sobre algunas de estas nuevas características y lo que ha cambiado desde que Faust salió de la versión beta.

Joe, ¿cómo estás hoy?

Joe Fusco: Bien, doctor, gracias por invitarme.

Doc Pop: Sí, muchas gracias por acompañarnos. Comencemos con solo decirnos, ¿cómo llegaste a WordPress?

Joe Fusco: Sí, por supuesto. Entonces, mi historia del origen de WordPress, comencé a usar WordPress en 2013 alrededor de la versión 3.5. En ese momento, solo estaba trabajando en una idea que tenía, simplemente construyendo algunos sitios menores y experimentando y, de hecho, puse mi pie en la puerta de una agencia local en Rochester, Nueva York, creando algunos temas personalizados.

Y a partir de ahí, conseguí mi primer trabajo remoto trabajando para Inksub, que es la empresa detrás de WPMU Dev, EduBlogs y Campus Press. Así que tuve un poco de tiempo con cada una de esas partes. Así que trabajé para esas empresas y luego, a partir de ahí, me mudé a Tampa, Florida, donde tuve la oportunidad de trabajar para una empresa de fabricación que usaba WordPress no solo para su sitio de marketing, sino también internamente para un un montón de herramientas diferentes. Entonces me mojé los pies con WordPress sin cabeza.

Hice mucho desarrollo personalizado allí. Eso fue durante la pandemia, por lo que todo cambió a remoto. De hecho, tuve la oportunidad de regresar a Rochester y fue entonces cuando comencé a trabajar para WP Engine. Así que sí, ha sido genial desde entonces.

Doc Pop: Mencionaste algo allí, no había pensado, pero estabas haciendo WordPress, trabajando con algunos temas y productos geniales. Y luego, cuando te mudaste a Florida, todavía estabas haciendo WordPress, pero estabas haciendo WordPress sin cabeza para una fábrica. Eso me suena muy interesante y siento que tienes que profundizar un poco más en ese detalle.

Joe Fusco: Absolutamente. Sí. Entonces, en esta oportunidad, un día recibí un correo electrónico que decía: “Oye, nos gustan tus cosas en GitHub. ¿Podemos hacer que bajes?

Y al principio pensé que era falso, simplemente parecía spam. Y entonces pensé, sí, claro, bajaré.

Y me ofrecieron un trabajo. Es con uno de los mayores fabricantes de puertas del mundo. Tienen algunos edificios en Tampa. Y fue realmente surrealista, toda la familia se mudó allí, estuvimos allí durante tres años. Y fueron muchos componentes sin cabeza los que comenzamos a construir.

Entonces, la organización real, el lado de marketing, estaba muy familiarizado con WordPress. Invirtieron mucho en WordPress. Entonces, usar WordPress sin cabeza tenía sentido dado que ya teníamos esos sistemas configurados en ese momento. Así que sí, se crearon algunas cosas muy interesantes a partir de eso, como algunos configuradores de puertas.

Doc Pop: Me encanta esto, muchas gracias por profundizar en eso.

Joe Fusco: Ah, sí.

Doc Pop: Me encanta que la historia tomó este giro hacia el fabricante de puertas más grande del mundo y la tecnología WordPress sin cabeza y todo está unido. Volvamos a hablar de Fausto. Creo que Faust.js fue el primero, WP Engine lanzó por primera vez una versión a finales de 2021.

Como septiembre de 2021. Y recientemente, hace un par de meses, salieron de la versión beta con el lanzamiento oficial del producto. ¿Puedes decirles a nuestros oyentes qué es Faust.js y qué ha sucedido en esos pocos años entre el inicio del proyecto y su salida de la versión beta?

Joe Fusco: Sí, ciertamente, Faust.js comenzó originalmente como, creo, una especie de proyecto de hackathon y luego evolucionó a partir de ahí. Pasó por diferentes tipos de fases. Uno fue con GQty, que es un cliente GraphQL. A partir de ahí, simplemente no era la mejor herramienta para ese momento mientras estábamos escalando.

Entonces decidimos cambiarnos a Apollo. Y a partir de ahí, hemos ido desarrollando muchas funciones nuevas. Más recientemente, al salir de la versión beta, solo queríamos indicarle a la comunidad que este es un tipo de marco listo para producción, por lo que, si bien no hubo nada específicamente vinculado a esa versión 1.0, han surgido grandes ideas. para el que actualmente tenemos RFC en GitHub.

Doc Pop: Entonces hablemos de estos RFC. En primer lugar, no veo muchas solicitudes de comentarios sobre complementos en la comunidad de WordPress. A menudo, parece que los desarrolladores están escuchando, consultando Twitter o cosas así. Pero el tipo real de abrirlo y recibir retroalimentación. Eso es bastante interesante. Tal vez sea porque este es un proyecto tan grande que es por eso que todos ustedes lo están haciendo.

Pero me preguntaba, antes de entrar en los RFC específicos, tal vez podrían decirnos por qué fueron a GitHub y solicitaron comentarios de los usuarios.

Joe Fusco: Sí, entonces Faust ha sido un proyecto de código abierto. Sin embargo, ha sido patrocinado corporativamente por un motor WP. Eso conlleva sus propios desafíos. Tenemos nuestro propio proceso internamente, pero utilizamos el código abierto de GitHub y existe toda la cultura del código abierto.

Alrededor de eso con otros ingenieros contribuyendo. Entonces, realmente hubo una pequeña brecha que notamos con la retroalimentación y no todo salió a la luz, o supongo que se podría decir que se construyó en público con estas decisiones.

Por eso queríamos incorporar los RFC a nuestro flujo de trabajo. Obtenga comentarios de la comunidad directamente y repita estos pensamientos en público. Así que hasta ahora ha sido genial. Nos encantaron los comentarios que nos brindaron y esperamos hacerlo más.

Doc Pop: Uno de los primeros tickets que vi fue una solicitud de comentarios sobre los componentes de React para los bloques de Gutenberg. Este documento proporciona una propuesta detallada para convertir componentes de React existentes en bloques de Gutenberg. Las personas que escuchan deberían saber qué son los bloques de Gutenberg, pero estos son la edición basada en bloques a la que WordPress ha girado. ¿Puedes contarnos para qué sirve la propuesta aquí?

Joe Fusco: Los componentes de React a los bloques de Gutenberg. Esta es una especie de próxima evolución del puente React Gutenberg, por así decirlo, y esencialmente lo que queremos hacer es tomar los componentes de React existentes que están en una aplicación Next y simplemente sincronizarlos automáticamente con WordPress. Entonces, si tienes un bloque Gutenberg creado en un solo lugar. No tienes que duplicarlo e instalar un complemento y tenerlo en ambos lados con código duplicado. Así que realmente queremos que Fausto pueda manejar eso y facilitar ese tipo de conexión entre los dos ecosistemas, por así decirlo.

Doc Pop: ¿Y cuáles son los desafíos al hacer algo así?

Joe Fusco: Sí, los desafíos hasta ahora, quiero decir, definitivamente todavía estamos descubriendo cosas diferentes con esto, pero hemos construido algunos POC hasta ahora y hemos llegado al 90 por ciento del camino. Entonces, algunos de los desafíos en este momento, uno de los más grandes es el nombramiento. Sé que eso no es algo técnico, pero, ¿cómo llamamos a esto?

Poner nombres siempre es difícil. Pero más allá de eso, tratar de hacer que WordPress piense que este bloque, que WordPress normalmente no busca bloques como ese, están remotamente en otro lugar, sino simplemente lograr que funcione bien con WordPress. En lo que respecta a WordPress, sería simplemente un tipo de bloque tradicional que tal vez crearías con el ayudante de WordPress. Creo que es como crear un bloque NPX.

Doc Pop: En la solicitud de comentarios, ¿han recibido todos algún comentario sobre este tema específico que haya ayudado a su equipo o haya demostrado que hay una prioridad de la que no esperaban escuchar?

Joe Fusco: No por el momento o todavía no. Creo que gran parte de la conversación hasta ahora ha sido simplemente una especie de conceptualización de cuál es esta idea, porque ahora estamos en este espacio donde, por lo que pude ver, nadie ha hecho realmente algo como esto. Hay mucha innovación aquí. Y con eso viene la construcción de esos modelos mentales para que la comunidad los entienda.

Doc Pop: Sí, creo que es una buena forma de decirlo. Este es definitivamente un territorio inexplorado, como estás hablando, incluso con los nombres. Nombrar partes es difícil, y hay muchas partes que funcionan, pero también siento que Gutenberg y el Editor de bloques quizás todavía sean un objetivo en movimiento. ¿Ha sido un problema cuando estás desarrollando algo en torno a Gutenberg que haya un cambio desde el núcleo que fue inesperado, o Gutenberg es bastante estable en estos días?

Joe Fusco: Sí, gran pregunta. Entonces, al principio, cuando me uní al equipo, sí, se estaban produciendo algunos cambios que nos estaban haciendo retroceder un poco, solo diferentes tipos de esquemas y todo eso. Yo diría que este año ha sido bastante estable, al menos con las partes que utilizamos de WordPress.

Entonces ha sido mucho mejor. Realmente solo nos estamos enfocando en aquellas cosas listas para producción, pero aún mantenemos nuestro oído cerca de las características de vanguardia de Gutenberg.

Doc Pop: Y ese es un buen lugar para tomar un breve descanso. Cuando regresemos, continuaremos nuestra conversación con Joe Fusco sobre Faust.js y Headless WordPress, así que estad atentos para más información después de este breve descanso.

Doc Pop: Bienvenido de nuevo a Press This, un podcast comunitario de WordPress. Soy tu anfitrión, Doc Pop. Hoy estamos hablando con Joe Fusco de WP Engine sobre Faust.js y lo que está pasando con la solicitud de comentarios para algunos cambios propuestos. Y estuvimos hablando anteriormente en el programa sobre cómo no muchos de los complementos que sigo envían solicitudes de comentarios que veo, pero tal vez sí lo hacen, y no estoy tan sintonizado con eso, pero estamos hablando de los que que está publicando el equipo de Faust.js ahora, y hablamos sobre un RFC para componentes React para bloques de Gutenberg, otro que creo que vale la pena mencionar es Next.js, AppRouterSupport y Faust. Joe, ¿puedes decirnos cuál es la propuesta aquí?

Joe Fusco: el siguiente. Soporte js App Router y propuesta Faust. Hemos investigado un poco para ver cómo podemos admitir la nueva función App Router en Next.js. Dicho esto, proponemos aquí algunas posibles soluciones.

Pero esencialmente, lo que estamos tratando de hacer es que AppRouter utilice componentes del servidor React. Entonces, lo que eso significa es que podemos obtener datos de WordPress en el servidor, en lugar de realizar una gran consulta GraphQL para obtener todo, como puede ver actualmente en nuestros ejemplos actuales en el repositorio de Faust. Así que sí, todos estamos muy entusiasmados con esto.

En cierto modo, abre a Fausto para que también sea más agnóstico del marco. Simplemente poder soportar los componentes del servidor React en general. Entonces, puedes imaginar que tal vez tengas algunos campos personalizados en una publicación y tal vez algunos campos personalizados en otro lugar o como un menú. Idealmente, queremos que los archivos puedan manejar su recuperación o al menos puedan proporcionar utilidades para ayudar a los desarrolladores a reducir la fricción para comenzar con WordPress y sin cabeza.

Doc Pop: Y veo que parte de la propuesta dice que con la introducción de AppRouter, hay un nuevo archivo llamado head.Js que tiene soporte personalizado para recuperar metadatos, lo que debería ayudar a los usuarios con SEO. ¿Puedes hablar un poco sobre los beneficios allí?

Joe Fusco: Hemos estado trabajando o simplemente pensando en cómo queremos manejar esto. Entonces, el SEO es una gran parte de WordPress, hay muchos complementos de SEO, y en realidad, en el lado sin cabeza, el SEO no lo es, no tiene realmente una prioridad, al menos con WordPress sin cabeza. Es como crear tu propio tipo de solución.

Por eso queremos que Faust pueda llenar ese vacío y creemos que esta API de metadatos definitivamente podría ayudarnos a lograrlo.

Doc Pop: Y también como parte de este cambio, mencionaste que ayudaría a mantener a Fausto agnóstico. Y veo que eso ayudará a los desarrolladores de complementos y a las personas que los usan. ¿Puedes hablar sobre lo que significa este cambio? ¿Por qué la compatibilidad con AppRouter podría ayudar a que los complementos funcionen mejor con Faust?

Joe Fusco: Sí, sí, ciertamente. Con esta propuesta, es una especie de cambio de paradigma. No pensamos tanto en reemplazar la configuración actual de Faust, sino más bien en ofrecer más utilidades y un ayudante. Entonces puedes imaginar que un complemento de WordPress tiene algunas configuraciones personalizadas. Faust proporciona una herramienta para capturar rápidamente aquellos en la interfaz de su aplicación Next. Sí, simplemente ayuda a facilitar esa conexión entre esos dos ecosistemas de WordPress y Next.

Doc Pop: La API Rest de WordPress se lanzó en 4.7. No recuerdo si fue quizás 2016. Y tengo un poco de curiosidad sobre qué es GraphQL, porque estamos hablando mucho de eso con Faust.js. ¿Qué ofrece GraphQL que tal vez la gente no pueda obtener de la API REST que se encuentra en el núcleo de WordPress?

Joe Fusco: Sí, sí, gran pregunta. GraphQL permite, diría lo más importante, sin entrar demasiado en qué es GraphQL, pero simplemente le doy forma a sus datos como usted lo desea. Entonces puedo decidir, oye, solo quiero que WordPress devuelva X, Y y Z. Puedo enviar una solicitud que solo tenga esas cosas en el orden que las quiero.

Y GraphQL a través del complemento WP GraphQL lo proporcionará en el tipo exacto de forma que deseo. Así que no tengo que filtrar un montón de tonterías en una respuesta. Eso podría ser como DESCANSAR. Hay muchas cosas extra ahí.

Doc Pop: WordCamp US, mencioné al principio del programa, WordCamp US se acerca, en cuanto a cuando estemos grabando, será la próxima semana. En primer lugar, tengo curiosidad por saber si estás planeando ir a WordCamp US y si la gente puede localizarte allí. Y en segundo lugar, si habrá alguna representación de Faust o GraphQL allí, como en el stand de WP Engine, o quizás haya nuevos anuncios al respecto.

Joe Fusco: Sí, sí, ciertamente. Así que definitivamente iré a WordCamp US. Muy emocionado por eso. Este será mi segundo. Creo que el otro fue en Filadelfia en 2015. Pero sí, estaré allí, feliz de responder cualquier pregunta, estaré rondando el stand de WP Engine. Habrá otras personas conmigo, creo que son Jeff Everhart y Jordan Maslin, así que definitivamente vengan a saludarnos y a elegir nuestros cerebros.

Doc Pop: WP Engine a menudo tiene un gran estilo. No he visto ninguno, pero ¿habrá pegatinas o algo así para Fausto? No sé si esa comunidad tiene su propia marca todavía.

Joe Fusco: Entonces, no creo que tengamos ahora pegatinas específicas de Fausto. Sé que habrá otro botín allí, pero sí, estamos en el comienzo de empezar a marcar un poco a Fausto a medida que madura.

Doc Pop: Sobre ese tema, si la gente está interesada, si están escuchando esto y están interesados ​​en Fausto, ¿qué sería bueno que hicieran para aprender sobre ello y sumergirse un poco en ¿Pruébalo?

Joe Fusco: Nos encantaría que todos ustedes, cualquier persona interesada en probarlo. Yo diría que la mejor manera es simplemente visitar nuestro sitio, faustjs.org. Puede dirigirse a la sección Primeros pasos y lo guiará a través de uno de nuestros proyectos de ejemplo, donde puede configurarlo con un solo comando, ponerlo en funcionamiento y ver cómo los datos fluyen y funcionan allí.

Doc Pop: Para ese proyecto de muestra, está basado en la web. ¿Sabes si es lo mismo que WordPress? Creo que se llama, no sé si es el entorno limitado de WordPress, pero me gusta el tipo de versión web en línea de WordPress donde puedes probarlo sin tener que alojarlo. ¿Están usando todos lo mismo allí?

Joe Fusco: Así que no tenemos ninguno de los WordPress Playgrounds configurados en nuestro sitio actual, pero eso es algo que estoy analizando personalmente y sobre lo que también me he estado interesando. Entonces tengo un Code Pen que podría compartir después de esto, con un enlace que tiene el complemento Faust WordPress configurado con GraphQL en WordPress Playground.

Así que esa es definitivamente una forma rápida de comprobar el lado de WordPress.

Doc Pop: En el sitio web que acaba de mencionar, ¿la gente también puede encontrar un enlace a GitHub? ¿O deberíamos darles también un enlace rápido para eso?

Joe Fusco: Sí, puedo agregar un enlace a eso, pero sí, GitHub es WPEngine.Faustjs, y alberga nuestros paquetes NPM y el complemento de WordPress, así que ven y compruébalo.

Doc Pop: Tomaremos un breve descanso más y, cuando regresemos, concluiremos nuestra conversación con Joe Fusco sobre Faust.Js, GraphQL y Headless WordPress, así que estad atentos después de este breve. romper.

Doc Pop: Bienvenido de nuevo a Press This, un podcast comunitario de WordPress. Soy tu anfitrión, Doc Pop. Hoy hablaremos con Joe Fusco sobre Faust.js y algunas de las cosas que están por venir. Hemos hablado de la solicitud de comentarios. Hemos hablado de salir oficialmente de la versión beta. Hemos hablado de WordCamp EE. UU. Y supongo que lo último que quiero preguntarle a Joe es que siempre tengo curiosidad cuando hay nueva tecnología como esta, si hay formas de verla en la naturaleza.

¿Hay algún buen ejemplo que se te ocurra sobre el uso de Faust.js en la naturaleza para que la gente pueda jugar con él, o al menos simplemente escuchar la historia de cómo se usa?

Joe Fusco: Sí, absolutamente. Así que estamos muy contentos con la cantidad de adopción que Fausto está obteniendo hasta ahora. Tanto es así que incluso WP Engine en este momento utiliza Faust y está alojado en nuestra plataforma Atlas. Así que definitivamente échale un vistazo, mira lo increíblemente rápido que es y sí, es realmente genial.

En faustjs.org, estamos planeando agregar una pequeña sección de exhibición que destaque algunos de esos increíbles sitios que actualmente utilizan Faust. Y sí, uno de ellos es nuestro sitio principal, WPEngine.com, también en la plataforma Atlas.

No es necesario estar en WP Engine para usar Faust. Sólo quiero aclarar eso. Se puede utilizar con cualquier tipo de plataforma. Pero creemos que Atlas es el mejor entorno para alojar a Fausto.

Doc Pop: Y no hablamos de Atlas en particular. ¿Quieres establecer rápidamente la diferencia entre Atlas y Fausto?

Joe Fusco: Sí, entonces Atlas es el marco sin cabeza de WP Engine. Entonces, si desea alojar un sitio de WordPress y el lado del nodo, el siguiente paso es Atlas es el lugar al que desea ir. También hay muchas otras herramientas que se ofrecen con eso, como Atlas Search. Es bastante poderoso, hay muchas características increíbles que se incluyen y se desarrollan activamente.

Doc Pop: Bueno, ese es un gran momento para concluir esta conversación con Joe Fusco. Si desea obtener más información sobre Faust.js, puede visitar faustjs.org. También puedes encontrarlos en GitHub. Y estoy seguro de que si buscas en Twitter y otros lugares, también podrás encontrar gente hablando de ello.

Doc Pop: Gracias por escuchar Press This, un podcast comunitario de WordPress sobre WMR. Una vez más, mi nombre es Doc y puedes seguir mis aventuras con la revista Torque en Twitter @thetorquemag o puedes ir a torquemag.io donde contribuimos con tutoriales, videos y entrevistas como esta todos los días. Así que visita torquemag.io o síguenos en Twitter. Puede suscribirse a Press This en Red Circle, iTunes, Spotify o descargarlo directamente en wmr.fm cada semana. Soy su anfitrión, Doctor Popular. Apoyo a la comunidad de WordPress a través de mi función en WP Engine. Y me encanta destacar a los miembros de la comunidad todas las semanas en Press This.