WordPress explora un enfoque agnóstico del marco de JavaScript para construir bloques de Gutenberg
Publicado: 2017-09-23
La discusión sobre la selección del marco JavaScript de WordPress continúa en el canal Slack #core-js antes de la reunión de la próxima semana. Uno de los temas más recientes es la posibilidad de representación de bloques independiente del marco para Gutenberg, lo que permitiría a los desarrolladores ampliar el nuevo editor utilizando cualquier biblioteca JS que prefieran. Esto significa que los bloques de Gutenberg, a los que coloquialmente se les llama "Gutenblocks", podrían construirse con Vue, React, Preact, Angular, o lo que el desarrollador se sienta cómodo usando.
Los defensores de esta idea sostienen que la búsqueda de un enfoque más flexible hace que la decisión del marco JS central de WordPress sea menos crítica. Mientras respondía preguntas en el canal #core-js, Gary Pendergast explicó cómo se podría construir Gutenberg para mantener la separación.
“Realmente no estoy bromeando cuando digo que esta decisión no importa, incluso para las personas que contribuyen a Gutenberg”, dijo Pendergast. “En el n.º 2463, la biblioteca se trata completamente como una biblioteca de utilidades, de forma similar a como usamos lodash, por ejemplo. Realiza un puñado de tareas, y puede extraerse y reemplazarse con relativa facilidad por algo completamente diferente, sin interrumpir el resto del código base. Para las personas que contribuyen a Gutenberg, están contribuyendo con el estilo de codificación de Gutenberg, no con el estilo de cualquier biblioteca que importemos".
Cuando se le preguntó acerca de un cronograma sobre cuándo se tomará la decisión y qué factores se están considerando, Pendergast respondió que no hay un cronograma y que aquellos interesados en participar deben escribir un blog sobre sus experiencias y escribir ejemplos de cosas que pueden construir con los marcos JS que están familiarizados.
“No hay una hoja de ruta, ni un cronograma, ni es necesario que lo haya”, dijo Pendergast. “Como mencionó Matt, en realidad es solo una decisión técnica: la decisión importante para la comunidad en general fue elegir 'no React'. Desafortunadamente, esta decisión se ha desproporcionado y se ha combinado en gran medida con '¿con qué biblioteca JS podré crear mis complementos?' y, a veces, "¿a qué prácticas de la biblioteca JS se parecerán los bloques de Gutenberg?", ninguna de las cuales está relacionada. Los tuits y las publicaciones que lo tratan como una carrera de caballos no son útiles en este sentido”.
Pendergast dijo que cualquier biblioteca que se seleccione "seguirá siendo envuelta por el elemento de WordPress, la biblioteca subyacente no estará expuesta". El equipo de Gutenberg está trabajando para eliminar todas las dependencias de la biblioteca de sus componentes para que los desarrolladores de complementos puedan usar cualquier biblioteca que elijan.
Sin embargo, otros miembros de la comunidad no están tan ansiosos por relegar la biblioteca JS seleccionada para el núcleo a una simple decisión técnica o biblioteca de utilidades.
“La mayoría de los desarrolladores entienden que sus complementos no están sujetos al marco elegido para Core/Gutenberg”, dijo Kevin Hoffman. “Pero eso no disminuye la importancia de la decisión. Si queremos alentar a más contribuyentes, haríamos bien en elegir un marco en el que una mayoría significativa se sienta capaz y confiada. Si esta mayoría está desarrollando complementos con un marco y tiene que aprender otro para contribuir al núcleo, entonces estamos limitando la cantidad de contribuyentes potenciales”.
Peter Booker sostiene que no importa cuán elegante sea la separación de Gutenberg, tener una comprensión decente de la biblioteca elegida para el núcleo afecta la capacidad de los desarrolladores para solucionar ciertos problemas en profundidad.
“No creo que debamos desdeñar la elección como una decisión técnica menor”, dijo Booker. “Comprender cómo funcionan PHP, JavaScript y Backbone (entre otras cosas) es esencial para poder depurar correctamente los problemas con WordPress. El marco JS elegido para Gutenberg va a impactar a muchas personas, incluso si no somos colaboradores principales. Será un conocimiento esencial para poder solucionar completamente los problemas. Esta es una decisión que afectará a muchas más personas además del equipo de Gutenberg”.

