Gutenberg es el nombre del nuevo editor de WordPress, lanzado para revolucionar la forma en que los usuarios crean sitios web. Lleva este nombre en honor a Johannes Gutenberg, inventor de la imprenta de tipos móviles, ya que, según Matt Mullenweg, fundador de WordPress, este nuevo editor tiene el potencial de transformar la experiencia de construcción en la plataforma, permitiendo a los usuarios materializar las ideas en sus cabezas a un nivel nunca visto antes.
¿Cómo surgió Gutenberg?
El origen de Gutenberg se remonta a enero de 2017 cuando se hizo público en el repositorio oficial de WordPress como un proyecto que buscaba una integración completa en su sistema. Desde diciembre de 2018, con la versión 5.0 de WordPress, Gutenberg se implementó como el editor por defecto. Esencialmente, Gutenberg funciona mediante una capa de abstracción que permite la interacción de bloques, que son componentes desarrollados en React, para adaptarse a las funcionalidades y estructura de WordPress.
¿Qué impacto tuvo su lanzamiento?
El lanzamiento de Gutenberg generó cierta controversia dentro de la comunidad de WordPress. Al tratarse de un cambio significativo, muchos usuarios tuvieron que adaptarse a una forma nueva de trabajar con sus sitios. La curva de aprendizaje del editor se convirtió en un tema de debate, especialmente considerando que muchos estaban acostumbrados a otros editores o herramientas visuales como Visual Composer.
WordPress, consciente del revuelo, lanzó herramientas como el "Editor Clásico" para aquellos que preferían seguir utilizando el sistema anterior. Sin embargo, la transición, anunciada con antelación, no dejó del todo satisfecha a toda la comunidad. Aun así, Gutenberg representa uno de los cambios más grandes e importantes en el código fuente de WordPress en años recientes, al embarcarse en la incorporación de tecnologías modernas.
¿Cómo funciona técnicamente Gutenberg?
¿Qué son los bloques en Gutenberg?
En Gutenberg, los bloques son la unidad base del editor, permitiendo a los usuarios construir sus páginas a través de componentes de React que tienen un estado y permiten modificar contenido. Cada bloque interactúa con archivos de JavaScript y tiene la capacidad de crear, editar, modificar o eliminar contenido dentro del editor.
// Ejemplo de un bloque simple en Gutenbergimport{ registerBlockType }from'@wordpress/blocks';import{ __ }from'@wordpress/i18n';registerBlockType('mi-plugin/mi-bloque',{title:__('Mi Bloque','mi-plugin'),category:'widgets',edit:({ className })=>{return<p className={className}>{__('Hola Mundo','mi-plugin')}</p>;},save:()=>{return<p>{__('Hola Mundo','mi-plugin')}</p>;},});
¿Cómo interactúa Gutenberg con la API de WordPress?
El editor Gutenberg se comunica directamente con la API REST de WordPress. Esto facilita a los usuarios la posibilidad de hacer cambios en el contenido, ya que pueden interactuar con el backend de WordPress desde el editor, permitiéndoles ver cómo quedará el contenido final.
¿Qué significa Gutenberg para los desarrolladores?
Para los desarrolladores, Gutenberg representa un reto y una oportunidad de aprendizaje en nuevas tecnologías como React. Esta es una oportunidad para actualizarse y adaptarse a los avances, convirtiéndose en expertos en la construcción de bloques dentro de WordPress.
¿Qué herramientas existen para el desarrollo de bloques?
WordPress proporciona una biblioteca a través de npm llamada @wordpress/scripts que ayuda a configurar un entorno de desarrollo para Gutenberg de forma más sencilla e intuitiva. Esta biblioteca incluye herramientas como webpack, y permite realizar pruebas con Jest y compilar en directo o generar un build al finalizar el desarrollo del código.
Instalación con npm
Para comenzar a desarrollar bloques propios, es recomendable seguir estos pasos:
Crear un directorio nuevo para los bloques:
mkdir my-blocks
cd my-blocks
Instalar la biblioteca de herramientas de desarrollo de WordPress:
npminstall @wordpress/scripts --save-dev
Configurar el entorno de desarrollo para crear bloques personalizados dentro de WordPress con facilidad.
La adopción de Gutenberg marca el camino hacia un futuro más flexible y adaptado a la innovación tecnológica en WordPress. Los desarrolladores que abracen este cambio podrán aprovechar las ventajas de crear experiencias más ricas y dinámicas para los usuarios de la plataforma.
Literal fueron 84 años jajajaja.
Profe, mire la mayoria de los paquetes aparecen deprecated, eso no es poco seguro para nuestra aplicacion?
Hola Ricardo, cómo estás?
Puedes revisar que estés bajando la última versión. En general es un paquete que se va actualizando regularmente.
Acá te dejo el enlace a la página de NPM donde podrás ver que se actualizó por última vez hace 2 días.
Creo que puede que se haya instalado alguna versión más antigua. De todas formas, al final de la instalación dice si hay vulnerabilidades Hard o Low que tener en cuenta.
Incluso puede que arregles alguna y le puedas hacer un aporte a la comunidad en el proyecto de GitHub.
Saludos!
Para los que utilizan Windows y quieren instalar el paquete script de WordPress con NPM primero debes descargar y seguir los pasos del instalador de NodeJs y luego si podran ejecutar el comando:
npm install @wordpress/scripts --save-dev
Nota adicional: Puedes comprobar que ya tengas instalado NPM preguntando por su versión así:
npm -v
Buenos días, a mi me sale este mensaje cuando quiero instalar el @wordpress/scripts --save-dev
up to date, audited 1772 packages in 13s
153 packages are looking for funding
run `npm fund`for details
found 0 vulnerabilities
Mi versión de node.js es 15.2.0 y mi versión de npm es 7.0.8, si alguien más le pasó agradeceré su ayuda para resolver el problema, gracias.
Quiere decir que los paquetes se actualizaron y que hay algunos que pueden recibir donaciones pq son desarrollados por empresas Open Source. Si hacés npm fund te va a aparecer la lsita de URLs para donar en el caso que lo desees.
Saludos!
Bloques de Gutemberg
Los bloques funcionan como una leve capa de abstracción por encima de React, cada bloque es un componente desarrollado en React pero adaptado para poder funcionar con wordpress.
Funcionamiento
En el editor el usuario incorpora Bloques, estos interactuan con archivos Javascript y tienen su correlación como componentes de React, es decir cada bloque tendrá Estados y posibilidad de mutar, el usuario visualizará como realmente se verá su sitio.
Librerias
Debemos tener instalado Node.Js para utilizar el siguiente comando dentro de la carpeta blocks:
Wordpress Scripts
npminstall @wordpress/scripts --save-dev
Hola, a alguno le salió este error en la instalación en la terminal?...
Alguna idea de como solucionarlo? Gracias!
Ok, mirando como solucionar el problema, me dí cuenta que en la página de instalación del script, dice lo siguiente...
Es decir, que no funciona con versiones de nodejs y npm inferiores a las que dice. Entonces googleando, encontré esta manera de hacerlo...
El cual funcionó muy bien y por fin al pasar el instalador, pude finalmente resolverlo.
Coloco esto por si a alguno le llega a suceder el mismo problema. Saludos! 😃💪
¿Consulta donde instalamos todas estas herramienta o cual es la aplicacion?
Hola José, cómo estás?
Todo esto viene del Curso Práctico de WordPress, que es la precuela de este.
Si te interesa hacer todo el proceso, te recomiendo arrancar por ahí.
Saludos!
Deprecated.
Hay algún log para revisar esos mensajes completos de obsoletos? la idea es identificar qué funcionalidades se verían afectadas de tal manera de no usarlas(o en su defecto saber qué componentes evitar usar)
Normalmente cuando se depreca una funcionalidad en software se hace de manera paulatina, poco a poco.
Además de que siempre se menciona dentro de los change logs cada vez que sale una nueva versión.
Hola Coco, te dejo dos plugins que pueden suarse para hacer una análisis sobre tu desarrollo:
Theme Check
Debug Bar
El que hace específicamente lo que vos querés hacer está un poco abandonado, ya que la última actualización fue hace dos años, pero te lo dejo de todas formas: Log Deprecated Notices.
Saludos!
Gutenberg, conocido alternativamente como el «editor de bloques de WordPress» o simplemente el «editor de WordPress», es el editor de contenido de WordPress introducido en WordPress 5.0, lanzado el 6 de diciembre de 2018.
Lo que hace Gutenberg es convertir las páginas y artículos antiguos en bloques de contenido “clásico”, con su bloque de editor clásico. De esta manera puedes seguir editando el contenido en dichas páginas, y añadir nuevos bloques al contenido ya establecido.
Interesante el plugin de Gutemberg se incorporó al core de wordpress en Diciembre de 2018
Si alguien por alguna razón ya tenía un package.json en su proyecto y al querer instalar se ejecutar el comando de wordpress scripts se instala en la raíz del proyecto
npm install @wordpress/scripts --save-dev
Antes de ejecutar el comando de arriba ejecuten ¨npm init -y¨ eso creará un archivo package.json por defecto y podrán tener un subproyecto dentro del folder blocks
Qué es NPM?
Node package manager, sirve para administrar e instalar paquetes de JavaScript que corren del lado del servidor con nodejs
Quede perdido en esta clase porque no entendí el proceso de instalación de NPM
Hola Sebastián, cómo estás?
NPM es un gestor de paquetes de JS. Permite instalar librerías desarrolladas por otros en tu proyecto. Al instalar Node, se instala automaticamente. Te dejo un link al Curso de NPM de @gndx.
Saludos!
Muchas gracias Lucio, esto es nuevo para mi, y no sabía que existía ese curso, estaré revisándolo
Todo clarísimo. Gracias
Desde la implementacion de Gutenberg en WP, este ha tenido un avance enorme y ha traido a este CMS a la modernidad.
Pero en mi opinion personal desde el punto de vista de codigo, se ha convertido en una colcha de retazos. Bastante compleja.
Bueno pero esta es la razon del curso, la creacion de los bloques ! vamo a darle !
Alguien me podría ayudar? estoy haciendo una pagina en WordPress con el editor de bloques Gutenberg, el tema es Twenty Twenty-Four pero no me deja modificar el home. puedo poner nuevas paginas y entradas de blog. Pero el home no puedo modificarlo no se cual es la ruta para entrar a el. Ayuda por fa...
Dentro de páginas encontrarás Página de inicio o Home.
Cómo se instala si estoy trabajando con Xampp?
Hola Sebastián, cómo estás?
Se instala de la misma forma. El desarrollo de bloques es independiente del entorno que estés utilizando.
Saludos!
Me instalo correctamente toda la colección, pero me señala que tengo tres vulnerabilidades, y no puedo verlas por que me arroja este error con el paquete JSON
C:\xampp2\htdocs\platzigifts2\wp-content\themes\platzigiftstwo\blocks>C:\xampp2\htdocs\platzigifts2\wp-content\themes\platzigiftstwo\blocks>npm audit
npm ERR! code EAUDITNOPJSONnpm ERR! audit Nopackage.json found:Cannot audit a project without a package.json
Es normal que salgan vulnerabilidades con algunos paquetes, eso depende de los desarrolladores arreglarlo, pero tú también puedes actualizar las versiones para arreglarlo, tal como lo hiciste con el comando npm audit.
No te deja hacer el audit porque no tienes ningún archivo package.json, algo me dice que ese archivo debería estar dentro de tu carpeta platzigiftstwo, ¿puedes verificar si sí tienes ese archivo? 🤔
Hola RetaxMaster si, hay varios, están en la carpeta blocks que acabamos de crear
React :')
Hola Gente ! como están? estoy buscando profe particular para realizar un proyecto en Wordpress! quien esté interesado/a hablemé ! 3512433619