En la próxima versión, WordPress será algo más que un CMS

WordPress Rest API

Ayer estuve en el centro de coworking (ES) (cuya web desmerece el espacio físico y el buen quehacer que tienen) de un miembro de la Comunidad. Era una visita por placer, por poder charlar en persona sobre temas que llevamos tiempo compartiendo vía digital (economía colaborativa, sociedad de control,…), para tramar algunos cambios de algo que los miembros de la Comunidad ya conocen, y que pronto haremos público. Y de paso, aproveché para asistir a un meetup sobre desarrollo y explotación de pages builders y themes en WordPress.

Y es que precisamente hacía unas horas habíamos conocido una de las iniciativas más interesantes, radicales, y sobre todo, apasionantes, del mundo WordPress.

Automattic, la empresa detrás de este popular gestor de contenido (con el que además del 25% de las webs que visita (EN), también está construida esta humilde morada), sacaba aplicación para OS X (ES).

Una aplicación nativa para mac, hablando en plata. Algo que muchos medios recogieron obviando la verdadera noticia, muchísimo más trascendente.

Para conocerla, nos toca meternos en las tripas de este proyecto, y hablar un poco de cómo un lanzamiento aparentemente tan poco crítico sirve de Caballo de Troya para redefinir el futuro de la web.

Empecemos.

El gestor de contenido líder sufre de los males de la edad

WordPress es un proyecto que nació hace ya diez años, que se dice pronto, y ha llegado a donde está gracias a una comunidad de entusiastas del software libre, y a una batuta bastante bien dirigida, que no ha dudado en abrir el kernel conforme el mercado lo exigía a extensiones y plugins que se habían vuelto un estándar.

Pero es precisamente esta razón la que le podría fagocitar en un futuro. WordPress está desarrollado en PHP, un lenguaje que a muchos nos encanta, que previsiblemente recibirá un nuevo soplo de aire fresco con la futura versión (ES), pero que reconozcámoslo, no es lo más puntero en cuanto a tecnologías web.

La feroz evolución que ha sufrido JavaScript en estos últimos años ensombrece la estabilildad y escalabilidad de PHP, y eso es un problema cuando la web de hoy se espera que sea lo más inmediata y accesible posible.

Para cualquiera que gestiona uno o varios WordPress sabrá que conforme el tráfico de la web aumenta, y sobre todo, conforme mayor complejidad tienen sus entrañas, más pesado y lento se vuelve, teniendo que recurrir a varias estrategias de optimización que en su día traté en varios tutoriales.

Por contra, JavaScript permite realizar consultas en tiempo real (sin nueva carga), lo que disminuye considerablemente el número de recursos pedidos en cada consulta, y esto hace que al final la web se sienta más liviana.

Por supuesto, la mayoría de temas de WP hacen uso de tecnologías como jQuery para dotar de dinamismo a PHP, pero las tripas siguen siendo PHP, que además encuentra problemas para adaptarse a escenarios más modernos, como es el mundo móvil.

Y aquí está el quid de la cuestión. Por muy bien que lo haya hecho Automattic, hay que reconocer que el panel de administración de WordPress huele a viejuno. Y la cosa va a peor si para colmo estamos en un dispositivo móvil, que aunque la interfaz sea adaptativa, la administración se vuelve un verdadero dolor de muelas.

Así, lo importante del lanzamiento de una versión oficial nativa de WordPress para OS X no es la propia aplicación, sino cómo ha sido desarrollada.

Porque este software es el primer ejemplo que tenemos de utilización de la REST API de WordPress, que vendrá implementada (si no ocurre algún contratiempo nuevo) en la próxima versión 4.4 (EN).

Sobre la llegada de REST API (Calypso) a WordPress

¿Cuál el la verdadera noticia? Precisamente que gracias a esa REST API, WordPress pasará a ser algo más que un “simple” gestor de contenido.

Ya no solo hablamos de que cualquiera pueda diseñar una experiencia de administración distinta a la que por defecto WordPress nos ofrece, sino que WordPress podría ser utilizado como un software de gestión de recursos para un servicio web. Una biblioteca que cuenta con un sistema eficiente de roles y permisos al que realizar peticiones mediante API para alimentar un sistema final, que sería el que el usuario consumiera.

El mejor ejemplo que se me ocurre es el desarrollo de una aplicación móvil, que por ejemplo, gestione el stock de una tienda. Se podría desarrollar el frontend de la aplicación con la tecnología nativa que proceda según el SO, crear un tipo de datos para cada producto en stock en WordPress, y alimentar a la aplicación sin tener que desarrollar ese backend, ya que WP pasará a gestionarlo como a día de hoy lo hace.

De esta manera, se separa lógica de presentación, pudiendo usar WP como gestor de stock y sirviendo a los clientes una aplicación muchísimo más liviana, que en verdad está tirando de WordPress.

Por supuesto, todo esto ya se podía realizar con apaños (mismamente el suministrar contenido de un blog mediante RSS era algo que la mayoría de aplicaciones de consumo de contenido utilizaban). Pero a partir de ahora se podrá realizar a nivel de API.

Descontando el hecho de que también se podrá rediseñar y parametrizar a un nivel muchísimo mayor la experiencia a los mandos de un WordPress.

Si el éxito de estos nuevos CMS, como Medium, radica en que la experiencia de publicación de contenido se ha simplificado hasta el máximo nivel (entras en tu página, y sin ni siquiera tener que acceder a un panel de administración, la última entrada es un espacio en blanco en el que ponerte ya a escribir), la REST API de WordPress permitirá diseñar este tipo de comunicación con la base de datos, lo cual seguramente acabe por ofrecer desarrollos paralelos diseñados para tipologías de web específicas (portal, blog, foro, tienda,…) mucho más acertados que el único generalista que a día de hoy tenemos.

Y por último, atendiendo a las tecnologías que se han usado para su desarrollo (node.js (EN), react (EN) y babel (EN)), todas dependientes de JavaScript, es una verdadera apuesta por los lenguajes de nueva generación. Un lavado de cara que WordPress necesitaba como el comer.

La REST API de WordPress, siguiendo la filosofía abierta del proyecto, está liberada bajo el nombre de Calypso, al escrutinio de la comunidad vía GitHub (EN). A día de hoy, instalable como un plugin, a falta de que salga la futura versión que ya incluirá el desarrollo en su kernel.

Está diseñada para funcionar con WordPress.com y páginas autoalojadas que tengan instalado JetPack. Y las posibilidades son sencilla y llanamente, inmensas.

Justo el cambio que WP necesita para seguir liderando la web.

Renovarse o morir, de hecho, como en su día comenté al respecto.

¡Buen movimiento, chicos!