¿Cuáles son las implicaciones de proporcionar un enfoque flexible e independiente del marco para construir Gutenblocks?
Jason Bahl preguntó si alguien había intentado mezclar React, Preact, Vue y Angular en una sola aplicación para ver si era "una receta para una pesadilla de rendimiento". Planteó un escenario de ejemplo en el que Gravity Forms crea Gutenblocks basados en Vue, Yoast tiene bloques basados en React, WooCommerce crea bloques con Preact y otro complemento usa Ember.
“Suena agradable ser flexible y permitir que la gente use lo que sea, pero también podría generar mucha división sobre las mejores prácticas y posibles problemas de rendimiento”, dijo Bahl. “Veremos tutoriales emergentes sobre cómo construir Gutenblocks en Vue, React, Preact, Ember, Vanilla JS, etc., lo cual sería genial de ver, pero también confuso y podría causar una mayor división en la comunidad y las mejores prácticas aceptadas. . La flexibilidad es buena hasta cierto punto, pero una opinión fuerte en algún nivel también es buena”.
Carl Hancock, cofundador de Gravity Forms, sostiene que ofrecer un enfoque agnóstico del marco para construir Gutenblocks tendrá poca influencia en los desarrolladores que están ampliando el proyecto. La decisión no puede ser menos crítica al ofrecer más flexibilidad, porque los desarrolladores inevitablemente adoptarán cualquier uso del núcleo de WordPress.
“La gente terminará adoptando cualquier uso principal en su mayor parte a pesar de los arcoíris y las mariposas que algunos afirman en relación con la creación de una capa de abstracción para que los desarrolladores de complementos/temas puedan usar lo que quieran”, dijo Hancock. “Lo que significa que, por complejo que sea el marco central, tendrá un impacto directo en la barrera de entrada para los desarrolladores de complementos y temas. Esa barrera de entrada ha sido históricamente baja hasta la fecha y ha contribuido directamente al crecimiento de WordPress como CMS autohospedado. Elevar drásticamente esa barrera de entrada no es necesariamente algo malo. Por ejemplo, Gravity Forms usará Preact, Vue, lo que sea, porque tenemos la mano de obra y el conjunto de habilidades para hacerlo cuando finalmente podamos decidir hacerlo una vez que Core tome su decisión”.
La oportunidad de WordPress para hacer avanzar la web
WordPress actualmente funciona en el 28% de todos los sitios web, según W3 Techs, y cualquier marco que elija tendrá un gran impacto en la biblioteca que muchos desarrolladores deciden aprender para ampliar el software y avanzar en sus carreras.
Matias Ventura, uno de los líderes técnicos del proyecto Gutenberg, alentó a los participantes en la discusión a mirar el panorama general y aprovechar la oportunidad de trabajar juntos y colaborar en una solución para WordPress que hará avanzar la web. Los esfuerzos del equipo para colaborar con representantes de marcos competitivos se destacan en un ecosistema que generalmente está fragmentado y fragmentado.
“Estoy entusiasmado con la oportunidad que tenemos de avanzar en el desarrollo web en términos de representación de la interfaz de usuario de JavaScript, de manera similar a cómo WordPress fue una fuerza impulsora para los estándares web durante la última década”, dijo Ventura. “Ahí es también donde veo que tenemos una responsabilidad como proyecto, ya que la gente seguirá aprendiendo desarrollo web a través de WP. Muchas personas han sido introducidas a PHP a través de WordPress, originalmente solo interactuando con las funciones y API de WP, eventualmente profundizando un poco más en el lenguaje según sea necesario. Veo que nuestro núcleo permanece cerca del lenguaje JS, ya que brinda la herramienta más significativa para aprender, que abarca todos los marcos y bibliotecas”.
Ventura aseguró a los participantes en la discusión en curso que el equipo de Gutenberg está escuchando y trabajando para encontrar una solución que impulsará la web.
“Somos absolutamente conscientes de que la forma en que construimos y lo que ofrecemos a través de Gutenberg afectará a la comunidad de desarrolladores y no lo estamos tomando a la ligera, todo lo contrario”, dijo Ventura. "He estado hablando con Evan (Vue) y Jason (Preact) porque en lugar de tener un concurso de 'elige tu marco', esta parece una oportunidad para colaborar y hacer avanzar la web".
