content management system - source - ¿Por qué construir CMS propios?
content management system wordpress (6)
A menos que esté creando uno para la experiencia, solo hay una razón real para crear el suyo: es más económico y / o más fácil que usar uno en el mercado que cumpla con sus requisitos.
En mi primera entrevista de trabajo, me preguntaron por qué construí mi propio CMS. ¿Por qué no usar uno de los CMS existentes, Wordpress, Joomla, Drupal ...? Al principio, me quedé estupefacto. No pude recordar inmediatamente todas mis razones para crear mi propio CMS, pero esta fue definitivamente una de las principales razones: es mi código y si quiero cambiar algo en ese CMS (que a menudo tengo que hacer, porque cada sitio web Construyo necesidades CMS con diferentes funciones) no es un gran problema. Durante algún tiempo he estado usando Wordpress y una de las principales cosas que me distrajeron de usarlo fue descubrir errores en el código que no escribí y estos fueron frecuentes, especialmente si hice algunos cambios en el CMS o añadí una enchufar...
Here , puedo encontrar estas 8 razones por las que NO para crear un CMS propio:
No satisfará las necesidades de los usuarios.
Es demasiado trabajo
No será una solución estándar.
No será lo suficientemente rápido
No será probado lo suficientemente bien
No será fácilmente cambiable
No agregará ningún valor.
Crear contenido, no funcionalidad.
Cita de la misma página:
Entonces, la principal pregunta que debe hacerse es: ''¿Por qué estoy realmente tratando de resolver un problema que ya se ha resuelto anteriormente?''
Bueno, definitivamente estoy de acuerdo en que es difícil inventar CMS que aún no se haya inventado, pero por otro lado, creo que cada CMS es (o debería ser) individual ... quizás no tenga un millón de funciones, tendrá 3 funciones, pero su uso será claro (para un usuario) y hará todo lo que un sitio necesita tener. También creo que no es bueno otorgarle a un cliente un CMS con muchas funciones que nunca se usan, y probablemente se vea más profesional cuando el sitio web y el CMS juntos se parecen a un producto.
También me gustaría comentar algunas partes de la cita:
"Es demasiado trabajo": estoy de acuerdo, pero cuando utilizo el CMS existente y lo personalizo para las necesidades del sitio web, a veces puede ser un trabajo muy difícil o una misión imposible.
"No será fácilmente cambiable" - No estoy de acuerdo con esto.
¿Cuál es su opinión al respecto? ¿Por qué desarrolló o no desarrolló su propio CMS?
Ile
Como líder de equipo que siempre está siendo presionado para hacer más con menos, yo también me pregunto "¿por qué escribirías el tuyo?" Hay más paquetes de CMS que lenguajes de programación y me resulta difícil creer que no se puede encontrar uno que cumpla con la mayoría (si no todos) los requisitos de clientes, negocios y costos.
Si encuentra que se necesitan cambios en el código, opte por una solución de código abierto, realice los cambios y comparta según sea necesario o deseado.
Sé que muchas veces los sistemas CMS no son lo que se necesita. Muchos clientes necesitan un sistema de edición de contenido. Lo que quiero decir es que alguien técnico coloca un sitio en su lugar y el cliente agrega / edita / elimina páginas. Las páginas ya están bien diseñadas y formateadas. En estos casos, puedo ver dónde puede ser más rápido diseñar e implementar algo desde cero en lugar de cortar un CMS con derechos de acceso o eliminar / ocultar la funcionalidad.
Descubrí que funciona cuando el contexto del proyecto es más grande que solo un "sitio de contenido". He trabajado en varios sitios de bienes raíces donde la mayor parte del contenido proviene de fuentes de datos, o ya existe en bases de datos que tienen su estructura configurada mucho antes de que usted participara. En realidad, solo teníamos un puñado de páginas de "contenido" de BS que conformaban el sitio que rara vez se actualizaban. Lo que realmente necesitaban era una interfaz simple para la entrada de datos. Era mucho más fácil construir algunos componentes únicos que probar y calzar un sistema existente sobre un CMS listo para usar.
Sin embargo, como mencionaron otros, debe considerar los requisitos generales. ¿Hay flujo de trabajo involucrado? Navegación dinámica? Luego, comencé a inclinarme más hacia los CMS fuera de la caja, pero muchas veces las personas dicen que necesitan un CMS, cuando realmente solo necesitan una interfaz WYSIWIG para una base de datos. Pero a veces no ...
Esta es una pregunta interesante que se aplica a la mayoría de los desarrollos, no solo cuando se crea un CMS.
En general, diría que es una mala idea reinventar la rueda (y la mayoría de sus 8 argumentos son correctos en la mayoría de los casos), pero hay excepciones. El primero que me viene a la mente es uno de Joel Spolsky, En defensa del síndrome de no inventar aquí :
Si se trata de una función empresarial básica, hágalo usted mismo, sin importar qué.
El punto es que, si está ganando su dinero directamente de la creación de sistemas de administración de contenido, no debe tomar uno de otra persona y modificarlo hasta que se ajuste a usted. Prefieres tener control total sobre tu propio producto.
Editar:
Además, no olvide que la necesidad de reinventar las cosas se deriva (entre otras cosas) de una ley fundamental de la programación:
Es más fácil escribir código que leerlo
Esto no significa que debamos tomar el camino que parece ser más fácil, pero explica por qué nos caemos. Acepte el desafío y lea un código, en lugar de escribirlo, de vez en cuando.
Me parece que la principal razón para NO construir tu propio CMS (además de los problemas de seguridad) es la falta de soporte y la ruta de actualización. Considero que es un inconveniente para los clientes ponerlos en un CMS personalizado y, luego, depender solo de su soporte y actualizaciones. Peor aún es que paguen por el desarrollo del CMS personalizado: le están pagando para reinventar la rueda sin importar lo simples que sean los requisitos del sitio.
Hay muchas opciones de CMS que le permitirán agregar sus propias extensiones personalizadas si sus requisitos van más allá de lo que está integrado.
La mejor razón (posiblemente solo) para crear un CMS personalizado es aprender bien un idioma. Crear un CMS es una excelente manera de aprender el desarrollo web, pero no es una buena manera de servir a sus clientes.
Yo construiría un CMS porque puede ser divertido y una gran experiencia de aprendizaje.
Sin embargo, cualquier CMS de código abierto se puede personalizar a las necesidades de cualquier cliente. El mayor problema es que tienes que entender cómo funciona ese CMS para poder cambiarlo bien.
De cualquier manera, se enfrentará a una tarea bastante grande, pero debo estar de acuerdo con aquellos que dicen que no deben comenzar desde cero (a menos que lo estén haciendo para aprender algo de nueva tecnología) exactamente por los motivos que se indican en su pregunta. Como dicen, no reinvente la rueda a menos que quiera aprender sobre ruedas .