Quart – die asynchrone Alternative zu Flask

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Einführung in Quart

Quart ist ein modernes asynchrones Web-Framework für Python und die Weiterentwicklung des beliebten Flask mit vollständiger Unterstützung für asynchrone Programmierung. Basierend auf asyncio bietet Quart hohe Leistung und Skalierbarkeit, während es die Kompatibilität mit der Flask-API bewahrt. Damit ist es die ideale Wahl für Entwickler, die von synchroner zu asynchroner Programmierung wechseln möchten, ohne die Architektur grundlegend ändern zu müssen.

Was ist Quart und warum wird es benötigt?

Quart wurde entwickelt, um die Einschränkungen von Flask im Bereich der asynchronen Programmierung zu überwinden. Es ermöglicht die Verwendung von async def in allen Teilen der Anwendung: Route-Handlern, Middleware, Hooks und Tests. Dies ist besonders wichtig für moderne Webanwendungen, die häufig mit externen APIs und Datenbanken arbeiten und einen hohen Durchsatz benötigen.

Die wichtigsten Vorteile von Quart

Quart bietet Entwicklern zahlreiche Vorteile gegenüber traditionellen synchronen Frameworks:

  • Vollständige Asynchronität: Alle Operationen können asynchron ausgeführt werden
  • Hohe Leistung: Deutlich bessere Performance bei hoher Last
  • Integrierte WebSocket-Unterstützung: Native WebSocket-Unterstützung ohne zusätzliche Erweiterungen
  • Kompatibilität mit Flask: Einfache Migration bestehender Flask-Anwendungen
  • Moderne Webstandards: Unterstützung für SSE, HTTP/2 und andere moderne Technologien

Vergleich von Quart mit Flask

Eigenschaft Flask Quart
Asynchronität Eingeschränkt (ab Flask 2.0+) Vollständige asyncio-Unterstützung
WebSocket Erfordert Erweiterungen Integrierte Unterstützung
Kompatibilität mit Flask Ja Ja (hoch)
Server-Typ WSGI ASGI (über Hypercorn/Uvicorn)
Leistung Mittel Hoch
HTTP/2-Unterstützung Nein Ja
Server-Sent Events Komplex Integrierte Unterstützung
Hintergrundaufgaben Über Celery Nativ über asyncio

Installation und Umgebungseinrichtung

Quart installieren

Um mit Quart zu arbeiten, muss zunächst das Hauptpaket installiert werden:

pip install quart

ASGI-Server installieren

Quart benötigt einen ASGI-Server zum Ausführen. Hypercorn wird empfohlen:

pip install hypercorn

Alternativ kann Uvicorn verwendet werden:

pip install uvicorn

Zusätzliche Abhängigkeiten

Für die volle Funktionalität von Quart wird die Installation folgender Pakete empfohlen:

pip install quart[dotenv]  # Für .env-Dateien
pip install quart-cors     # Für CORS-Unterstützung
pip install quart-schema   # Für Datenvalidierung

Erste Anwendung erstellen

Basisanwendung

from quart import Quart

app = Quart(__name__)

@app.route('/')
async def hello():
    return 'Hallo von Quart!'

@app.route('/health')
async def health():
    return {'status': 'healthy', 'framework': 'Quart'}

if __name__ == '__main__':
    app.run(debug=True)

Anwendung starten

Es gibt mehrere Möglichkeiten, eine Quart-Anwendung zu starten:

Über den integrierten Entwicklungsserver:

python app.py

Über Hypercorn (empfohlen):


                
    
    

Empfehlungen