Si tuviera que crear una aplicación web con aproximadamente 5000 usuarios, ¿qué tecnologías utilizaría? ¿Qué pasaría si también quisieras tener una aplicación móvil?

Recomiendo usar MySQL como base de datos, ya que puede crear, editar y cambiar el diseño, utilizando una interfaz gráfica. Puede hacer lo mismo con otros controladores de bases de datos, porque creo que MySQL sería genial, gratis y fácil. Y no debe preocuparse por la cantidad de conexiones que podría tener. MySQL puede manejar: 4,294,967,295 conexiones. Por ejemplo, si tiene 10 000 usuarios que actualmente están conectados a su aplicación web, eso no significa que estén enviando solicitudes de consultas al mismo tiempo a su base de datos MySQL. Así que esto no sería un problema para ti. El problema es cuánto manejará su memoria a 5000 usuarios que ejecutan consultas complejas al mismo tiempo. Y esto no sucedería.

Puede trabajar con diferentes lenguajes del lado del servidor, como Ruby, Python, PHP, ASP.net y más. Estoy trabajando con PHP y es increíble, especialmente si usó una capa de abstracción con PDO similar para crear un sistema de inicio de sesión seguro y una solicitud de consulta que no dañaría su servidor. Y, por supuesto, usar un framework PHP como laravel o CakePHP también sería genial.

Use JavaScript, jQuery y AJAX para la interactividad del lado del cliente con sus usuarios. Puede trabajar con Angular JS, NodeJS.

Como aplicación móvil, no soy un experto en programación de aplicaciones móviles. Pero puedes aprender Java para Android usando Android Studio, pero realmente no tengo ninguna experiencia en aplicaciones móviles.

“Tener N usuarios” no dice nada sobre el requisito de rendimiento. Tener N usuarios simultáneos lo haría, pero solo si sabemos qué están haciendo. ¿Les mostramos el contenido de la base de datos / sistema de archivos? ¿Suben imágenes? ¿Necesitamos procesar (cambiar el tamaño, recortar) esas imágenes de inmediato? ¿Tenemos requisitos sobre qué tan rápido deben cargar las páginas? ¿Qué tecnologías ya conoce el equipo? ¿Queremos personalizar todo o algún proveedor de servicios existente puede hacerlo por nosotros? Esos serían los factores que debe considerar para elegir su pila de tecnología (y muchos más).

Depende de su tipo de aplicación.

Serie 1 :

  • Base de datos: PostgreSQL, MySql.
  • ORM: Hibernate.
  • Lógica empresarial: J2EE, Jersey (para API REST, para que pueda comunicarse con la aplicación de forma remota a través de la aplicación para acceder a la lógica empresarial).
  • Front End: JSF, JQuery, Android / JQuery Mobile.
  • Otro: Servidor Glassfish.

Conjunto 2:

  • Base de datos: FireBase.
  • Lógica empresarial: PhP. Javascript
  • Aplicación front-end para web: JQuery, Bootstrap.
  • Aplicación móvil: Android, complemento API Firebase.
  • Referencia:
  • Firebase
  • Si está utilizando PhP: ktamas77 / firebase-php

Y usa git para el control de versiones.

No estás proporcionando suficientes detalles para comenzar a responder la pregunta.

5000 usuarios que hacen qué? ¿Con qué frecuencia acceden a su servidor? ¿Qué trabajo necesita hacer el servidor para satisfacer la solicitud?

Incluso entonces, realmente no importa qué tecnología uses. Todos lo llevarán allí y todos tienen varias ventajas y desventajas, que si tiene éxito puede encontrarse.

Lo que realmente importa es la calidad de las personas que tienes construyendo (y comercializando) la aplicación.

Node.js + Angular.js + MongoDB + (aplicación híbrida)

Esta combinación es popular y puede cumplir su propósito. Como otros miembros sugirieron, cada tecnología tiene sus ventajas y desventajas, por lo que debe elegir lo que le gusta. No hay nada como “Perfecto” en este mundo.