¿Por qué construir su propio CMS? [cerrado]


En mi primera entrevista de trabajo, me preguntaron por qué construí mi propio CMS. Por qué no utilizar uno de los CMS existentes, Wordpress, Joomla, Drupal...? Al principio, estaba aturdido. No pude recordar inmediatamente todas mis razones para construir mi propio CMS, pero esta fue definitivamente una de las razones principales: Es mi código y si quiero cambiar algo en ese CMS (lo que a menudo tengo que hacer, porque cada sitio web que construyo necesita CMS con diferentes funciones) no es un gran problema. Por 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 fue escrito por mí y estos errores fueron a menudo, especialmente si hice algunos cambios en CMS o agregado un plugin...

Aquí , puedo encontrar estas 8 razones por las que NO construir propio CMS:

  1. No satisfará las necesidades de los usuarios

  2. Es demasiado trabajo

  3. No será una solución estándar

  4. No será extensible rápido basta

  5. No se probará lo suficientemente bien

  6. No será fácilmente cambiable

  7. No añadirá ningún valor

  8. Crear contenido, no funcionalidad


Cita de la misma página:

Así que la pregunta principal para hacerse es: '¿Por qué estoy realmente tratando de volver a resolver un problema que ya ha ¿se ha resuelto antes?’


Bueno, definitivamente estoy de acuerdo en que es difícil inventar CMS que no se ha inventado ya, pero por otro lado, creo que cada CMS es (o debería ser) individual... tal vez no tendrá 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 darle 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 parecen un producto.

También me gustaría comentar algunas partes de la cita:
"Es demasiado trabajo" - Estoy de acuerdo, pero cuando se utiliza el CMS existente y personalizarlo a las necesidades del sitio web y a veces puede ser un trabajo muy duro o una misión imposible.
"No será fácilmente cambiable" - No estoy de acuerdo con este.

¿Cuál es su opinión sobre este, por qué desarrolló o no desarrolló su propio CMS?
Ile

Author: skaffman, 2010-04-07

6 answers

Esta es una pregunta interesante que se aplica a la mayoría del desarrollo, no solo al construir 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 viene a la mente es uno de Joel Spolsky, En Defensa del Síndrome No-Inventado-Aquí :

Si se trata de una función de negocio principal do tú mismo, pase lo que pase.

El punto es, si usted está haciendo su dinero directamente de la construcción de sistemas de gestión de contenido, no debe tomar uno de otra persona y modificarlo hasta que se adapte a usted. Preferirías tener el control total sobre tu propio producto.

Editar:

Además, no olvides que el impulso de reinventar las cosas proviene (entre otras cosas) de una ley fundamental de programación:

Es más fácil escribir código que leerlo

Esto no significa que debamos tomar el camino eso parece ser más fácil, pero explica por qué caemos en ella. Acepta el reto y lee algún código, en lugar de escribirlo, de vez en cuando.

 18
Author: Jakob,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-06 21:08:28

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 según 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 a una tarea bastante grande, pero debo estar de acuerdo con aquellos que dicen que no debe comenzar desde cero (a menos que lo esté haciendo para aprender algo de nueva tecnología) exactamente por las razones indicadas en tu pregunta... Como dicen, no reinventes la rueda a menos que quieras aprender sobre ruedas.

 15
Author: Klaus Byskov Pedersen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-06 20:53:31

He encontrado que funciona cuando el contexto del proyecto es más grande que solo un 'sitio de contenido'. He trabajado en una serie de sitios de bienes raíces donde la mayor parte del contenido proviene de fuentes de datos, o ya existe en bases de datos que han tenido su estructura establecida mucho antes de que usted estuviera involucrado. Realmente, solo teníamos un puñado de páginas de "contenido" BS que formaban 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 de construir algunos componentes únicos que tratar de calzador un sistema existente en la parte superior de un CMS fuera de la caja.

Al igual que otros mencionados, sin embargo, debe considerar los requisitos generales. Hay flujo de trabajo? Navegación dinámica? Entonces empezaría a inclinarme más hacia los CMS de fuera de la caja, pero muchas veces la gente dice que necesita un CMS, cuando realmente solo necesitan una interfaz WYSIWIG para una base de datos. Pero a veces no...

 7
Author: nick92675,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-06 20:54:40

Me parece que la mayor razón para NO construir su propio CMS (además de problemas de seguridad) es la falta de soporte y ruta de actualización. Considero que es un flaco favor a los clientes ponerlos en un CMS personalizado y luego tener que confiar en que solo soporte y actualizaciones. Peor aún es hacer que paguen por el desarrollo del CMS personalizado: le pagan para reinventar la rueda sin importar cuán simples sean los requisitos del sitio.

Hay muchas opciones de CMS que te permitirán agregar sus propias extensiones personalizadas si sus requisitos están más allá de lo que está incorporado.

La mejor razón (posiblemente solo) para construir un CMS personalizado es aprender bien un idioma. Construir un CMS es una gran manera de aprender desarrollo web, pero no es una gran manera de dar servicio a sus clientes.

 7
Author: mahalie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-07 01:14:18

Como líder de equipo que siempre está siendo empujado a hacer más con menos, yo también hago la pregunta "¿por qué escribirías el tuyo propio?"Hay más paquetes de CMS que lenguajes de programación y me resulta difícil creer que no pueda encontrar uno que cumpla con la mayoría (si no todos) los requisitos de los clientes, negocios y costos.

Si encuentra que se necesitan cambios de 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 un sistema CMS NO es lo que se necesita. Muchos clientes necesitan un Sistema de Edición de Contenido. Lo que quiero decir es que alguien técnico pone 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.

 3
Author: Michaelkay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-06 20:47:46

A menos que esté construyendo uno para la experiencia, solo hay una razón real para construir el suyo propio: es más barato y/o más fácil que usar uno en el mercado que cumpla con sus requisitos.

 2
Author: Rimian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-04-07 05:51:25