paint-brush
Cómo construí un CMS y por qué no debería hacerlopor@petrpalas
74,123 lecturas
74,123 lecturas

Cómo construí un CMS y por qué no debería hacerlo

por Petr Palas2017/07/02
Read on Terminal Reader
Read this story w/o Javascript

Demasiado Largo; Para Leer

En el año 2000, estudiaba en la universidad y trabajaba como desarrollador de intranet, publicando contenido en una intranet escrito en HTML estático. Fue mi primer trabajo de “programación” y realmente lo disfruté — durante algunas semanas.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - Cómo construí un CMS y por qué no debería hacerlo
Petr Palas HackerNoon profile picture

En los últimos 15 años, escribí cinco sistemas de administración de contenido y construí una empresa líder de software CMS. Ahora déjame decirte por qué no deberías escribir tu propio CMS.

Fuente de la imagen: https://pixabay.com/en/girl-kids-africa-animals-asia-1822525/

"Escribir su propio CMS es como tener su propio elefante: para la mayoría de las personas, es más fácil visitar un ZOO".

Un mercado que no existía

En el año 2000, estudiaba en la universidad y trabajaba como desarrollador de intranet, publicando contenido en una intranet escrito en HTML estático. Fue mi primer trabajo de "programación" y realmente lo disfruté, durante algunas semanas.

Entonces se hizo evidente lo repetitivo y manual que era el trabajo. Así que comencé a escribir una aplicación en ASP clásico que permitiera a los usuarios administrar el contenido ellos mismos. No tenía ni idea de que existiera algo llamado sistema de gestión de contenido, así que, sin saberlo, inventé el mío propio.

En ese momento, había muy pocos sistemas CMS producidos para la compra, que a menudo costaban cientos de miles de dólares.

Así que no sorprende, considerando el tamaño y la inaccesibilidad de la categoría de software, que no estaba solo al tratar de minimizar las frustraciones y maximizar la eficiencia al crear mi propio CMS.

Productizando un CMS

En 2004, casi todas las agencias web creaban su propio CMS, a menudo personalizándolo para cada cliente. Esto resultó en docenas de modificaciones que fueron una pesadilla para administrar.

“Eso no tiene ningún sentido”, pensé para mis adentros. Ya había escrito algunos sistemas CMS de un solo propósito y estaba aburrido de nuevo. “¿Y si escribiera un CMS que pudiera usarse para cualquier sitio web?”

Entonces, comencé mi propia empresa, Kentico Software, con una visión muy simple: crear un CMS que cualquier desarrollador del mundo pudiera usar para crear cualquier sitio web.

Sorpresa: ¡La gente sigue escribiendo sus propios CMS personalizados!

13 años después, todavía me sorprende la cantidad de personas que eligen crear su propio CMS.

Ahora existe una plétora de productos CMS maduros, para todo tipo de proyectos, disponibles en todo tipo de sabores: desde código abierto gratuito hasta productos comerciales de nivel empresarial, desde los mejores productos hasta suites todo en uno. .

Entonces, ¿por qué alguien escribiría el suyo propio?

La respuesta es bastante simple: lo hacen por frustración.

Y lo entiendo. Los sistemas CMS tradicionales orientados a la web pueden estar llenos de fallas y limitaciones. Pero la verdad es que estas frustraciones ya no son válidas.

Lo sé; suena hipócrita… escribir mi propio CMS funcionó para mí, ¿por qué no para ellos?

Dejame explicar.

La arquitectura headless vuelve obsoleto el CMS personalizado

En los últimos 15 años, el mercado y la tecnología de CMS se han transformado para seguir el ritmo de los cambios en el panorama digital y las expectativas de múltiples dispositivos de los clientes.

Y ahora, la próxima generación de tecnología CMS, el primer CMS sin cabeza de la nube, se está preparando para revolucionar la industria de la gestión de contenido.

A diferencia de los sistemas CMS tradicionales, los productos CMS sin cabeza solo se enfocan en la administración de contenido y hacen que el contenido esté disponible a través de API para cualquier aplicación.

Como carecen de la "cabeza" que normalmente dictaría cómo se debe mostrar el contenido, un CMS sin cabeza deja este elemento de diseño completamente en manos del desarrollador.

