Una excelente librería para campos personalizados en este 2021
Probablemente (casi) todos aquellos que utilizan WordPress para gestionar sus contenidos en la web necesitan hacer uso de los campos personalizados que WP ofrece.
Es posible que el usuario promedio no sepa que los utiliza pero aquellos que se adentran un poquito mas al gestor, o que como yo, desarrollan herramientas para este CMS saben de lo que hablo.
Es cierto que no necesariamente debemos utilizar librerías a la hora de personalizar nuestros tipos de contenidos, pero estas facilitan un poco esa tarea, algunas para que no metamos una sola línea de código, y otras para que todo se haga por código.
Durante los años de desarrollo que llevo con WordPress lo he hecho sin librerías y con ellas, y por eso en éste artículo quiero hacer referencia a la que vengo utilizando hace un tiempo y me gusta mucho el paquete de herramientas que ofrece, hablo de CarbonFields.
CarbonFields es una librería OpenSource creada por desarrolladores y para desarrolladores. Nace en una empresa llamada htmlBurger’s que realizaba desarrollos para WP allá por el 2009. Algunas clases PHP y un poco de jQuery eran lo necesario para hacerla funcionar.
Debido a que iba creciendo en funcionalidad escribieron el código 3 veces desde que la desarrollaron, sin embargo recién en 2016 se publicó a la comunidad, hasta entonces se usaba de manera interna en muchos proyectos de la empresa.
La última ves que re-escribieron el código fué en 2017 para comenzar a usar React en lugar de Backbone que había reemplazado a jQuery.
El fin de ese resumen es comentar un poco el origen y demostrar que es una librería que tiene varios años ya en funcionamiento, esta consolidada, bien construida, bien documentada, y es muy sencilla de utilizar.
¿Porque no ACF?
Es una buena pregunta, de hecho la utilice mucho tiempo y tiene muchas similitudes con CarbonFields. Pero la respuesta corta es, como programador necesito trackear los cambios, tener control de lo que hago, evitar que los usuarios realicen cambios, y controlar el versionado de la librería. Esto con ACF no lo puedo lograr.
ACF está desarrollada principalmente para generar los campos personalizados desde una interfaz de usuario, y no está mal, de hecho muchos usuarios pueden beneficiarse de esto y personalizar sus tipos de contenidos sencillamente.
Pero a su vez ese punto es el que responde a mi pregunta, como programador prefiero ser el que tenga ese control, porque conozco el sistema en su totalidad y se cual será la mejor solución para un requerimiento del cliente.
Un punto muy PRO de CarbonFields es su API para construir bloques de Gutenberg, es excelente. Escribiré en otro momento sobre esto porque me parece súper útil.
Y por último, el costo, CarbonFields es gratis, mientras que muchas funciones de ACF están en su versión PRO, en varias oportunidades utilizo el campo repetible, y no viene en la versión gratuita de ACF, eso es una limitante.
De todas maneras y para ir concluyendo no quiere decir esto que ACF sea malo ni nada parecido, sino que actualmente las prestaciones que ofrece CarbonFields para mi son suficientes y se adaptan mejor a mis necesidades como desarrollador.
En otra oportunidad utilicé CMB2, quizá pueda escribir algunas líneas sobre ella, super potente, pero es mucho para las tareas que hoy en día estoy haciendo.
Para terminar comparto los enlaces de documentación y una comparativa entre ACF y CarbonFields y por supuesto si queres saber algo más sobre WordPress podes escribirme.
Comparativa – https://www.billerickson.net/wordpress-metaboxes/
Documentación – https://docs.carbonfields.net
Github – https://github.com/htmlburger/carbon-fields