¿Qué idiomas están involucrados en la creación de una aplicación web?

Creo que lo que realmente está preguntando es qué es la pila web y qué idiomas y / o marcos son adecuados para cada parte de esa pila.

En primer lugar, parece que estás confundido entre las aplicaciones móviles nativas y las aplicaciones web. Las aplicaciones para iPhone / Android / Windows Mobile / WebOS son aplicaciones nativas , que están escritas para una plataforma móvil específica y pueden tener conectividad web; El lenguaje utilizado en el cliente web es específico de esa plataforma móvil (por ejemplo, Objective C para iOS). Pero hablemos de aplicaciones web, aplicaciones que se pueden ejecutar en cualquier navegador.

  • La parte de visualización / visualización deberá escribirse en HTML y diseñarse con CSS. Si hay interacciones en la página, se escribirán en Javascript. Este es el código del cliente que se ejecuta en el navegador.
  • El navegador habla con el servidor en un formato de transferencia de datos. Los populares son JSON y XML.
  • Su servidor es la parte que inicialmente genera el HTML / CSS / JS y proporciona datos para las solicitudes de AJAX. Normalmente está escrito en PHP, Python, Ruby o Java; Todos estos lenguajes tienen marcos adaptados al desarrollo web. Lo más probable es que interactúen con un sistema de almacenamiento de back-end de algún tipo.
  • Si está haciendo un trabajo intensivo en datos, puede ser necesario escribir partes de su código en un lenguaje de nivel inferior para un mejor rendimiento. Aquí es donde se usan los lenguajes compilados en la pila web: C ++ y Java, por ejemplo, se usan para actualizar los índices de las bases de datos.
  • Su sistema de almacenamiento de fondo probablemente será una base de datos SQL, y las implementaciones de SQL incluyen MySQL y PostgreSQL. Hay otras soluciones como MongoDB y el servidor Microsoft SQL, pero para la aplicación web promedio la lista anterior funciona bien. Tenga en cuenta que también hay una buena cantidad de servicios gratuitos y de pago, como Google App Engine, que actúan como almacenamiento de fondo.

El desarrollo de aplicaciones puede involucrar muchos idiomas.
La conclusión al elegir un idioma es que diferentes problemas requieren diferentes herramientas. Cada idioma que conoces es una herramienta en tu caja de herramientas. Puedes clavar tornillos, pero es más fácil usar un destornillador.
La diferencia más notable en los paradigmas de programación es la programación procedimental vs funcional. Puede resolver cualquier problema utilizando cualquier paradigma. Ciertos problemas se resuelven más fácilmente usando un paradigma sobre el otro. Algunos programadores entienden un paradigma más fácilmente que otro.
En definitiva, todos los lenguajes informáticos hacen exactamente lo mismo. El viaje allí puede tomar diferentes caminos.

Esta lista no es exhaustiva, y puede provocar un poco de desacuerdo (a los ingenieros les encanta discutir).

Para dispositivos móviles:
Objetivo C para el desarrollo de iOS
Java / XML para el desarrollo de Android como dijo el usuario de Quora.
Desarrollo de .NET para Windows Mobile.

Para desarrollo web:
Los lenguajes de desarrollo web más comunes incluyen (orden alfabético): Java, JavaScript, .NET, PHP, Python, Ruby, Scala, etc. Algunos lenguajes más antiguos que se usaban mucho, pero que ya no incluyen: ASP y Perl.
Algunas aplicaciones web en realidad están escritas en c o c ++.
Incluso podría escribir una aplicación web que utilice scripts de shell.

Para su diseño web front-end:
HTML / CSS son los principales jugadores. Javascript también se usa mucho en este departamento. XML / XSL también es una posibilidad.
Aquí también se usan ActionScript (Flash) y .NET (Silverlight).

Bases de datos:
Dependiendo de su base de datos, hay diferentes tipos de SQL que puede usar. (Suponiendo que está utilizando una base de datos SQL)
Hay una lista cada vez mayor de bases de datos NoSQL más orientadas al propósito que pueden tener sus propias interfaces únicas (la mayoría tendrá algún tipo de acceso a la biblioteca según el idioma que elija)

Para tener una aplicación web en funcionamiento, y suponiendo que lo esté haciendo todo usted mismo, necesitará conocer los siguientes idiomas. Si todos estos lenguajes son verdaderos o no está en debate, pero todos tienen una sintaxis específica que debes conocer, así que eso es lo suficientemente bueno para mí:

  • HTML
  • CSS
  • Javascript
  • Un lenguaje del lado del servidor, como Java, Ruby, Python, PHP, C #, etc. Usted dice “Sé que necesito usar Ruby on Rails”, pero eso depende de usted, hay un montón de opciones. Ruby es un lenguaje y Rails es un marco. Cada idioma tiene su propio conjunto de marcos para elegir.
  • Probablemente SQL para interactuar con una base de datos como MySQL

Además de eso, una vez más, suponiendo que esté haciendo todo esto usted mismo, probablemente necesitará algunos conocimientos sobre cosas como las secuencias de comandos de shell para realizar tareas de administración del servidor.