¿Cómo decides si construir un nuevo sitio desde cero frente a WordPress o Drupal o similar?

Creo que la mejor manera de responder a esta pregunta es dividir las startups basadas en web en dos grupos principales. Un grupo, como Twitter, Facebook, Foursquare, Digg, etc., compite creando nueva tecnología y nuevas ideas que no se han hecho antes (o haciendo cosas viejas mucho, mucho mejor). El segundo grupo está llevando una idea o concepto estandarizado a un nuevo nicho. TechCrunch (wordpress) hace noticias para técnicos, PerezHilton (wordpress) hace noticias para chismes de celebridades, TeamSugar (drupal) ha creado una comunidad para mujeres jóvenes y modernas, etc. Realmente se trata de cómo vas a competir en el mercado.

Si la mayor parte de su ventaja competitiva se va a construir sobre la nueva tecnología o un alejamiento de lo que se ha hecho antes, debe construir desde cero. Twitter ya tiene suficientes problemas para escalar, probablemente sería una locura si tuviera que lidiar con el marco de otra persona también. Además, cuando usa WordPress / Drupal, está atascado, o al menos tiene que comenzar, con la dirección de diseño que los desarrolladores originales del proyecto ya han creado. Esto puede conducir a problemas de desarrollo y problemas invisibles en el futuro a medida que intenta hacer crecer su aplicación de formas nuevas y novedosas más allá de las funciones diseñadas de la aplicación.

Si la mayoría de su ventaja competitiva es externa a la tecnología, entonces probablemente debería comenzar con Drupal o WordPress o algún otro paquete de código abierto. Eso le permitirá poner en marcha su proyecto muy rápidamente, probar para ver si tiene el mercado que cree que tiene y escalar a lo largo de un camino muy conocido. Dirigir una comunidad de blogs ya no es algo novedoso. Hay cientos de instalaciones de WordPressMU en la naturaleza. Si puede ejecutar uno con un nicho estrecho que sea importante para un número significativo de personas y escalarlo bien, la tecnología de fondo probablemente no sea el factor decisivo. La conexión con la comunidad probablemente es. Si tiene una tienda en línea que vende bolsas Prada, la tecnología utilizada para configurar la tienda no es el factor decisivo. Sus precios, su comercialización y su marca son mucho más importantes.

El otro lado de la moneda es que a veces un CMS le permite competir fácilmente con un pequeño equipo. Si es un periódico o una revista que todavía se está ejecutando en una aplicación personalizada, probablemente le resulte difícil seguir creciendo y cambiando como lo hacen sus competidores. Es por eso que Fast Company está en Drupal y Augusta Chronicle acaba de cambiar a él. Sus modelos de negocio se basan en tener mejores noticias, no mejor tecnología. La tecnología, que es bastante estándar, simplemente facilita la distribución de las noticias.

Un posible contraejemplo para esta tesis es http://www.digitaldollhouse.com/, que ha creado una increíble aplicación flash 3D sobre Drupal. Pero, como notará, nada de lo que están haciendo es particularmente novedoso, solo su uso de Drupal es novedoso. Simplemente están tomando una idea muy estandarizada (mundo 3D con artículos que se pueden comprar) y traduciéndola a un nuevo nicho para las niñas.

Manera fácil de decidir cuál usar:
1. ¿Estoy compitiendo en tecnología u otra cosa?
2. ¿Puede Drupal / WordPress hacer lo que necesito en el futuro previsible?
3. ¿Cuánto más allá de Drupal / WordPress estoy tratando de crecer? ¿Anticipo una forma de hacer eso?

Depende de una combinación de factores, que incluyen:

  1. La experiencia que tiene su desarrollador con el CMS en cuestión
  2. Cuán estrechamente se ajustan sus necesidades a las capacidades del CMS

En general:

  • Si está construyendo un sitio web , tiene mucho que ganar al aprovechar las capacidades listas para usar de los CMS. Si está creando una aplicación web, la funcionalidad que brindan será menos aplicable.
  • Si su sitio web tiene requisitos de administración de contenido relativamente simples (por ejemplo, un blog o un sitio web estático), los CMS ligeros como WordPress serán más fáciles de trabajar que los sistemas funcionalmente ricos pero más complejos como Drupal. Si sus necesidades son más complicadas , se encontrará con limitaciones con WordPress que serán difíciles de solucionar.
  • Si su desarrollador no tiene experiencia con el CMS en cuestión, habrá trabajo para que lo aprendan antes de que sean productivos. Drupal es una tecnología muy sofisticada y requiere mucho más trabajo para aprender que WordPress. Por lo general, se necesitará de 1 a 6 meses de capacitación para desarrolladores para ser productivo con Drupal.

Consideremos algunos escenarios diferentes:

  • Necesitas lanzar un blog: hay pocas razones para reinventar tu propia plataforma de blogs. En general, para blogs simples, WordPress es el mejor CMS de blogs y la opción obvia.
  • Debe crear una aplicación web que tenga poca superposición con las capacidades de CMS (por ejemplo, un servicio web de VoIP): la mayor parte de su trabajo será en ingeniería personalizada. Si sus desarrolladores conocen bien el CMS en cuestión, debería considerar usarlo. Si no lo hacen, podría ser más trabajo aprenderlo que lo que gana en beneficios directos de funcionalidad.
  • Debe crear un sitio web comunitario sofisticado (con registro de usuario, blogs, permisos, etc.): será una gran cantidad de trabajo construirlo por su cuenta y mantenerlo a largo plazo. Si puede permitirse invertir en una solución de Drupal o en capacitar a sus desarrolladores con Drupal, debería considerar seriamente hacerlo. Construir esta funcionalidad por su cuenta e integrarla en CMS ligeros como WordPress es una opción, pero introducirá una gran carga para mantener esta funcionalidad por su cuenta.

Nota: Esta respuesta cambiará en los próximos años. Las mejoras en Drupal, WordPress y otros CMS están creciendo exponencialmente.