Hay algunas propuestas específicas en las otras respuestas.
En mi opinión, no puede ni debe intentar tomar esta decisión únicamente en función de los requisitos funcionales que tenía en mente. También debe tener en cuenta su contexto y los requisitos no funcionales.
Aquí hay algunas cosas adicionales a considerar, sin ningún orden en particular:
- ¿Cuál es la mejor manera de almacenar una gran cantidad de datos de mapas para una aplicación web basada en la ubicación?
- ¿Qué sitios tienen sistemas de etiquetado que han mantenido su legitimidad a lo largo del tiempo?
- ¿Cuál es la diferencia entre bit.ly y j.mp?
- ¿Es posible evitar contenido inapropiado en la web?
- ¿Cuál es la diferencia entre organizar e implementar una aplicación / sitio web?
- ¿Cuál es su presupuesto, es decir, cuántas horas de desarrollo puede pagar? Algunos lenguajes de programación ofrecen varios beneficios sobre otros, pero pueden tener el costo de la complejidad.
- ¿Qué talento tienen disponible y qué idiomas ya saben, y qué tan rápido pueden elegir un nuevo idioma, biblioteca, marco, etc. si es necesario? Hay mucho tiempo para ahorrar usando tecnología que sus desarrolladores ya conocen, si es un ajuste relativamente bueno para el problema.
- ¿Qué tan seguro está de su caso de negocios? ¿Necesita comenzar con una prueba de concepto o está listo para proporcionar una especificación más o menos completa del producto? Si las cosas cambian con frecuencia debido a la incertidumbre sobre los requisitos reales, tiene una buena razón para elegir un idioma que se programe rápidamente, incluso si no es súper rápido.
- ¿Cómo alojarás la aplicación? Por ejemplo, su solución particular de alojamiento en la nube puede admitir un conjunto limitado de tecnologías. O los recursos que se le asignen serán un cuello de botella, por lo que necesita una aplicación bastante eficiente.
- Tamaño esperado de la base de usuarios? Este será un orden de consideración de magnitud. ¿Servirá a 20 personas dentro de su empresa o es Twitter / Google? Restringe la pila de tecnología y, a su vez, el idioma.
- Max retraso? Para todos los casos de uso, ¿cuánto tiempo deben esperar los usuarios antes de que el sistema responda? Restringe la pila de tecnología y, a su vez, el idioma.
- Rendimiento mínimo? ¿Cuántos casos de uso dados esperaría que se completaran pr. unidad de tiempo? Restringe la pila de tecnología y, a su vez, el idioma.
- Disponibilidad mínima? ¿Requiere un tiempo de actividad del 99.9999% o está de acuerdo con el 75%? Restringe la pila de tecnología y, a su vez, el idioma.
- ¿Será necesario escalar fácilmente su aplicación para que coincida con las diferentes cargas? Qué tan rápido debe ser capaz de responder al exceso de carga o capacidad excedente, si es que lo hace. ¿Necesitará escalar la capacidad computacional solo o el almacenamiento también? Restringe la pila de tecnología y, a su vez, el idioma.
Puede crear proyectos fácilmente utilizando el generador de proyectos web. paneles de administración y aplicación de gestión