¿Qué última tecnología es mejor para crear una aplicación web realmente rápida y robusta que reciba un tráfico enorme?

Creo que la mayoría de las personas que leen las respuestas a esto las malinterpretarán. Sin embargo, trataré de explicar la ambigüedad en la pregunta y responderé a todos los significados implícitos en su pregunta.

Primero, veamos algunos de los sitios de tráfico más grandes. Amazon, Wikipedia, Facebook, Youtube, etc.

Como cualquiera puede decirle, el sitio web es solo una parte de la plataforma. La aplicación es otra. Lo importante es que tanto la aplicación como el sitio web están hablando con los mismos servidores.

Tienes un millón de personas usando tu aplicación. Un millón de personas que usan su sitio web. Eso significa que 2 millones de personas están interactuando con sus servidores.

Para las aplicaciones móviles, la tecnología que permite grandes cantidades de usuarios es interna. Los API de Android, Windows e iOS tienen que ser muy robustos y capaces de manejar una gran cantidad de tipos de aplicaciones, acciones y otros factores. Si su aplicación tiene que manejar una gran cantidad de usuarios, deberá escribir su código de una manera que reduzca la cantidad de solicitudes. No tiene nada que ver con tu tecnología.

Para los sitios web, tienes un poco más de control sobre la velocidad. Sobre todo porque cada navegador funciona de manera diferente, hay mucho margen de error. Probablemente no pueda saber las páginas de quién se cargan más rápido: Amazon, Facebook o Google. Pero saque una versión de IE de 2000 en una máquina con Windows XP, y habrá diferencias significativas, que varían en qué botones hace clic, páginas en las que aterriza, etc.

Ahora para la parte que realmente importa. Servidores Primero, le daré la respuesta que la comunidad tecnológica principal quiere ver:

NodoJS. Súper jodidamente rápido. Maneja una gran cantidad de solicitudes. Escriba su aplicación, sitio web y backend en ella. Wowwww tan llamativo! Lástima que el 90% de los desarrolladores odie javascript con pasión. Y la velocidad está completamente silenciada por el código de mierda que la gente escribe. Javascript es rápido. Los desarrolladores de Javascript no escriben código rápido.

Entonces, ¿cuál es ‘la última tecnología que todos usan para la velocidad?’

La misma mierda que siempre hacían. Java es realmente rápido. C ++ es más rápido cuando se usa correctamente. ¿En cuanto al 99.9999% de software que no necesita ser tan rápido como una nave espacial de la NASA o la barra de búsqueda de Google?

Use el lenguaje que le guste a sus desarrolladores. Esa es, de lejos, la mejor manera de manejar una tonelada de usuarios. Una vez que llegue a miles de millones, deje que su CTO y su equipo de miles de profesionales decidan qué hacer. Dudo que busquen quora en busca de respuestas.

Cualquiera de los marcos web populares puede hacer esto. El escalado no depende de su tecnología. Lo que es mucho más importante es que comprenda el almacenamiento en caché y cómo usarlo correctamente y que no realice consultas SQL tontas. Eso te llevará mucho más lejos de lo que piensas.

Elija la tecnología con la que se sienta más cómodo. Eso te ayudará a construir más rápido, que debería ser tu objetivo.

Crear una aplicación a gran escala realmente rápida a veces no siempre depende de los marcos o la plataforma, sino de la forma en que la aplicación está estructurada desde cero.

El uso de marcos como Angular 2 o Ext JS puede ayudarlo a crear una aplicación a gran escala que sea manejable.

Angular 2 puede ser un poco lento en el arranque de la aplicación, pero tan pronto como se cargue la página, estará listo. TypeScript también agrega un nivel de granularidad y hace que el proyecto sea fácil de mantener y tiene casi la misma sensación al codificar lenguajes de alto nivel como Java y C #.

More Interesting

¿Cuál sería el mejor enfoque para hacer una plataforma de descarga OTA para teléfonos móviles?

¿Cuáles son las diversas propiedades de corrección de los modelos de software que se verifican con mayor frecuencia durante la verificación del modelo?

¿Por qué la industria del software tiene tantos problemas?

Tengo alguna 'idea' y quiero desarrollarla usando Java (ya que soy un desarrollador de Java). ¿Debo ir con algún CMS de código abierto como Hippo o DotCMS o debería desarrollarlo desde cero usando Spring Framework, etc.?

¿Cómo seguirías para inventar un software o una aplicación que no existe? ¿Qué categoría de aplicaciones / softwares aún no se ha visto?

¿Me convierte en un mal programador si el control de calidad puede detectar errores en mi código?

¿Cuáles son algunas cosas que solo los ingenieros de software más antiguos sabrán y entenderán típicamente?

¿Cómo manejan algunos desarrolladores los sofocantes entornos / prácticas ágiles?

¿Cuáles son algunas malas prácticas de programación?

¿Cuáles son los pasos iniciales para hacer un producto de software para la gestión escolar?

¿Cómo leemos la cardinalidad en un diagrama UML o en un diagrama E / A?

¿Qué conocimientos básicos de código y programación debo tener si quiero obtener un título en CS?

¿El lanzamiento de la versión beta del software fue parte del SDLC implementado por las compañías de software?

¿Cuáles son las deficiencias de UML (Unified Modeling Language)?

Llevo bastante tiempo evitando Java. ¿Esto afectará mi carrera como ingeniero de software?