¿Qué lenguaje de programación es el más popular para escribir el backend de una aplicación web que debería poder escalar?

“Más popular” es un término amplio y, a menudo, depende de lo que debe hacer el servidor y de las capacidades de ingeniería que tenga un equipo. Las opciones populares son Ruby (para Ruby on Rails), Python, y menos para escalar PHP. Las empresas “más antiguas” (en términos web) a menudo también usan Java Servlet Pages (JSP) y las grandes empresas también usan .NET.

Actualmente, Ruby on Rails es extremadamente popular, pero suscita preocupación porque es bloqueante y costoso de escalar. Node.js está ganando bastante popularidad debido a su rápida velocidad de ejecución, fácil escalabilidad y asincronía, y muchas grandes empresas comienzan a usarlo (LinkedIn, eBay). LinkedIn reescribió recientemente su back-end para la aplicación móvil de Ruby on Rails a Node.js e informó que es hasta 20 (!) Veces más rápido (Alta escalabilidad – Alta escalabilidad – LinkedIn Se trasladó de Rails a Node: 27 servidores cortados y hasta 20x Más rápido). Node.js también tiene algunos casos de uso bastante interesantes para aplicaciones en tiempo real.

En general, depende en gran medida de las capacidades y capacidades de su equipo de desarrollo y del caso de uso particular, lo que es mejor elegir. Quora se basa en Python porque sus fundadores conocían mejor este lenguaje. Facebook se basa en PHP (que ahora se acelera cinco veces a través de hiphop-php en comparación con el marco Zend) porque sus fundadores lo sabían mejor. Muchas grandes y famosas startups de internet usan Ruby on Rails porque su fundador lo sabía mejor.

Exactamente lo que dijo Wolfgang: deje que sus desarrolladores controlen la elección de la tecnología. Si está tratando de elegir una tecnología para construir un equipo inicial, intente elegir un ingeniero con el que se sienta cómodo, que “entienda” su idea y tenga experiencia en más de un idioma y marco. Luego deje que ese ingeniero decida cómo implementar. (Un comentario aparte: preguntaste sobre el lenguaje, pero no es solo el lenguaje. La implementación también se trata del marco, la base de datos y muchas otras cosas).

Es como mi respuesta favorita a la vieja pregunta, “¿Debería, como persona no técnica, comprar una Mac o una PC?” Respuesta: “Elija la misma computadora que es propiedad del amigo al que va a llamar cuando necesite ayuda”.

Además, en las primeras etapas, debe preocuparse más por la rapidez con la que puede lanzar la primera versión de su producto que por lo bien que escalará cuando y si obtiene un millón de clientes. Hay formas (algunas mejores que otras) de escalar casi todos los lenguajes y marcos populares en la actualidad. PERO, he visto una gran cantidad de tiempo desperdiciado al preocuparme por la escalabilidad cuando una empresa debería estar preocupada por tener la versión inicial de un producto en manos de los usuarios.

More Interesting

Cómo rastrear errores de JavaScript front-end

¿Cuáles son las herramientas o marcos de animaciones web utilizados en un sitio web popular como Apple.com?

¿Cómo se compara Google App Engine con AWS Elastic Beanstalk?

Si desea crear una aplicación web pero no desea apoyar a un equipo de desarrollo, ¿pueden las opciones de código bajo ser lo suficientemente robustas como para admitir la aplicación?

¿Hay alguna aplicación web que descargue todo o la mayor parte del trabajo al lado del cliente?

¿Cuáles son las mejores aplicaciones / complementos web para aumentar la productividad en la computadora?

¿Cuál es la ventaja de usar ASP? NET sobre otros marcos de aplicaciones web?

Creación de una aplicación web con todas las funciones utilizando un marco API y Javascript

¿Es correcto que Python tenga un rendimiento lento para crear aplicaciones web?

¿Por qué no puedo reproducir una canción en Pandora? O si puedo, ¿cómo lo hago?

¿Qué usaría / implementaría para servir contenido estático en aplicaciones web que reciben millones de visitas por día?

¿En qué se diferencian las aplicaciones web progresivas de las aplicaciones nativas en términos de UX?

¿Qué necesitas para desarrollar una aplicación móvil o una aplicación web como Airbnb?

He aprendido sobre modos en teoría de la música. Ahora, ¿cómo los pongo en aplicación mientras escribo un solo de guitarra sobre una progresión de acordes?

¿Debo usar Angular JS + WordPress o Meteor?