Flask Web Development: Entwicklung von Webanwendungen mit Flask
Flask Web Development: Entwicklung von Webanwendungen mit Flask
Zusammenfassung:
Einleitung
Das Buch „Flask Web Development“ (im Deutschen: „Entwicklung von Webanwendungen mit Flask“) von Miguel Grinberg ist einer der maßgeblichsten und umfassendsten Leitfäden zur Erstellung von Webanwendungen mit dem Mikroframework Flask in der Sprache Python. Das 2018 erschienene Buch (zweite Auflage) deckt sowohl Grundlagen als auch fortgeschrittene Themen ab, darunter die Arbeit mit Datenbanken, Authentifizierung, Testen, Bereitstellung und vieles mehr. Auf 316 Seiten führt der Autor den Leser konsequent von der Installation von Flask bis zur Erstellung einer vollwertigen, produktionsreifen Anwendung – eines sozialen Blogs. Es ist kein reines Nachschlagewerk, sondern ein praktischer Leitfaden, der auf einem realen Projekt basiert.
Worum es in dem Buch geht
Das Buch ist um die Entwicklung eines durchgängigen Beispiels herum aufgebaut – einer Blog-Anwendung mit Benutzerregistrierung, Verfassen von Beiträgen, Abonnieren anderer Autoren und Moderation. Jedes Kapitel fügt neue Funktionalitäten hinzu und macht den Code schrittweise komplexer. Die Hauptthemen sind:
- Installation und Konfiguration von Flask, Erstellung der Projektstruktur.
- Jinja2-Vorlagen und Arbeit mit Formularen (Flask-WTF).
- Datenbanken: SQLAlchemy, Migrationen (Flask-Migrate), Beziehungen zwischen Tabellen.
- Authentifizierungssystem: Registrierung, Anmeldung, Sitzungsverwaltung, Passwort-Hashing.
- Benutzerprofile, Avatare (Gravatar), Rollen und Zugriffsrechte.
- Unterstützung von Markdown zur Formatierung von Beitragstexten.
- Seitennummerierung, Volltextsuche.
- RESTful API mit Flask.
- Testen (unittest, pytest) und Debugging.
- Bereitstellung auf verschiedenen Plattformen: Heroku, Docker, traditionelle VPS.
- Arbeit mit E-Mail (Flask-Mail), asynchrone Aufgaben (Celery).
Für wen ist dieses Buch geeignet
Das Buch richtet sich an Python-Entwickler, die bereits mit den Grundlagen der Sprache vertraut sind, aber keine Erfahrung in der Webentwicklung oder mit Flask haben. Es ist auch nützlich für diejenigen, die von anderen Frameworks (Django, Pyramid) wechseln und das leichte und flexible Flask schnell erlernen möchten. Python-Anfänger müssen möglicherweise vorab grundlegende Konzepte (Funktionen, Klassen, Module) lernen.
Was der Leser lernen wird
Nach der Lektüre des Buches und der Durchführung aller Beispiele wird der Leser in der Lage sein:
- Webanwendungen beliebiger Komplexität mit Flask zu erstellen.
- Die Projektstruktur zu entwerfen und den Code in Module (Blueprints) aufzuteilen.
- Mit Datenbanken über das ORM SQLAlchemy zu arbeiten und Migrationen durchzuführen.
- Eine vollwertige Authentifizierung und Benutzerverwaltung zu implementieren.
- REST-APIs zu schreiben und diese mit dem Frontend zu integrieren.
- Den Code mit Tests abzudecken und Anwendungen zu debuggen.
- Anwendungen in der Cloud und auf einem eigenen Server bereitzustellen.
- Flask-Erweiterungen zur Lösung typischer Aufgaben zu verwenden.
Stärken
- Praktische Ausrichtung: Das Buch lehrt anhand eines realen Projekts, nicht anhand abstrakter Beispiele.
- Aktualität: Die zweite Auflage (2018) deckt moderne Versionen von Flask, Python 3 und neue Tools (Docker, pytest) ab.
- Tiefe: Der Autor zeigt nicht nur das „Wie“, sondern erklärt auch das „Warum“ und legt Wert auf architektonische Entscheidungen.
- Klare Struktur: Jedes Kapitel baut logisch auf dem vorherigen auf, der Code wird schrittweise komplexer.
- Zusatzmaterialien: Auf GitHub ist der vollständige Quellcode der Beispiele sowie Aktualisierungen für neuere Bibliotheksversionen verfügbar.
- Autorität des Autors: Miguel Grinberg ist der Schöpfer eines beliebten Flask-Kurses, Autor zahlreicher Artikel und Videos; sein Schreibstil ist klar und freundlich.
Empfehlung
Das Buch ist nützlich für:
- Anfänger in der Webentwicklung mit Python, die Flask erlernen möchten.
- Erfahrene Entwickler, die von anderen Technologien zu Flask wechseln.
- Studenten und Dozenten von Kursen zur Webentwicklung.
- Alle, die lernen möchten, moderne, skalierbare Webanwendungen zu erstellen.
Empfehlungen
Entwurfsmuster in TypeScript
Leistung von JavaScript (Node.js) Anwendungen
Rust und Datenbanken: Ein praktischer Leitfaden
Refactoring von JavaScript (Node.js)-Code: Vom Chaos zur sauberen Architektur
Professionelles JavaScript (Node.js): fortgeschrittene Techniken
Rust Brain Teasers: Rätsel für Rust-Programmierer