¿Cuáles son los pasos y habilidades (idiomas que podría usar o aprender) necesarios para desarrollar una aplicación web?

Algunas personas recomiendan rutas simples (haciendo PHP, punto) y otras arquitecturas COMPLETAS.

Para APRENDER, diría que el enfoque no sería aprender todo de una vez. Recomendaría hacer algo como:

1. Aprenda HTML básico, JavaScript básico, CSS básico;
2. Elija un lenguaje de programación para el back-end (yo diría Python pero podría usar Ruby);
3. Elija un marco en su idioma deseado (yo diría Flask O Django para Python o Ruby on Rails para Ruby).

Estudie los tutoriales básicos en Django / Flask o Ruby on Rails.

Sus lagunas en HTML / JavaScript / CSS serán evidentes. Podrás rellenarlos a medida que aparezcan. Los estudiaría a pedido a medida que avanza.

Alguna referencia para ti:

1. Ruby – Código escolar
2. El Mega Tutorial del Frasco, Parte I: ¡Hola Mundo!
3. Escribiendo tu primera aplicación Django, parte 1

Puede que ya te sientas abrumado por esto, dependiendo de tu nivel de habilidad. Si le resulta demasiado difícil, es posible que deba hacer una copia de seguridad y comprender primero algunas cosas conceptuales: la diferencia entre las tecnologías de back-end y front-end, cómo funcionan los servidores web, cómo los navegadores cargan las páginas y posiblemente cómo funciona HTTP.

Espero haberte ayudado.

Tiene un largo viaje por delante y necesita proporcionarnos más información.
Al menos necesitas saber HTML / CSS / JS básico. Después de eso, necesitas un sistema poderoso para ayudarte. Tal vez AngularJS o Meteor (ambos en js) o Laravel (PHP) o Django, Flask (Python) o algo más.

Para una respuesta más precisa, debe proporcionar un poco más de información y, lo que es más importante, necesita un tutor.

Además de conocer HTML / CSS / JS, tendrá que estar familiarizado y aprovechar marcos como AngularJS o bibliotecas como BackboneJS o RequireJS. Estas herramientas permiten no solo la organización del código, sino que también proporcionan accesos directos a los procesos más utilizados en las aplicaciones web.

Hay otras herramientas que también deben considerarse. Herramientas como:

  • Yeoman para andamios
  • Grunt o Gulp para la gestión de tareas y compilaciones
  • Marco de prueba de unidades como Mocha o Protractor
  • Documentación JS

No estoy de acuerdo con algunos que te alientan a aprender PHP. Creo que si está entrando en el mundo de las aplicaciones web, debe mejorar aún más sus habilidades en JS al convertirse en un experto en NodeJS. El conocimiento de NodeJS no solo le permite construir una aplicación completa en una pila de tecnología que estará dentro del ámbito de su comodidad. Además, también opino que NodeJS superará la mayoría de las pilas de tecnología como Java y PHP en el futuro cercano.