El CMS sin cabeza, primero en la nube, elimina muchos límites de las soluciones CMS tradicionales

Por eso, no es una buena idea que los desarrolladores escriban su propio CMS personalizado, a menos que sea; ellos también quieren convertirse en proveedores de CMS.

Pero eso es fácil para mí decirlo. No soy el que enfrenta múltiples frustraciones y encuentra muchas razones por las que un CMS personalizado sería el camino a seguir.

Así que tomemos las razones principales y veamos por qué están obsoletas.

Razón n.º 1: el CMS estándar limita mi creatividad

Cuando habla con los desarrolladores front-end, su principal queja sobre CMS es que estropea su código HTML y los hace buscar soluciones alternativas.

Pero eso se acabó: el CMS sin cabeza te da libertad absoluta y no tiene huella en el código HTML resultante. Todo lo que necesita hacer es llamar a su API REST usando su lenguaje de programación favorito para recuperar el contenido del repositorio.

Entonces, ¡depende completamente de usted cómo muestra el contenido!

Razón #2: Las interfaces estándar de CMS son demasiado complejas

Muchos sistemas CMS tradicionales han crecido sustancialmente en los últimos diez años. Si bien todos comenzaron con la idea de brindar una excelente solución de administración de contenido, la mayoría no pudo evitar el avance de las funciones a medida que se expandieron a áreas como el comercio electrónico, la automatización de marketing, los sistemas de reserva, el marketing por correo electrónico, etc.

Si bien puede ser útil tener todo en un solo lugar para algunos usuarios, es un desafío para los nuevos usuarios aprender el CMS . Si todo lo que quieren hacer es administrar el contenido, demasiadas opciones afectan su productividad.

Los nuevos productos de CMS sin cabeza vienen desde una perspectiva diferente: se dan cuenta de que son solo una pieza del rompecabezas de los microservicios y se enfocan en brindar una interfaz de usuario mucho más optimizada centrada solo en el contenido .

Al mismo tiempo, suelen proporcionar una API de administración de contenido que le permite crear su propia interfaz de edición además de su repositorio de contenido.

Esto puede ser útil cuando desea crear una interfaz de usuario más optimizada o integrar capacidades de edición de contenido dentro de su propia aplicación, en lugar de redirigir a sus usuarios a otra interfaz.

Razón n.º 3: el CMS estándar es demasiado caro

"No queríamos pagar X $ por un CMS comercial, así que decidimos escribir el nuestro". Eso es lo que puede escuchar de algunos desarrolladores.

A menos que necesite algo mucho más simple que un CMS real (como administrar una lista de noticias), no hay forma de ahorrar dinero con un CMS personalizado a largo plazo .

Hoy en día, puede elegir entre una gran cantidad de CMS gratuitos de código abierto o puede optar por un CMS sin interfaz principal en la nube que ofrece precios basados en el consumo que siempre superarán el costo de desarrollar y ejecutar su propio CMS.

Razón #4: El CMS estándar no es seguro

Para muchas organizaciones, la seguridad de CMS es una pesadilla . Entonces, algunos desarrolladores piensan: "Si escribimos nuestro propio CMS, haremos que sea más complicado para los piratas informáticos encontrar una falla".

Eso es lo que llamamos seguridad por oscuridad .

Si bien es cierto que los piratas informáticos pueden aprovechar un problema de seguridad conocido, un CMS ampliamente utilizado generalmente se prueba enérgicamente . De hecho, la principal fuente de problemas de seguridad son las empresas que no aplican las revisiones más recientes a los diversos complementos empleados.

Con un CMS sin encabezado que prioriza la nube, siempre tiene la última versión. El CMS está alojado directamente por el proveedor que conoce el código y la infraestructura y puede dedicar la atención adecuada a la seguridad.

Razón n.º 5: el CMS estándar no se ajusta a mi arquitectura

Esto solía ser una razón válida en ciertos escenarios. Se esperaba que la mayoría de las soluciones CMS tradicionales se usaran como la plataforma central sobre la cual construir, lo que significa que el código de su aplicación estaba estrechamente relacionado con el CMS, como se ilustra en la imagen anterior de este artículo.

