La respuesta corta es sí.” La respuesta larga es “piensa cuidadosamente por qué quieres hacerlo”.
Desafortunadamente (y verá por qué uso la advertencia “desafortunadamente” en un minuto), la respuesta a una pregunta como esta es casi siempre “sí”. Eso es lo que pasa con el desarrollo de software. Si es un desarrollador de software lo suficientemente bueno, puede crear casi cualquier aplicación siempre que pueda agregar al código y la infraestructura del servidor. (Estoy seguro de que hay excepciones a esta declaración bastante amplia, pero, en su mayor parte, es cierto).
Vamos a ajustar la pregunta …
- ¿Es mejor usar el enlace de datos bidireccional con Rivets o Knockout.js o usar la arquitectura de flujo recomendada por React de Facebook?
- ¿Cuál es la mejor manera de generar un archivo PDF a partir de HTML y CSS?
- ¿Cómo codifican los archivos STEP los datos de geometría 3D?
- ¿Cuál es el mejor enfoque de ux para construir un excelente sitio web?
- ¿Qué herramientas usan los diseñadores web para el diseño web rápido?
Dado que la respuesta a esta pregunta es “sí”, cambiemos la pregunta a ” ¿Debería construirse un sitio como Quora utilizando Joomla o un CMS similar?”
La respuesta a esa pregunta tiene muchos más matices que un simple “sí” o “no” porque el contexto controla el significado. La primera pregunta que le haría es: “¿Qué tipo de experiencia de desarrollo tiene actualmente?”
Si su respuesta es “no mucho”, entonces diría que hay mucho valor al tratar de construir un sitio como Quora usando un CMS. Algunas personas probablemente no estarán de acuerdo conmigo, pero aquí está mi lógica.
El primer proyecto de codificación “serio” en el que me embarqué fue tratar de construir un sitio como Yelp usando Drupal. Sabía un poco sobre Drupal en ese momento, pero la mayor parte de eso fue a través de la GUI y agregando y ajustando módulos. No sabía mucho sobre codificación.
Por supuesto, no hay un “Módulo similar a Yelp” para Drupal (al menos no lo había en ese momento, no he desarrollado el uso de Drupal en mucho tiempo), así que tuve que descubrir cómo crear una gran cantidad de funcionalidad que quería Algo de eso se podía hacer juntando y manipulando módulos, pero también tuve que profundizar en la base de código y descubrir cómo extenderla para hacer lo que quería.
Cuando terminé, aprendí un montón sobre la codificación. Para el registro, también tenía una versión bastante decente de la funcionalidad de Yelp creada con Drupal. Aunque el backend era un desastre espantoso de código de espagueti digno de vergüenza.
Solo porque puedes, ¿eso significa que deberías?
Entonces, construir un sitio similar a Yelp con Drupal fue beneficioso para mí, personalmente, pero ¿eso lo convirtió en un “buen sitio web”? Supongo que una respuesta a esa pregunta dependerá en gran medida de cuánto priorice la funcionalidad. Funcionó, pero definitivamente no era bonito.
De todos modos, creo que la mejor respuesta para una pregunta como esta es una metáfora que leí relacionada con la construcción de cosas con Drupal. No puedo recordar exactamente dónde (de lo contrario lo citaría … ¡lo siento, policía de “crédito” de Internet!), Pero lo parafrasearé.
Entonces quieres construir un bote, ¿eh?
Digamos que quieres construir un bote y tienes dos opciones. Puede comenzar desde cero solo con materias primas, o puede comenzar con un automóvil y convertir ese automóvil en un bote.
Terminarás con un bote de cualquier manera. La pregunta es ¿qué tipo de barco quieres construir? Si un bote parecido a un automóvil es suficiente para sus propósitos, comience con el automóvil y podrá ahorrar un poco de tiempo.
Pero si desea un bote que, en última instancia, no se parece en nada a un automóvil, probablemente sea mejor comenzar con materias primas. Si comienza con un automóvil, es probable que termine perdiendo una tonelada más de tiempo tratando de eliminar el “automóvil” de su bote del que ahorró al obtener algunas de las funciones básicas compartidas.
La moraleja de esta respuesta muuuuy larga es:
Pregúntese qué quiere de construir un sitio similar a Quora. Si la respuesta es: “Solo quiero ver hasta dónde puedo empujar a Joomla y aprender algo”, entonces ve a la ciudad.
Si la respuesta es “Quiero un sitio similar a Quora para una gran visión que tengo para una nueva empresa que estoy comenzando”, entonces la respuesta probablemente sea “Aconsejaría contra Joomla o cualquier otro CMS precompilado como este”. ” Sí, en última instancia, podrá construir su sitio con él, pero, al final del día, tendrá una gran cantidad de Joomla-ness adicional que no tiene relación con su proyecto. Y administrar ese Joomla-ness adicional, si está construyendo un proyecto serio, finalmente le costará más tiempo del que le ahorró para comenzar con él.
Ronda de bonificación :
Unos años después de construir ese sitio similar a Yelp, una empresa se me acercó con mucho dinero y querían que les creara un sitio como Facebook. La advertencia era que tenía que usar Drupal.
Acepté el trabajo. Después de todo, era un buen dinero, y sabía que Drupal podía estirarse lo suficiente como para tener éxito. Pero, en ese momento, también sabía mucho más sobre desarrollo web, lo que significaba que reconocía lo problemático que era el proyecto.
En un par de semanas, pasé el proyecto a otra persona. Resultó que incluso el “buen dinero” no era lo suficientemente bueno como para construir un sitio web malo usando la herramienta incorrecta para el trabajo.