¿Cuál es la mejor forma de aprender a programar aplicaciones web?

Oh, eso es fácil de responder. Haz uno.

Aprendí a hacer aplicaciones web usando Python / Django comenzando con el tutorial (el tutorial oficial está bien hecho) y luego comencé a trabajar en mi proyecto (un generador de equipo Pokemon).

No estoy seguro de qué lenguaje de programación planea usar ni sé mucho sobre JavaScript, que tiende a ser el más conveniente debido a que no requiere un servidor para ejecutarse, pero para los idiomas que no sean JavaScript definitivamente debe elegir algún tipo de marco para hacer aplicaciones web. Django es el mejor marco para Python IMO, y Ruby on Rails es un marco web popular que se ejecuta en Ruby.

Si su objetivo final es muy grande, es posible que deba comenzar haciendo programas simples. Por ejemplo, quería formar equipos de Pokemon con matemáticas de matriz, por lo que mi primera aplicación web fue algo que agregó dos números, y luego lo expandí a una calculadora de 4 funciones.

Aprender a programar en general es como hacer un muñeco de nieve. Tienes que comenzar con una bola de nieve, un tutorial, y luego la haces más y más grande creando aplicaciones web cada vez más complejas.

Cada vez que se encuentre con algún tipo de problema (que será siempre), es posible que deba leer la documentación y encontrar una nueva función o paquete, o tal vez necesite ayuda sobre el desbordamiento de la pila para resolver su problema. Creo que alrededor del 60% de mi conocimiento de codificación son los trucos que aprendí al leer las respuestas a problemas anteriores en el desbordamiento de la pila.

Y al final, puede sentir la necesidad de rehacer un programa para hacerlo más pequeño y más rápido. O rehacerlo 2 o 3 o 5 veces.

Entonces, básicamente, lo que estoy tratando de decir es que debes comenzar con un tutorial y luego saltar directamente a él. Debe saltar directamente a él porque necesita comenzar a trabajar en su objetivo final lo antes posible, porque su objetivo final es lo que lo motiva. ¿Qué es lo que quieres hacer? ¿Qué puedes hacer que sea lo que quieres hacer, pero más simple? Y todo lo que necesita saber sobre el desarrollo de aplicaciones web se aprenderá lenta y continuamente, desde el principio hasta el final, simplemente buscando lo que no sabe.

Editar: nota accidentalmente dije cambio de pila; stack overflow es el sitio correcto para programar preguntas relacionadas.