Pregunta

Estoy buscando aprender Python para el desarrollo web.

Suponiendo que ya tengo algo de experiencia básica en desarrollo web con Java (JSP/Servlets), ya estoy familiarizado con el diseño web (HTML, CSS, JS), conceptos básicos de programación y que soy completamente nuevo en Python, ¿cómo hago? ¿Aprender a Python de manera estructurada que eventualmente me llevará al desarrollo web con Python y Django?

No tengo prisa por hacer aplicaciones web en Python, así que realmente quiero aprenderlo a fondo para no dejar ninguna brecha en mi conocimiento de las tecnologías que involucran el desarrollo web en Python. ¿Hay algún libro, recurso o técnicas que me ayuden en mi esfuerzo? ¿En qué orden debo hacer/leerlos?

ACTUALIZAR:

Cuando digo aprender de manera estructurada, me refiero a comenzar desde lo básico y luego aprender las cosas avanzadas sin dejar algunos de los detalles/características importantes que Python tiene para ofrecer. Quiero saber cómo aplicar las cosas que ya sé en la programación a Python.

Otros consejos

No te tomes esto demasiado en serio, pero ...

  • Crear nombre de archivo app.py Con el siguiente contenido:

    from flask import Flask
    app = Flask(__name__)
    
    @app.route("/")
    def hello():
        return "Hello World!"
    
    if __name__ == "__main__":
        app.run()
    
  • Suponiendo que tienes pip (instalador de paquetes de Python) instalado Haz lo siguiente:

    $ pip install Flask
    $ python app.py
    * Running on http://localhost:5000/
    
  • Ahora puede visitar su primera aplicación web en localhost, puerto 5000.

Esa sería su primera aplicación web de Python. Todo después de eso es "refinamiento" en la estructura de la aplicación, la funcionalidad y la apariencia.

Si el desarrollo web en Python es lo que está buscando, entonces, después de una comprensión profunda de Python, le sugiero que eche un vistazo a Flask. Django y otros marcos de pila completa definitivamente harían su vida mucho más fácil, pero en general le dejarían con una sensación incompleta como si no hubiera aprendido mucho. Flask en mi humilde opinión, es el marco más impresionante de Python a partir de ahora, pero sí, esa es solo mi opinión.

También me gustaría recomendar los Python Koans para aprender: http://github.com/gregmalcolm/python_koans

Son bastante similares a los Ruby Koans (mucho de eso estaba directamente portado) y son bastante geniales.

http://learnpythonthehardway.org

Es un libro en línea gratuito que contiene una serie de 52 lecciones en Python.

Al comenzar con la Lección 1 y trabajar en la Lección 52, debe aprender lo suficiente como para considerarse un programador competente en el lenguaje de Python.

Cada lección tiene ejemplos de código que debe tomarse el tiempo para escribir y ejecutar y luego alterar para ver cómo eso cambia los resultados.

Es ese proceso por el cual la mayoría de las personas que conozco generalmente aprenden programación.

El desarrollo web siempre vuelve a una cosa: y ese es el navegador. Aprenda muy bien HTML, CSS y JavaScript, y le servirá a pesar de cualquier cambio de idioma.

Www.w3schools.com es un gran lugar para aprender estas cosas, pero cuando se trata de CSS, a menudo es muy útil sentarse y jugar con él. Encuentre un diseño web genial e impleméntelo en HTML a mano. Esta es una habilidad muy, muy necesaria si alguno de los códigos del lado del servidor da como resultado HTML.

A continuación, me gusta su enfoque lógico, pero puede que no sea la mejor manera de hacerlo. Un enfoque más gratificante puede ser establecer un objetivo que desee lograr y aprender en el camino.

Sin embargo, comenzar con Django puede no ser la mejor idea. Muchas de las decisiones que tomaron al diseñar el marco solo tendrían sentido si hubiera experimentado los problemas que resuelven de primera mano. Mi primer lenguaje web fue PHP, y la forma más efectiva en que entendí las mejores prácticas era escribir código de maldad y frágil, darse cuenta de que había un problema y soluciones de requería. Si tuviera que investigar una solución antes de entender el problema, no pude aplicarlo efectivamente.

Si está dispuesto a tomarse su tiempo en esto, tal vez comenzar con un conjunto de tecnología menos abstracto, como PHP, puede ser una gran experiencia de aprendizaje.

Licenciado bajo: CC-BY-SA con atribución
scroll top