¿Cuál es la mejor manera de aprender programación web con Python para un novato con un poco de experiencia en este lenguaje?

Para un novato, recomendaría * Flask *.

De ninguna manera soy un profesional, PERO he usado tanto Flask como Django, así que te daré mis dos centavos por eso. Esto debería aplicarse a otros marcos, tengo una nota al final sobre esos.

Django es un marco y Flask es un “microframework”. Ambos tienen sus puntos fuertes y sus diferencias, y se utilizan para diferentes cosas. Lo primero que debe preguntarse podría ser “¿qué es un marco?” Cuando pienso en la palabra marco normalmente, pienso en el andamiaje, “una estructura utilizada como guía para construir algo”. (Gracias wikipedia). Los marcos de software son de la misma manera: te obligan a estructurar tu código de cierta manera y te proporcionan herramientas para escribir tu código. Al igual que un andamio te hace construir un edificio de cierta manera y hace que sea más fácil construirlo.

La razón por la que creo que Flask es mejor para un novato es porque Flask es mucho más “ligero”. La configuración es mucho más rápida, es mucho más rápido comenzar a ejecutarse y es más fácil ver exactamente cómo esta línea de código se traduce en esta página en su sitio. Con las bibliotecas agregadas puede hacer cosas más complicadas, pero no es necesario, especialmente para un novato. Para un novato, creo que desea poder ejecutar rápidamente algo y agregar rápidamente páginas web para explorar. No desea crear el mejor sitio que dure para siempre sin errores y que sea fácil de mantener y expandir.

Django es genial pero es mucho más pesado. Se tarda más en configurar y hay un flujo más largo entre cada línea de código y cada página en su sitio. Si está haciendo un sistema o tienda de inventario en línea, le recomiendo ir con Django, pero no lo está, está haciendo un primer sitio web con python.

Quiero decir … esto es todo lo que necesitas hacer para ejecutar un servidor Flask:

  desde el matraz de importación Frasco
 aplicación = Frasco (__ nombre __) @ app.route ("/") 
 def hola ():     
     volver "Hola mundo!"
 if __name__ == "__main__": 
     app.run ()

Y ahora en el shell ejecutar …

  $ pip install Flask 
 $ python hello.py

¿Qué tan fácil es eso?

A la larga, si quieres hacer desarrollo web en Python y tener un gran proyecto, usa Django (o algo similar). Tal vez pueda hacer una buena versión con Flask si lo desea, pero creo que es bueno probar algunos marcos para ver las diferencias.

En cuanto a los otros marcos que mencionaste:

  • web2py parece un poco más complicado que Flask, y creo que es un poco menos popular, lo que significa menos apoyo para un novato.
  • Pyramid parece tener el mismo nivel de simplicidad que Flask y podría ser un buen lugar para comenzar.

La mejor manera para un novato sería seguir estos pasos:

1. Lea atentamente y siga el Tutorial oficial de Django.
2. Una vez que lo haya completado y esté seguro de que comprende los conceptos básicos, sumérjase directamente en la construcción de su propio proyecto / aplicación web con Django.
3. Una vez que tenga experiencia en la construcción de su propio proyecto con Django, puede comenzar a explorar otras alternativas.

La razón de esto es que Django tiene documentación sobresaliente con instrucciones muy fáciles de seguir, especialmente para alguien nuevo. También descubrirá que Django tiene respuestas / patrones / soluciones listos para el 99% de todas las situaciones en las que podría encontrarse como principiante. Por supuesto, tiene sus debilidades y no siempre es la herramienta perfecta para todas las tareas, pero estará en una posición mucho mejor para evaluar alternativas una vez que tenga algo de experiencia en Django.

Hay toneladas de cursos de Coursera, Edx y Uudacity … Simplemente elija uno, hágalo y termínelo.

Después de eso, elija un tema que le guste y escriba un programa. Hazlo tu proyecto.