Lo que me gusta de Craft CMS
Si observamos la escena actual de CMS, hay más de 150 opciones para elegir, y eso sin incluir las alternativas locales personalizadas que la gente pueda estar ejecutando. El término “Sistema de gestión de contenidos” es amplio y la mayoría de los creadores de sitios encajan en el modelo CMS. Me destaca Craft CMS, una opción relativamente nueva en este campo (lanzada en 2013).
Mi equipo y yo hemos estado utilizando Craft CMS durante los últimos dos años para desarrollar y mantener un par de sitios web. Me gustaría compartir mi experiencia usando este sistema con usted.
Tenga en cuenta que esta revisión se centra en nuestra experiencia con el uso de Craft y, como tal, no se ha intentado compararla con otras opciones disponibles. Para nosotros, usar Craft ha sido una experiencia muy positiva y dejamos que usted, el lector, la compare con otras experiencias que haya tenido.
Primero, una rápida introducción a Craft.
Craft es la creación de Pixel Tonic, una pequeña empresa de desarrollo de software con sede en Oregón. Fundado por Brandon Kelly, conocido por los complementos premium de ExpressionEngine. Mientras desarrollaban algunos de los complementos más utilizados, Pixel Tonic se propuso crear su propio CMS, conocido como “Blocks”. Esto fue hasta 2010, durante su desarrollo el nombre se cambió a Craft CMS.
Si observamos el mercado, podemos ver que Craft tiene una buena adopción. En el momento de escribir este artículo, hay alrededor de 70.000 sitios web que utilizan Craft.
Craft se creó para hacer la vida agradable a los desarrolladores y administradores de contenido. En 2015, Craft lo demostró al ganar el premio al Mejor CMS para desarrolladores otorgado por CMSCritics. A lo largo de los años, Craft ha ganado múltiples premios que demuestran que Craft va por el camino correcto.
Cuando me pregunto dónde encaja Craft en el panorama general de CMS, digo que está dirigido a pequeñas y medianas empresas donde hay un personal de administradores de contenido que no requieren una solución completamente personalizada.
En esencia, Craft es un CMS en la misma línea que WordPress y otras ofertas tradicionales, solo que con un sabor y un enfoque diferente para la gestión de contenido que lo distingue de los demás, que es lo que cubriremos a continuación.
Requisitos del oficio
Los requisitos del servidor para una configuración Craft son simples y estándar. La artesanía requiere lo siguiente:
- PHP 7.0+
- MySQL 5.5+ con InnoDB, MariaDB 5.5+ o PostgreSQL 9.5+
- Al menos 256 MB de memoria asignada a PHP
- Al menos 200 MB de espacio libre en discoteca.
Desde el primer momento, puedes poner un Craft en funcionamiento rápidamente. No necesita conocimientos extensos de PHP o bases de datos para comenzar. Demonios, puedes salirte con la tuya con poco o ningún conocimiento de PHP. Eso hace que tanto la barrera de entrada como el tiempo transcurrido desde la instalación hasta el desarrollo sean extremadamente pequeños.
Es simple y complejo al mismo tiempo.
Craft es único porque es un CMS simple y complejo.
Puede utilizar Craft para diseñar y desarrollar sitios complejos que estén construidos y dependan en gran medida de PHP, bases de datos y optimizaciones de consultas.
Sin embargo, también puedes utilizar Craft para diseñar y desarrollar sitios sencillos en los que no hagas ninguna de esas cosas.
Este fue uno de los principales puntos de venta para mí. Es sencillo empezar a trabajar con muy poco, pero si necesitas hacer algo más complejo, puedes hacerlo. Y nunca se siente como si lo estuvieras “pirateando” para hacer algo para lo que no estaba destinado.
Craft abstrajo toda la creación y configuración del campo en el panel de administración. Solo necesita apuntar a la Twig correcta y luego usar los campos que conectó. Además, proporciona localización y administración de múltiples sitios de forma inmediata y sin necesidad de complementos. Esto es esencialmente lo que lo diferencia de otros sistemas de gestión de contenidos. Puedes crear la estructura, los campos y todos los formularios sin tocar ningún código .
A algunos CMS les gusta tomar muchas decisiones por usted y, a veces, eso genera una sobrecarga innecesaria. El rendimiento de front-end y back-end es muy importante para mí y, como tal, aprecio que Craft me deje gran parte de eso en caso de que lo necesite. Proporciona una experiencia de personalización completa que ayuda a los principiantes desde el primer momento, pero no limita a las personas de nivel profesional.
Motor de plantillas de Craft
A algunos desarrolladores no les gusta esto, pero Craft usa Twig como motor de plantillas. La palabra “uso” debe enfatizarse como un requisito, ya que no hay opción de escribir PHP sin formato en ninguna parte dentro de la plantilla. Aquí están mis pensamientos sobre eso:
- Está estandarizado de tal manera que, cuando miro las solicitudes de extracción de mi equipo, no espero ver 100 líneas de PHP personalizadas que no tengan sentido. Solo veo el código relacionado con las plantillas.
- Twig ya es lo suficientemente potente como para cubrir casi todos los casos de uso y al mismo tiempo ser extensible para cualquier otra cosa.
Digamos que no estás investigando Twig o que prefieres usar una de las últimas tecnologías (¡hola, generadores de sitios estáticos!). El sistema de plantillas de Craft no es la única forma de obtener contenido de Craft. A partir de Craft 3.3 , proporciona un modo “sin cabeza” y GraphQL integrado con las funciones Pro de Craft. Eso significa que puedes utilizar herramientas como Gatsby o Gridsome para crear sitios estáticos con la comodidad de Craft CMS. Esto alinea a Craft con WordPress, que proporciona su propia API REST para buscar contenido y usarlo en otro lugar.
Hablando de REST, incluso hay una opción para eso en Craft si, por ejemplo, no eres fanático de GraphQL. Element API es una API REST de solo lectura que está disponible a través del complemento Element API propio . Nuevamente, Craft viene con exactamente lo que necesita como mínimo y se puede ampliar para hacer más.
extensibilidad de la artesanía
Esto me lleva al siguiente punto: Craft CMS es superextensible. Está construido sobre Yii Framework , un conocido framework PHP que es robusto y rápido. Esto es importante, ya que toda la extensibilidad se realiza a través de módulos o complementos escritos en Yii y Craft API. Los módulos son un concepto transmitido de los módulos de Yii y proporcionan una forma de ampliar la funcionalidad principal sin cambiar la fuente. Por otro lado, los complementos son un concepto Craft y hacen lo mismo que los módulos, pero se pueden instalar, deshabilitar y eliminar. Si desea leer más sobre esto, puede encontrarlo en los documentos de Craft .
Tanto los módulos como los complementos tienen acceso completo a la API de Craft y Yii. Esta es una gran ventaja, ya que puedes beneficiarte de la comunidad y la documentación de Yii. Una vez que te acostumbras a Yii, escribir complementos es fácil y divertido. Mi equipo ha creado múltiples complementos y módulos personalizados en los últimos dos años, como una integración de formulario de Pardot , una integración de Google reCAPTCHA, un comportamiento de búsqueda personalizado y otros. Básicamente, el cielo es el límite.
La escritura de complementos y módulos se trata en los documentos, pero creo que aquí es donde el sistema de Craft tiene espacio para crecer. Recomendaría abrir un complemento conocido en GitHub para tener una idea de cómo se hace porque he descubierto que es mucho más útil que los documentos.
Inicialmente, este aspecto del sistema puede resultarle difícil, pero una vez que comprende la estructura, se vuelve más fácil, porque la estructura del código consiste esencialmente en modelos, vistas y controladores. Es como crear una pequeña aplicación MVC dentro de su CMS. Aquí hay un ejemplo de una estructura de complemento con la que he trabajado:
.├── assetbundles├── controllers├── migrations├── models├── records├── services├── templates│ ├── _layouts│ └── _macros├── translations│ └── en├── variables├── icon-mask.svg├── icon.svg└── Plugin.php
Si no tiene ganas de escribir PHP y jugar con Yii/Craft, siempre puede descargar complementos de la tienda oficial de complementos de Craft . Hay una variedad de complementos, desde imágenes hasta creación sobre el editor WYSIWYG. Una de las muchas cosas que Craftgotright es que puedes probar complementos pagos en modo de desarrollo tanto como quieras en lugar de tener que realizar una compra primero.
Durante el transcurso de dos años, hemos probado varios complementos, hay algunos que no solo recomiendo, sino que también he usado para casi todos los proyectos.
- ImageOptimize : esto es imprescindible para los entusiastas del rendimiento, ya que proporciona una forma de transformar automáticamente las imágenes cargadas en imágenes responsivas con compresión y convertirlas a formatos más modernos.
- Navegación : Craft no viene con gestión de navegación integrada, aunque técnicamente puedes hacerlo con campos personalizados. Pero Verbb hizo un trabajo increíble con este sencillo complemento y para nosotros es uno de los primeros complementos que utilizamos en cualquier proyecto.
- Seomatic : esto es lo que es el complemento YoastSEO para WordPress: una solución lista para usar para todas sus necesidades de SEO.
- Redactor : esto es imprescindible y debe incluirse en cada proyecto. Craft no viene con un editor WYSIWYG listo para usar, pero con Redactor, obtienes un campo Redactor que incluye uno.
- Super Table : este poderoso complemento le brinda la opción de crear campos repetibles. Puede utilizar los tipos de campos Craft integrados para crear una estructura (tabla) y el administrador de contenido crea filas de contenido. Me recuerda al repetidor ACF para WordPress.
La experiencia del autor de Craft.
Si bien hemos cubierto las experiencias de desarrollo hasta ahora, lo que Craft hizo muy bien (hasta el punto de sacar a otros CMS del agua, en mi opinión) es la experiencia del autor. Un CMS puede hacer todo tipo de cosas maravillosas, pero tiene que ser agradable para escribir al final del día.
El concepto general del CMS es que se construye con dos cosas simples; Campos y secciones , donde los administradores de contenido agregan campos a las secciones y crean entradas.
Una de las funciones de autor más interesantes es el control de versiones. "¿Esperar lo?" usted pregunta. Sí, todo el contenido tiene un control de versión de una manera que permite a los autores realizar un seguimiento de los cambios y volver a versiones anteriores por cualquier motivo.
En cualquier momento, puede volver a cualquier revisión y usarla como actual. No sabes cuánto necesitas esta función hasta que la pruebas. Para mí, me da una sensación de seguridad que no se pueden perder las ediciones o los cambios de alguien, al igual que con Git y los desarrolladores.
La diversión no termina aquí porque Craft logró lograr una de las cosas más difíciles (en mi opinión) sobre la gestión de contenido y es la localización . A la gente todavía le resulta difícil esto en 2020 y, por lo general, se da por vencido porque es difícil de implementar y presentar adecuadamente a los autores en la interfaz de usuario.
Ah, y puedes alojar varios sitios web en una sola instancia de Craft 3 . Puede definir uno o más sitios en diferentes dominios, diferentes versiones del contenido de la entrada y utilizar un conjunto diferente de plantillas. Como todo en Craft, es tan simple y abierto (en el buen sentido) que tú decides cuáles serán los otros sitios. Puede crear un sitio con el mismo idioma pero contenido diferente o crear un sitio con otro idioma, solucionando el problema de localización.
Todas las funciones anteriores ya están integradas en Craft, lo que para mí es imprescindible para una buena experiencia de autor. Tan pronto como comience a parchear la funcionalidad esencial del autor con complementos, se perderá una excelente experiencia de autor. Esto se debe a que, por lo general, cuando desea agregar funcionalidad, hay varios complementos (formas) de hacerlo, lo que ayuda a una experiencia de autor diferente en la misma plataforma pero en diferentes instancias.
comunidad de artesanos
Vale la pena subrayar la importancia de tener una comunidad de personas a quienes puedas acudir. Hasta cierto punto, probablemente estés leyendo esta publicación porque disfrutas aprender de otros miembros de la comunidad de desarrollo. No hay diferencia con los CMS y Craft tiene una increíble comunidad de desarrolladores.
Al mismo tiempo, la comunidad es todavía pequeña (en comparación con, digamos, WordPress) y no tiene una larga trayectoria, aunque hay muchas personas en la comunidad que han existido durante bastante tiempo y vienen de ExpressionEngine. No es solo porque Craft en sí es relativamente nuevo en el mercado. También se debe a que no todos publican en Craft CMS Stack Exchange hasta el punto de que muchas de las respuestas más antiguas ni siquiera se han actualizado para Craft 3. De hecho, encontrarás a la mayor parte de la comunidad pasando el rato. onDiscord, donde incluso los creadores de Craft, Pixel Tonic , están activos y dispuestos a responder preguntas. También es muy útil cuando ves que los miembros principales de Craft y los grandes creadores de complementos, como Andrew de nystudio107 (agradecimiento a un fanático del gran desempeño), están ahí para ayudar casi 24 horas al día, 7 días a la semana.
Una cosa que también quiero mencionar son los limitados recursos de aprendizaje disponibles pero, repito, casi no los necesitas. Como dije antes, la combinación de Craft y Twig es lo suficientemente simple como para que no necesites un curso completo sobre cómo crear un blog.
La conferencia de Craft, Dot All , es un gran recurso en sí mismo. Chris asistió el año pasado con una gran presentación, que está a disposición del público .
Y, por último, Craft utiliza y aplica el código abierto. Para mí, el código abierto siempre es algo bueno porque expones tu código a más personas (desarrolladores). Craft hizo esto bien. Toda la plataforma y también los complementos son de código abierto.
Precios
Este es el elefante en la habitación porque hay sentimientos encontrados acerca de cobrar por los sistemas de gestión de contenidos. Y sí, Craft tiene un modelo de precios simple :
- Es gratis para una cuenta de usuario única y un sitio web pequeño.
- Cuesta $ 299 por proyecto durante el primer año de actualizaciones. Solo cuesta $ 59 cada año después de eso, pero no lo obligan a pagar por las actualizaciones y puede habilitar actualizaciones de licencia por un año adicional en cualquier momento al mismo precio.
Considero que este modelo de precios es justo y no particularmente costoso, al menos hasta el punto de ser prohibitivo. Craft ofrece una licencia gratuita para un pequeño sitio web que puede crear para un amigo o un familiar. Por otro lado, Craft es más bien una plataforma profesional que se utiliza para crear sitios web para empresas medianas y, como tal, el costo de su licencia es insignificante. En la mayoría de los casos, los desarrolladores (o agencias) asumirán el costo inicial para que los clientes no tengan que preocuparse por este precio.
Ah, y felicitaciones a Craft por brindar una opción para probar la versión Pro de forma gratuita en un dominio local. Esto también se aplica a todos los complementos.
Conclusión
Para concluir, me gustaría agradecer a Craft CMS y al equipo de Pixel Tonic por un viaje increíble y divertido. Craft ha satisfecho casi todas nuestras necesidades y continuaremos usándolo para proyectos futuros. Es flexible para adaptarse a cada proyecto y parece un CMS creado para ese caso de uso.
En resumen, Craft para mí es un marco de gestión de contenidos. Fuera de la caja, no es más que tuercas y tornillos que deben ensamblarse según las necesidades del usuario. Esto es lo que hace que Craft se destaque y por qué proporciona una excelente experiencia tanto para el autor como para el desarrollador.
Como viste en el modelo de licencia, es gratis para un solo usuario, pruébalo y deja tus comentarios en los comentarios.
Deja un comentario