Daniel Stender Selbstständig

Auch jenseits von kleinen und auch voll ausgewachsenen Web-Apps gibt es weitere spannende Anwendungsbereiche für Flask mit seinem minimalistischen Ansatz und schnellen Reaktionszeiten, etwa das Aufsetzen von APIs beziehungsweise Webinterfaces und Microservices.

Mit minimalistischem Ansatz und der leistungsfähigen Templatesprache Jinja im Gepäck findet das Mikroframework Flask immer mehr Anhänger. Web-Apps lassen sich damit einfach als Python-Programme aufsetzen, außerdem stellt ein großer Fundus von Erweiterungen Elemente moderner Websoftware zur Verfügung. Ebenso bringen der Cloud-Service Heroku oder die WSGI Extension für Apache Flask-Apps unkompliziert ins Web.

Werden Pythonistas nach einem guten Framework für Webapplikationen gefragt, dann bekommt man oftmals einen Hinweis auf Django. Dieses ausgereifte Werkzeug genießt unter Webentwicklern einen ähnlich prominenten Platz wie zum Beispiel Ruby on Rails. Django folgt konsequent dem Model-View-Presenter-Prinzip und setzt auf unmittelbare beziehungsweise objektrelationale Datenbankanbindung. Die Lernkurve für Django ist am Anfang recht steil; wenn diese und weitere Grundprinzipien begriffen worden sind, können Sie damit aber auch mit normalen Python-Kenntnissen komplexe und praxistaugliche Ergebnisse erzielen. Dennoch besteht ein gewisser Bedarf nach einem unkomplizierter einzusetzenden Framework, denn jedes neue Django-Projekt muss zunächst recht aufwendig konfiguriert werden. Eine Datenbank wird dafür grundsätzlich benötigt, das Routing beziehungsweise die Abbildung der URLs geschieht mittels sperrig zu handhabender regulärer Ausdrücke und ähnliche Dinge mehr.

So erklärt sich die drollige Genese von Flask (etwa: „Fläschchen“) als einer schlankeren Alternative zum Platzhirsch Django, denn eigentlich hatte Entwickler Armin Ronacher es in 2010 als Scheinprojekt „Denied“ mit einem gefakten „Hello World!“-Beispiel sogar nur als Aprilscherz in die Welt gesetzt. Wegen den vielen positiven Reaktionen und der anhaltend starken Nachfrage danach wurde dann aber das Projekt, ein solches minimalistisches Werkzeug umzusetzen, tatsächlich in Angriff genommen. So beginnt die Geschichte eines wahren Erfolgsprodukts. Flask hat bei permanenter Weiterentwicklung mittlerweile in die Reihe der auf breiter Front eingesetzten Python-Webframeworks aufgeschlossen.

Flask

Flask (aktuell 0.12.2) ist als Python-Bibliothek implementiert und steht unter der freien BSD-Lizenz. Das Framework basiert maßgeblich auf dem WSGI-Toolkit „Werkzeug“ und der Template-Engine Jinja2, die alle zusammen von der Gruppe Pocoo um Georg Brandl und Armin Ronacher entwickelt werden. Um Projekte damit aufzusetzen, können Sie Flask bequem über den Python Package Index (PyPI) mit dem Tool pip einspielen und so etwa in einer mit Virtualenv aufgesetzten abgeschlossenen Entwicklungsumgebung einsetzen. Flask unterstützt sowohl die Entwicklung mit Python 2.7 als auch mit Python 3.x.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Entwickler Magazin 6.17 - "Swift Playground Books"

Alle Infos zum Heft
579814783Mit Flask Webapplikationen in Python entwickeln
X
- Gib Deinen Standort ein -
- or -