2010-04-06 19 views
21

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, estaba aturdido. No pude recordar todas mis razones para construir 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 necesita 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 distrajo de usarlo fue descubrir errores en el código que no escribí y estos errores a menudo, especialmente si realizo algunos cambios en CMS o agregué un plug-in ...

Here, puedo encontrar estos 8 razones por las cuales no construir propio CMS:
¿Por qué crear un CMS propio?

  1. no va a satisfacer las necesidades de los usuarios

  2. es demasiado trabajo

  3. It no será una solución estándar

  4. No será extensible suficientemente rápido

  5. No será probado suficientemente bien

  6. No será fácilmente cambiable

  7. No agregará ningún valor

  8. Crear contenido, no funcionalidad


Presupuesto de la misma página:

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


Bien, estoy totalmente de acuerdo que es difícil inventar CMS que no haya sido ya inventado, pero por otro lado, creo que cada CMS es (o debería ser) individuales ... que tal vez no lo hará tener un millón de funciones, tendrá 3 funciones pero su uso será claro (para un usuario) y hará todo lo que un sitio debe tener. También creo que no es bueno dar a un cliente un CMS con muchas funciones que nunca se usan y que probablemente se vea más profesional cuando el sitio web y el CMS juntos parezcan un solo producto.

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

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

+5

Esta debería ser una pregunta wiki de la comunidad. – FrustratedWithFormsDesigner

+0

esta pregunta solo puede ser respondida por alguien que: 1. haya desarrollado su propio CMS y utilizado en producción y 2. haya utilizado un CMS listo para usar, lo haya adaptado a los requisitos previamente existentes y lo haya utilizado en producción. – Chris

+2

@Chris: Creo que cualquiera que tenga mucha experiencia en el desarrollo web puede responder u opinar sobre esta pregunta –

Respuesta

18

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, In Defense of Not-Invented-Here Syndrome:

Si se trata de una función de negocio principal - hacer usted mismo, no importa qué.

El punto es que, si está ganando su dinero directamente de la construcción de sistemas de gestión de contenido, no debe tomar uno de otra persona y ajustarlo hasta que le quede bien. Prefieres tener el control total de tu propio producto.

Editar:

Además, no hay que olvidar que la necesidad de reinventar cosas tallos (entre otras cosas) a partir de una ley fundamental de la programación:

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

Esto no significa que debamos tomar el camino que parece ser más fácil, pero explica por qué nos enamoramos de él. Acepte el desafío y lea realmente algún código, en lugar de escribirlo, de vez en cuando.

+0

No sé por qué, pero soy un poco escéptico cuando se trata de usar el código con el conocimiento de que tendré que hacer algunos cambios en el futuro, tal vez eso es lo que me distrae de usarlo. Alguien mencionado aquí, si está creando CMS para aprenderlo y aprender nueva tecnología, es bueno hacerlo. Bueno, yo diría que también fui guiado con eso. –

3

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

Si encuentra que el código cambia son necesarios, opte por una solución de código abierto, realice los cambios y comparta según sea necesario o necesario.

Sé que muchas veces los sistemas CMS NO son lo que se necesita. Muchos clientes necesitan un Sistema de edición de contenido. 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 & implementar algo desde cero en lugar de cortar abajo un ingenio CMS h derechos de acceso u funcionalidad de eliminación/ocultación.

+0

¿cómo se decide qué sistema CMS es el mejor para los requisitos de su cliente? seguro que debe adaptar el CMS que elija, entonces, ¿cuál es el mejor y con seguridad satisfará todos los requisitos? ¿Cuánto tiempo necesitas para familiarizarte lo suficiente con todos los existentes para tomar esa decisión? (lo mejor significa barato en este caso) – Chris

+0

Bueno, no estoy de acuerdo con que sea tan fácil encontrar un CMS adecuado, especialmente para mis clientes cuando la mayoría de ellos necesitan un sitio web (y) CMS en croata, y debo confesar que siempre tenía MUCHOS problemas con los personajes diacríticos –

+0

@ile: supongo que te refieres a 'šđćčŠĐĆČžŽ' ;-) – Chris

15

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 los clientes. El mayor problema es que debes entender cómo funciona el CMS para poder cambiarlo bien.

De cualquier forma se enfrentaría a una tarea bastante grande, pero debo estar de acuerdo con aquellos que dicen que no debe comenzar de cero (a menos que lo haga para aprender una nueva tecnología) exactamente por las razones expuestas en su pregunta ... Como dicen, no reinvente la rueda a menos que quiera aprender sobre las ruedas.

+1

"Crearía un CMS porque puede ser divertido y una gran experiencia de aprendizaje". No lo escribí en mi pregunta, pero esta fue también una de las principales razones por las que comencé a construirlo. –

+2

"no reinvente la rueda a menos que quiera aprender sobre ruedas": esta es la respuesta para todos: "Quiero escribir mi propio compilador/os/cms/base de datos", ¡increíble! corto y limpio, + 10 para ti! – ERJAN

7

He encontrado 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 existen en bases de datos que tienen su estructura establecida mucho antes de que usted participara. Realmente, 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 que probar y calzar un sistema existente además de un CMS de fábrica.

Al igual que otros mencionados, debe tener en cuenta los requisitos generales. ¿Hay flujo de trabajo involucrado? Navegación dinámica? Luego comenzaría a inclinarme más hacia los CMS listos para usar, 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 ...

7

Me parece que la razón principal por la que NO construyes 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 perjuicio para los clientes colocarlos en un CMS personalizado y luego depender únicamente de su soporte y actualizaciones. Peor aún es que paguen por el desarrollo del CMS personalizado: le están pagando para que reinvente la rueda sin importar cuán simples sean los requisitos del sitio.

Hay un montón de opciones de CMS por ahí que le permitirá añadir sus propias extensiones personalizadas si sus necesidades están más allá de lo que se construye en.

La mejor razón (posiblemente única) para construir un CMS personalizado es aprende un idioma bien Crear un CMS es una gran manera de aprender desarrollo web, pero no es una excelente manera de atender a sus clientes.

2

A menos que esté creando uno para la experiencia, solo hay un motivo real para construir uno propio: es más barato y/o más fácil que usar uno en el mercado que cumpla con sus requisitos.

Cuestiones relacionadas