Estaba limitado por la plataforma CMS, el lenguaje de programación, los ciclos de actualización, la escalabilidad y la seguridad.

¡No es de extrañar que tantos arquitectos de software no tomen ese camino! En cambio, crearon una capa de proxy entre el CMS y su aplicación o, ¡sorpresa! — escribieron su propio CMS.

Afortunadamente, la arquitectura de CMS sin cabeza le permite acceder fácilmente al contenido mediante una API y escribir su aplicación de la manera que le gusta .

Razón #6: Todavía tenemos muchos clientes en el CMS de nuestra agencia

Muchas agencias digitales continúan ejecutando su propio CMS para sus clientes.

Algunos de ellos incluso lo usan intencionalmente para encerrar a sus clientes para que no puedan mudarse fácilmente a una agencia diferente.

En general, no hay absolutamente ninguna ventaja en que una agencia tenga su propio CMS. A menos que aspiren a convertirse en proveedores de CMS, deberían abandonar su propio CMS lo más rápido que puedan.

Afortunadamente, la mayoría de las agencias con las que hablo se dan cuenta de que no es el camino a seguir y que no pueden seguir siendo competitivas en el mercado con su CMS patentado.

Sin embargo, tienen miedo de dar un salto de fe y trasladar a sus clientes a un CMS estándar.

En algunos casos, también es una decisión emocional o política . El CMS fue escrito por el fundador de la agencia hace muchos años o es el bebé de su mejor desarrollador quien, después de todo, es la única persona que sabe cómo funciona el CMS.

Mi consejo: ¡Da ese paso audaz antes de que tu agencia quede obsoleta!

Elija un CMS moderno para sus clientes y destaque los muchos beneficios que les brinda.

¡Y dé a sus desarrolladores un nuevo juguete con el que jugar! Sugerencia: la mayoría de los desarrolladores se enamoran de un CMS sin cabeza muy rápidamente.

… y dos razones por las que se justifica un CMS personalizado

Para ser justos, hay situaciones en las que escribir su propio CMS todavía tiene sentido o es la única forma de hacerlo:

  • La administración de contenido es su negocio principal: si es una empresa como Medium, es posible que desee tener el control absoluto de la administración de contenido. Si es una gran casa de medios con docenas de publicaciones y necesita un flujo de trabajo completamente personalizado, es posible que desee escribir su propio CMS (o al menos crear una interfaz de usuario editorial personalizada). Sin embargo, hay MUY pocas empresas en el mundo que encajan en esta categoría y pueden justificar la inversión continua.
  • Requisitos únicos de seguridad o cumplimiento: Nuevamente, hay algunas organizaciones que deben cumplir con reglas específicas cuando se trata de almacenamiento de contenido, seguridad, arquitectura de software o infraestructura, y estas reglas no les permiten usar un CMS estándar.

Incluso si encaja en algunos de estos escenarios, debe tener en cuenta que cada hora que dedica a crear un CMS personalizado es una hora que podría dedicar a crear su ventaja competitiva en lugar de reinventar la rueda .

Evite escribir su propio CMS, a menos que haya un caso comercial claro

La gente SIEMPRE subestima la cantidad de esfuerzo que implica construir un verdadero CMS.

Su primer pensamiento puede ser “¿Qué tiene de complicado un CMS? Solo uso una base de datos de documentos y construyo una interfaz de edición además de eso”.

Sí, es un comienzo fácil, pero no es un verdadero CMS. Una vez que comience a agregar capas, como modelado de contenido, versiones, variantes de idioma, flujo de trabajo, permisos, entrega de contenido, búsqueda, etc., se encontrará desarrollando y administrando una solución bastante compleja.

A estas alturas, debería quedar claro que escribir tu propio CMS apesta. Es un excelente ejercicio de programación, pero no es su negocio principal, a menos que sea un proveedor de CMS.

Divulgación completa: soy el fundador de Kentico Software, un proveedor líder de CMS que está detrás de Kentico Cloud, el primer CMS sin cabeza en la nube . Aunque escribí este artículo con las mejores intenciones, mi opinión puede estar sesgada.

Si disfrutaste este artículo, aplaude, compártelo o publica tu comentario a continuación. Prometo responder a todas las preguntas.