 ¿Vamos mal, buenos días? ¿Cómo lo lleváis? ¿Ya habéis bailado? ¿Ya habéis comido? ¿Ya habéis aprendido muchas cosas? ¿Cómo lo veis? ¿Vamos bien o vamos mal? Vamos bien. Pues un aplauso, por favor. Embré. Bueno, el aplauso no es para mí, va a ser para Mauricio, ¿vale? No me atiende. Bueno, ¿quién es Mauricio? A ver. Pues Mauricio es un desarrollador, es informático, ¿vale? Es muy activo en la comunidad de Warp Press. Está en su soporte... en su soporte no, en Warp Press de V. En Warp Press de V. Está en... En Human Made, ¿vale? Y nos trae un charla, un poquito práctica, digamos, ¿verdad? Donde vas a dar ejemplos prácticos de cosas relacionadas con los bloques de Gutenberg, ¿vale? Vamos a ir desde un nivel novato a un nivel un poquito pro. Va a tener preguntas, con lo cual quedaros con las dudas que veáis en mitad de las charlas, y él os intentará responder lo mejor posible, ¿verdad? Pues venga. Todo tuyo, Mauricio. Bueno, ¿qué tal, gente? Muy buenas. También no, despierto ya después del cafecito. Voy a tocar el piso, porque estoy encantado que volvamos a tener warps presenciales, después de haber dado tantas charlas virtuales que eran bastante complicadas y difíciles, para los ponentes estar hablando frente a una pantalla, sin poder ver y tener este feedback que tenemos acá mismo. También estoy encantado por la charla que vi recién en el track de abajo de José Arcos, un gran desarrollador del mundo de Warp Press, y en el cual, bueno, obviamente vi una cierta similitud, al menos estamos en un mismo punto, con respecto a la charla que voy a dar ahora, la diferencia que estamos en el punto en el que él está viendo lo que es el futuro de lo que va a ser Warp Press, todo este tema del full-site editing, lo que hemos visto en Elementor, en Divi, de poder crear sitios web desde el front-end, sin embargo, en mi charla, voy a hacer un poco una retrospectiva de lo que ha sido estos cuatro años de evolución con los bloques de Gutenberg. Vamos a... No se asusten los que no son desarrolladores, porque vamos a ir desde soluciones muy simples, que parten, inclusive, desde los mismos bloques que tenemos en Warp Press, en su instalación por defecto. Algunas pequeñas soluciones, de realidad, una sola, no hay una solución que ofrezco para aquellos desarrolladores que todavía están muy metidos con lo que es el mundo de PHP, y sí voy a indagar un poco más en programación avanzada, porque hay un poco también de egoísmo en esta charla, que era poner un poco de orden frente a las soluciones que yo tengo que brindar a las distintas empresas o clientes y todo lo que ha evolucionado los bloques a lo largo de este año. Así que me voy a presentar rápidamente, porque yo lo han hecho recién, mi nombre es Mauricio Gélvez, soy licenciado en informática, estoy trabajando con Warp Press desde el año 2012, en forma abocada y al 100%, en la comunidad del 2014-2015 más o menos, desde entonces fui freelance, pero de hace un año que me he volcado nuevamente a trabajar para empresa, en este caso Human Made, una agencia que trabaja con Warp Press para clientes de alta escala desde Inglaterra. Ahí tiene mi cuenta de Twitter y demás, para que puedan tuitear utilizándose el hashtag y compartir parte de información de la cual voy a requerir de ustedes, y de los sectores donde no conozco mucho. A ver si veo a alguien conocido por aquí adelante. Bueno, voy a lanzar a la pregunta. ¿Alguien se acuerda que pasó el 6 de diciembre del 2018? Yo no me acuerdo de lo que estaba haciendo ese día, pero ese día se lanzó la versión 5.0 de Warp Press. Tal vez el cambio más importante que tuvo este CMS, porque implementaba una nueva forma de crear contenido. ¿Por qué fue un cambio grande? Para este entonces Warp Press ya tenía más del 30% de presencia en Internet, con lo cual se puede imaginar lo que implica implementar desde pequeños cambios hasta cambios mayores como este. Se llamó Bebo en honor, por quien no lo sabe, cada lanzamiento de versiones mayores de Warp Press tiene el nombre de un artista de jazz. En este caso le correspondió a Bebo por Bebo Valdés, un pianista cubano muy bueno, la recomiendo el disco Lágrimas Negras con el Sigala, excelente disco. Ahora sigo echando de menos que no esté Louis Armstrong en alguna versión mayor, espero que dentro de poco lo lance. Así como Fernando Tellado mostró el modem de 56K, todavía hay mucha gente aquí que recuerda el Classic Editor, ¿verdad? ¿Quién lo sigue utilizando? Muy bien, me gusta ver manos levantadas, porque no significa que esté mal que estemos utilizando a día de hoy el Classic Editor. Todo depende de la solución que necesite el cliente. De hecho, puedo mencionar algunas páginas dentro de la comunidad de Warp Press muy exitosas, que a día de hoy siguen utilizando el Classic Editor. ¿Qué pasó? En esta época ya iban prosperando todos estos creadores de temas que superponían toda una tecnología por sobre esto, que era lo que era Warp Press por defecto, y había que tomar una decisión. Entonces se introdujo lo que fue Gutenberg. Pasamos de esa cajita en blanco con una barra de herramientas a construir castillitos con legos, construir contenido con legos, con bloques de distintos tipos de contenido, uno arriba de otro, con el tiempo salió la bendita columnas que nos permitían un poquito más de flexibilidad, pero fue un gran cambio de paradigma. 6 de diciembre de 2018. Ya estamos casi cerca de los cuatro años de muchísima evolución. Y obviamente que al principio, como cualquier gran cambio, como el que hemos visto de full-site editing en la charla anterior, hay mucha reticencia por parte de usuarios, por parte de desarrolladores. ¿Qué es lo que pasó en ese momento? Pues todos los usuarios de Warp Press fueron al directorio de Warp Press y marcaban con una estrella, y de hecho esto es de la semana pasada. Vemos que la estadística no ha mejorado mucho tampoco. La gente no estaba contenta con este cambio de paradigma, de escritura, de contenido, pero yo era uno, aunque no me quejaba, no hice esto, pero sí que obviamente al principio cuesta hacer ese cambio. Lo que han hecho muy bien junto con este cambio y la introducción de 5.0 fue no solamente instalarlo en el core de Warp Press, pero también dar la posibilidad de desactivarlo y también incluir un formulario para que la gente pudiera opinar que se podía mejorar y que no. Afortunadamente los desarrolladores han escuchado todo ese feedback y a lo largo de estos cuatro años han hecho más mejores de las cuales hoy me siento mucho más tranquilo y soy un desarrollador meramente de bloques de Gutenberg con Javascript que para ese entonces le tenía un terror absoluto. Era un programador PHP como la gran mayoría de lo que estamos acá, me imagino. Después de seis años de freelance y con mucho temor y mucho miedo a volver a las empresas clásicas, yo lo que no quería era estar en una silla de nueve a seis de la tarde, entro a trabajar con este séquito de gente súper mega-crack inteligente que al día de hoy me siguen intimidando y obviamente que tuve que ponerme las pilas y aprender Javascript profundamente, como lo dijo Matt Mulenguegue en su momento, cuando se empezó a hablar todo este tema de Gutenberg. Entonces como le dije en un principio, esta charla es un poco egoísta. De esos cuatro años de evolución hay muchísimas formas de crear y de utilizar bloques de Gutenberg. Y tal vez la documentación no haya un lugar donde concentren, lo que voy a explicar a continuación, y me pareció genial. Hace tres semanas presenté la charla a ésta, a los organizadores, que piden para que vean que todo cumple con el código de conducta, que no hay nada fuera de lo normal. Pero viniendo en el avión hace casi a Vigo, estaba dándole vueltas a la cabeza y dije, no, como está presentada la charla no es la forma más adecuada. Así que rompí toda la charla, la hice ayer, y la vamos a ver ahora, con un poquito de interacción también. Todo para crear este pequeño flujo de datos. Parece un poco engorroso, parece difícil, pero vamos a ir paso por paso y vamos a saber perfectamente si realmente necesitamos un bloque de Gutenberg o ir al psiquiatra. Esperemos que la solución sea la primera. Y como he dicho, lo he dividido en un sector para principiante, en un sector para gente que todavía de hoy había programando con PHP pero que pueda crear o utilizar bloques de Gutenberg un poquito más avanzados. Y ya después, si tenemos lo que era la parte que a mí me interesaba, era descubrir todas las formas posibles de poder crear. Así que me voy a alejar un poco. Si el link no funciona, abrimo la pestaña. Vamos a comenzar el flujo de datos con un... No hay ningún modo de presentación en esto, no? Bueno, obviamente, necesito un bloque de Gutenberg. Vamos a ir al primer condicional, que dice... ¿Puedes utilizar un bloque por defecto? ¿Sí? Los bloques por defecto son todos los que tenemos en este costado. Muchos de ellos ya existían en cuanto salió WordPress 5.0, pero muchos se han ido agregando a lo largo de estos cuatro años. Tal vez el más importante y que ya lo mencioné, fue el de la utilización de columnas. Al principio no existía, entonces cuando queríamos poner dos cosas en paralelo se nos complicaba demasiado. No existen las columnas, están muy bien maquetados en cuanto a CSS, y se puede utilizar. Entonces volvamos a la primera pregunta. Si podemos utilizar un bloque por defecto, vamos a ir a la sección de sí, a la respuesta que sí. ¿Vas a necesitarlo reutilizarlo en otros posts o en otras pàginas? Es decir, vamos a incluir un bloque de code... Perdón, un bloque de Gutenberg, y después la pregunta es, es un bloque independiente que solamente sirve para este contenido, o tal vez puedo crear algo que puedo reutilizar en otras pàginas u otro cast of post types. Si la respuesta es no, utilizamos el bloque de Gutenberg por defecto, a su alto resuelto, todos felices. En el caso de que sí, de que sea un bloque, que vamos a reutilizarlo en otros lugares, vamos entonces a utilizar los bloques reutilizables de Gutenberg. ¿Alguien conoce esto? Sí? Bueno, me gusta que haya muchas manos que no estén levantadas. Vamos a explicarlo rápido. Vamos a hacer dos columnas. ¿Ya se me acabó el tiempo? ¿O alguien se tiene que despertar? Bueno, agregamos una imagen por acá, y de este lado vamos a poner un simple encabezado. Hola, mundo. Hago que está genial, podemos ir seleccionando los padres, hasta poder dar... A ver si tengo la posibilidad de poder agregar... Hola, mundo. Esto es una descripción. Ahora lo que vamos a hacer es seleccionar todo este bloque, el bloque de columnas, y lo vamos a convertir en un bloque reutilizable. ¿Cómo, tres puntitos de aquí? Bueno, está en inglés, pero no importa. Agregar a bloques reutilizables. No sé cómo será la traducción en español. Y aquí le vamos a dar un nombre. Hola, mundo. Fantástico. No ha cambiado nada. Lo agregamos bloque reutilizable, le dimos un nombre. Lo bueno es que ahora, cuando queremos agregarlo, hola, mundo, ahí tenemos un bloque nuevo, directamente. Y ya tenemos el mismo bloque, exactamente el mismo. Y la pregunta que viene ahora... Ah, pero si modifico uno, exactamente. Están pensando muy bien. Hola, mundo 2. Y vemos cómo se actualiza directamente, no solamente en este post, sino en cualquier página o castón post type donde esté utilizado este bloque reutilizable. Si en algún momento queremos ver todos los bloques reutilizables que tenemos guardado en nuestra página web, o en nuestro WordPress, o en el que queremos ver solamente a administrar bloques reutilizables, y vamos a ir como un listado de un castón post type específico de bloques reutilizables. Ahí tenemos el hola, mundo, accedemos, es como un post, y lo podemos modificar. Seguimos adelante porque ya me estoy quedando corto de tiempo. En el caso de que no podamos utilizar un bloque por defecto, la pregunta es, ¿quieres programarlo? Acá dependerá del nivel de programación de cada uno. En el caso de que la respuesta sea no, podemos ver si podemos utilizar uno en el directorio de patrones. El directorio de patrones es una nueva sección en la página web de WordPress donde podemos reutilizar estos pequeños estructuras de bloques de Gutenberg, copiarlos y pegarlo directamente en nuestra página web. Aquí buscamos el que nos gusta, accedemos, copiar patron es como un copy-paste. Lo copiamos ahí, vamos a nuestro WordPress, y automáticamente se instala, no es instala, se copia todo ese código que podemos reutilizar. Inclusive está genial este visualizador, porque podemos verlo en distintas resoluciones como se comporta. Patrones, genial. En el caso de que no queremos programarlo, vemos si no interesa alguno del directorio de patrones, lo utilizamos. En el caso de que no, bueno, podemos instalar algún plugin de WordPress que ya tenga un conjunto de bloques de Gutenberg. Acá es donde yo les pido ayuda a ustedes, porque yo nunca lo he hecho de esta manera, pero si conocen algún plugin bueno de WordPress que incluya un buen kit de bloques para crear contenido, tuitélo, por favor, y así aprendemos un poco todo. Acuérdense de ponerle el hashtag, así lo vemos. Salimos de la zona de principiantes, nos vamos a la zona intermedia. Para aquellos programadores que estén todavía con PHP y no quieran lanzarse al mundo de JavaScript. Queremos programarlo, pero sin ensuciarnos la mano con JavaScript. Entonces, la solución que yo tengo es utilizar Advanced Custom Fields, que era la que utilizaba cuando era freelance, que me servía mucho para ahorrar tiempo y para no meterme tan de lleno en la creación con JavaScript, y al día de hoy que sigue siendo muy, muy simple. Lo único que hay que utilizar es este bloque de JSON, en el cual muchas de los atributos son estándares de WordPress, hay un pequeño que se llama ACF, que sería lo único que ellos agregan para que esto funcione. Se registra con un hook propio y automáticamente sería empezar a agregar todos los campos personalizados con el plugin de ACF y utilizarlo. Entonces, quieres programarlo, sí, sin JavaScript, utilizamos Advanced Custom Fields, tiene que haber alguna otra solución seguramente, yo lo desconozco. Y ahora sí, ya nos metemos en la parte más pro, sí, que son las distintas formas de crear bloques de Gutenberg personalizado, como esculpiendo un mármol a medida. Hay muchas formas de poder hacerlo, según la necesidad de cada cliente. Necesitas aplicar un bloque por defecto con valores predeterminados. Es decir, yo quiero agregar, vamos a poner una cita, pero quiero que esa cita tenga un fondo rojo por defecto. Pero a su vez dejar la cita, por si queremos modificar otros valores y demás. Por eso, vamos a utilizar lo que se llaman las variaciones. Variations. A ver si puedo clicar el link. Perfecto. Es este pequeño bloquecito de Kodewaki en el que estamos registrando una variación de quién, en este caso, del core embed. No de cuando pegamos un vídeo de YouTube de Vimeo, y a partir de ahí vamos a asignar los distintos valores o atributos que queremos sobrescribir del original. A repetir, se mantiene el bloque original en el selector de bloques y tenemos esta variación nueva. Y también se puede volver a sobrescribir lo que es sobescrito en esta nueva variación. Este sería por ahí el más simple. Hay uno muy similar a la pregunta de poder resolverlo con una clase de CCS personalizada. Tal vez simplemente podemos utilizar un bloque por defecto de Gutenberg, pero agregándole una clase de CCS ya luego nosotros, en nuestro fichero de CCS o en Saso, con la que estilamos la página web, podemos implementar todas las diferencias. Para ello vamos a utilizar los styles. Así podemos hacerlo rápido. Muy parecido a la anterior, registrar estilo de bloque al que solamente le vamos a dar un nombre y el nombre de la clase que se va a añadir. Differencia con el anterior, con las variaciones, es que este no va a generar un bloque nuevo en el selector, sino que lo va a agregar en el sidebar. A ver si lo tengo por aquí rápido. Le voy a mostrar uno por defecto. Por ejemplo, cuando agregamos una imagen, vemos que tenemos un estilo por defecto y al lado hay un rounded. Ese rounded, lo único que va a hacer es agregar una clase que se llama IsStyleRoundIt. Y por CCS le decimos que tiene un borderRadiusX. Nosotros podemos crear de cualquier bloque que hayamos hecho nosotros, o por defecto, todos los estilos que queramos. Es una forma muy simple de poder aplicar distintas variaciones a nuestros bloques. Seguimos con el flujo. Puedes resolverlo con un conjunto de bloques, tal vez a ciertas periódicas, necesitan como una estructura de noticias, entonces podemos utilizar patrones que pueden ser flexibles o fijos. Luego voy a compartir esto para que tengan los enlaces a este codex. Voy a mostrarlo en el código directamente. Aquí, por ejemplo, es un bloque de estadística en el cual tenemos un pequeño plantillo, un template de los bloques internos de ese bloque, en el cual utilizo simplemente dos párrafos por defecto. Estás modiciéndole, agrégame este bloque de estadística, que va a estar compuesto de dos párrafos. Aquí tenemos este atributo, el template lock. Les vamos a decir al usuario. Dentro de esta estructura, yo te permito que pueda seguir agregando más bloques de Gutenberg o no. Simplemente, este bloque va a tener estos dos párrafos, modíficalos y ya está. Era un poco lo que José también decía, de esta soltura que vamos a darle a los usuarios para que puedan modificar o no la página web. Nadie quiere terminar como el coche de Homer, que es un caos y termina rompiendo lo que diseñadores les lleva, tal vez, meses de producción. Si es un bloque muy complejo, podemos utilizar un componente que se llama Server Side Component, en el cual, con el bloque de Gutenberg, nosotros vamos a obtener todos los valores y luego se lo vamos a pasar a una plantilla de PHP en la cual podemos coger esos valores e implementar el PHP y el CSS que nosotros queramos. Le muestro un ejemplo rápido. Si tan solo encuentro donde lo dejé, aquí mismo. Este es un bloque para listar tipos de posts, en el cual título, descripción, un link si quisiéramos al archive y el tipo de posts. En ese caso, posts. Obviamente, esto es todo personalizado. Seleccionamos tres posts y vemos cómo directamente, una vez que yo ya tengo todos los valores, eso se los paso a una plantilla de PHP. Acuérdense, simplemente, de Server Side Render. Es lo único que se tiene que acordar. Después del código lo pueden encontrar en el códex. Pero nos da esa soltura de poder crear algo mucho más personalizado. Y siguiente pregunta, si realmente llegué hasta aquí y ninguna de todas las soluciones anteriores, te ha servido, vuelvete a preguntar, es que realmente necesitas un bloque de Gutenberg? Si la respuesta es que no, que no lo has encontrado, vuelve a comenzar todo el proceso nuevamente y revisa, porque seguramente en alguno de esos lugares caerá. Y si no, la respuesta es si no te queda otra que hacer un bloque por defecto. Totalmente personalizado. Y en el que le voy a mostrar rápido, en un código, para que tengan una idea de cómo se estructura. Todo parte a partir de un index.js y en el que le vamos a dar dos grandes bloques, dos grandes lugares. No voy a utilizar la palabra bloque para no confundir. Una parte le vamos a decir cómo se va a tratar esa información en el editor. Y por otra parte cómo se va a guardar en base de datos para que se muestre en el frontend. Esto ya es meramente totalmente personalizado. Es la parte que estuve que aprender. Hay un montón de cursos en forma online que nos lleva más de tres, cuatro días, una semana como mucho, ponerse a tono y empezar a crear bloques de Gutenberg a medida. Así que, volviendo al punto inicial, espero que haya sido un buen panorama que hayan visto desde muy principiante hasta muy avanzado todas las posibilidades que tenemos de bloques de Gutenberg. No creo que esto siga evolucionando mucho más, sino que, ya que tenemos este sistema tan sólido, vamos a implementarlo en lo que se viene en Wordpress a futuro, que es el full-site editing. Espero que les hagi d'ajuda. Muchísimas gracias. Preguntas. Preguntas ahí. Hola, Mauricio. Tengo la buena por la charla, que ha estado muy interesante. Yo tenía una duda, cuando nos hablaste de JavaScript, de las maneras de implementar las variaciones y todo eso, nos mostraba un código. La duda es, ¿dónde va ese código? Ese código normalmente va en plugins específico. En cuanto a mi experiencia, siempre que un plugin que se llama el nombre de la solución de la empresa con la que estoy trabajando, Gutenberg Blocks o nombre de la empresa, el nombre de proyecto, y ahí dentro, creas una carpeta como por cada bloque, dentro de esa carpeta, tienes el índex JS, donde pegas ese bloque. Es complicado, porque luego ese JavaScript tiene que compilarlo con Webpack u otras tecnologías para... Porque el código es mucho más engorroso. No sé si estás al tanto de ECMAS, JavaScript 6 y demás, hay distinta forma de escribir JavaScript. Pero bueno, por hacerlo simple, en su propio plugin. No va en los temas. Vale, muchas gracias. Hola, Mauricio. Muchas gracias. ¿Dónde está? Així. Más que una pregunta para ti, es un pedido de opinión. No penses que seria útil tener una posibilidad de converter un reusable bloc para un pattern si enteres que hacerlo en JSON. Es una necesidad que ha tenido muchas veces, porque quiero crear un conjunto de blocs, hace un reusable, después doyamos, convierto de nuevo a normales, pero se podía simplemente converter a pattern. Sí. En cinco de go. Cinco de go. Un reusable bloc no es muy diferente de un pattern, es un conjunto de otros blocos. Cinco de go no sabe decir más que el bloc es reutilizable, que el propio work este permite. Sí, lo que estaba diciendo, sería una boa adición a Gutenberg, que podés transformar un reusable bloc a un pattern. ¿Y qué pensás de eso? Existe la posibilidad de poder crear patrones para una cierta plantilla, según, por ejemplo, el custom post-hide que estés visualizando. Donde tú le puedes poner un patrón por defecto ni bien entra. Lo hemos visto de crear una nueva entrada para el blog, y algunos clientes ya se les suele desplegar directamente. La verdad que lo veo un poco complicado para que se pueda hacer un poco en forma automatizada, que a partir de algo se genere la plantilla. Creo que algo de código vas a tener que tocar, no te queda otra. No te queda otra. Igual, con el INERBLOX, el componente que hemos visto, creo que es una de las formas más simples de poder modificar o crear una solución. Necesito dar una solución a este cliente que me está pidiendo un determinado requerimiento. Se puede reutilizar todos los bloques que ya vienen por defectos de Gutenberg. Solamente tengo que ordenarlo y dárselo con una cierta estructura. Sin código, eso lo veo complejo. Gracias. Más preguntas. Hola. Creo que la pregunta va un poco por lo que comentaba el chico, pero prefiero hacértela para no quedarme con la duda. ¿Los bloques de Gutenberg puede ser reutilizar y modificar o solo puede reutilizar el que has creado? Repite la primera parte de la pregunta, que no la escuché bien. Sí, me refiero a los bloques de Gutenberg, los reutilizables que comentabas. Reutilizas, pero claro, sin poder modificar ni un nada. Ahí tienes que pasar por el proceso nuevamente. Si lo tienes que modificar un bloque por defecto, puedes crear bien una variación o un estilo. Es un caso muy particular, que es necesito darle un patrón de bloques al usuario, de los cuales ciertos bloques que lo conforman no tienen que estar visibles en el listado de bloques posibles. Puedes ofrecerle bloques por defecto, puedes ofrecerle una variación dentro de ese patrón o también puedes incluir bloques de Gutenberg que tú hayas programado, pero hay una pequeña opción que es buliana, le dices falso, que no quiere que esté en el directorio. Pero sí que la necesitas para brindárselas dentro de ese patrón. Ya estoy mariando demasiado, me parece. Y ahora me acabo de perder más. Lo que es el bloque de Gutenberg, que creaste el reutilizable con la imagen y el texto, eso lo guardas como bloque reutilizable. Sí. Para poder rehusarlo en cualquier otro sitio de la web. Exactamente. Pero siempre manteniendo el primer bloque original, ¿no es una opción de reutilizarlo? Es que es un solo bloque. Por más que tú lo veas varias veces, siempre hace referencia. Imagínate como un custom post-type. Es un custom post-type, de hecho, que tiene su propio campo de base de datos de contenido. Ahí está todo el contenido de ese bloque que tú puedes reutilizar en otros lados, pero es siempre un solo bloque. Las copias no se pueden desvincular del horario? Sí, se pueden desvincular. Hay una opción de que tú dices este, conviértelo como un bloque independiente. Y te dejes de ver en esa entrada o en esa página en la que estés trabajando. Puedes hacer modificaciones y crear una vez un bloque reutilizable nuevo desde esas modificaciones. Pero sería otro registro nuevo, otro bloque nuevo. Vale, gracias. Y yo creo que esa es la última. Tienes pregunta, sí? Madre mía, qué valiente, que gana de preguntar el código. Yo tengo una pregunta, porque claro antes si querías crear cualquier cosa o no, perquè tot i que 게임... Ja ho sé. I, per exemple, si pensis que hi és una cosa per a WordPress, si jo sí passaves per PHP, antes si jo sí, o tocades PHP o te olvidabas. Ahora, por ejemplo, con los bloques de Gutenberg, tenemos la opción de, por ejemplo, yo como desarrollador front, El reac que se utiliza para desarrollar bloques de Gutenberg tiene su estructura propia, no es un reac puro-puro. Puedes extraer componentes y reutilizar, pero al final del cabo el código para crear un bloque de Gutenberg tiene su estructura propia, porque al final del cabo hay un parciador por detrás de gòrpers que lee toda esa estructura y obviamente implementa en las distintas interfaces. ¿Qué tiene que aprender según lo que me ha dicho? Creo que quiere saber el prioridad del reac. Creo que quiere saber el prioridad de lenguajes para saber. PHP, al final del cabo, la materia prima es HTML, CSS y JavaScript. Esa es la materia prima de cualquier página web. PHP, lo que va a hacer, es una fábrica de crear HTML. Y todo esto es JavaScript extra que tenemos que aprender para hacer bloques de Gutenberg, es para brindar una solución distinta. ¿Tienes que aprenderlo? Depende en qué estés trabajando. Si eres freelance y eres uno solo y no quieres perder tiempo en meterte en tanta tecnología, pues la solución intermedia es la mejor, te quedas con PHP, no sé cuánto tiempo más va a durar eso, pero todavía funciona. Y ya hace cuatro años, yo ya lo venía utilizando, lo venía utilizando inclusive antes de Gutenberg y funciona de maravilla. Yo la auguro un par de años más. Moltes gràcies. Por favor. Muy bien, muchas gracias, Mauricio. Muchas gracias, gente. Increíble. Mira, Mauricio. Mauricio, te damos un regalito. Muchísimas gracias. Por agradecerte. Sí, el guapo ahí.