Hay muchos frameworks que hacen muchas cosas diferentes. Has nombrado muchas cosas diferentes de muchas áreas diferentes. La mejor manera de pensar en estas cosas es agruparlas por categoría. Aquí hay un ejemplo:
Supongamos que tiene una computadora portátil y desea alojar un sitio web. Necesitará lo siguiente como mínimo:
1) Software de servidor web. Dos opciones populares son IIS de Microsoft y Servidor web Apache.
Eso es todo lo que necesitas. Puede configurar su carpeta www_root y cargar archivos en ella. Suponiendo que todo está configurado correctamente, ahora puede cargar páginas HTML en esa carpeta y acceder a ellas a través de su dirección IP. Cada página que ves en tu navegador web está en formato HTML. CSS es un lenguaje de hojas de estilo que define cómo se formateará su HTML. También puede comenzar a escribir Javascript, ya que la mayoría de los navegadores modernos admiten el lenguaje de scripting del lado del cliente.
Es probable que usted desea que el siguiente, así:
2) el software de base de datos. Dos opciones populares son SQL Server y MySQL de Microsoft 3) scripting del lado del servidor. PHP es muy popular, al igual que ASP. Necesitarás el tiempo de ejecución implementado en tu servidor. Python, Ruby, Perl, etc. caen bajo esta categoría. 4) Marco (s) de aplicación web. Esto le proporcionará bibliotecas para su idioma de elección para ayudar a desarrollar aplicaciones web y sitios web.CakePHP, Ruby on Rails y Google Web Toolkit son ejemplos de marcos de aplicaciones web.
Además, es posible que desee utilizar:
5) bibliotecas adicionales. JQuery, por ejemplo, se está convirtiendo rápidamente en una popular biblioteca de Javascript que maneja muchas tareas comunes para usted. En lugar de escribir código de efectos complejos y lo que no, utilice el código preescrito en la biblioteca de JQuery. 6) Tecnología de intercambio de datos. Si está pasando mucha información de ida y vuelta, es probable que desee encapsular esta información en un formato lógico. Idealmente, este formato describiría los datos y permitiría que sus aplicaciones los lean/procesen fácilmente siguiendo un estándar. Aquí es donde entran en juego XML y JSON.
no puedo recomendar un buen libro para aprender estas cosas, pero creo que las respuestas colectivas a su pregunta aquí debería ser más que suficiente para empezar.
En última instancia, lo que hay que hacer es determinar cuáles son las tecnologías que necesita, y luego elegir el más adecuado para el trabajo. No vaya a la construcción de una aplicación utilizando Ruby on Rails simplemente porque es lo que usa Twitter, sino más bien elegirlo, ya que proporciona una cierta ventaja a usted sobre las otras opciones.
Parece que tengo que empezar a escribir más rápido :) –