¿Cuál es la arquitectura técnica típica para abordar el siguiente cliente: Web, iOS, Android y Microsoft?

La respuesta de Matt Mayer cubre las preguntas básicas necesarias para comenzar a responder este tipo, pero de manera hipotética, utilizando esas preguntas como punto de partida.

Pila de AWS (LEAMP) para manejar la infraestructura de su servidor. Esto es muy abierto, ya que podría tener requisitos de big data, entonces las bases de datos relacionales probablemente no sean el camino a seguir. En cuanto al precio, no hay mucha competencia, especialmente en momentos de escala y casi no hay configuraciones que no pueda ejecutar a través de AWS.

Teniendo en cuenta sus requisitos, definitivamente un primer enfoque de API RESTful. Si fuera yo, y nuevamente dependiendo de sus necesidades de escala, elegiría Laravel 5.3+ como su marco PHP básico. Es fácil desarrollar, obtener soporte para desarrolladores a través de foros en línea, tiene una sólida red de desarrolladores disponible para usted y escala bien. Tiene una base de código sólida, usa Composer y viene con la mayoría de sus requisitos de API listos para usar.

Para las aplicaciones, si tienes el presupuesto, entonces ve a Native. Todos ellos tienen un buen soporte de API nativa para JSON (o XML si lo desea) y la disponibilidad de bibliotecas de terceros para cada uno, supera con creces un enfoque híbrido. Y lo digo con experiencia. Si bien Ionic y sus gustos son muy fuertes y tienen un buen soporte, todavía tiene un aire de “aplicación web” al respecto.

No existe una arquitectura técnica “típica”. Dependerá mucho del tipo de aplicación que esté desarrollando (por ejemplo, una aplicación de chat, un juego, una aplicación de negocios), la escala a la que apunta (¿una aplicación para 100 personas dentro de una empresa? Una aplicación con millones de usuarios) en todo el mundo?), cuánto se espera que las características varíen entre plataformas y su presupuesto.