IT Framework backendowy

Flask

Definicja #

Flask to lekki mikro-framework języka Python do tworzenia aplikacji webowych, stworzony przez Armina Ronachera. Pierwsza wersja ukazała się w 2010 roku jako żart primaaprilisowy, który szybko stał się jednym z najpopularniejszych frameworków webowych w Pythonie.

Flask celowo pozostaje minimalny — dostarcza tylko podstawowe elementy:

  • Routing — dekorator @app.route() mapujący ścieżki URL na funkcje (view functions)
  • Request/Response — obiekty request (dane wejściowe) i Response (odpowiedź HTTP)
  • Jinja2 — wbudowany silnik szablonów HTML (opcjonalny przy REST API)
  • WSGI — wsparcie dla standardu Web Server Gateway Interface; współpracuje z Gunicornem, uWSGI
  • Blueprints — mechanizm organizacji kodu w moduły (dla większych aplikacji)

Kluczowa różnica względem Django:

  • Django jest "kompletny" — zawiera ORM, panel admina, uwierzytelnianie, formularze i wiele więcej w pudełku. Narzuca strukturę projektu.
  • Flask jest mikro-frameworkiem — dostarcza tylko podstawy, resztę (ORM, autentykacja, walidacja) programista dobiera sam z ekosystemu Pythona.

Popularne rozszerzenia Flask (extensions): Flask-SQLAlchemy (ORM), Flask-Login (autentykacja), Flask-Migrate (migracje Alembic), Flask-RESTful / Flask-RESTX (budowanie REST API), Marshmallow (serializacja/walidacja).

Zastosowania #

Flask stosuje się do:

  • Budowania REST API i mikroserwisów — minimalny overhead, łatwa konteneryzacja w Dockerze; popularny w projektach Data Science jako warstwa API dla modeli ML
  • Szybkiego prototypowania aplikacji webowych — mniej konfiguracji niż Django, szybszy start projektu
  • Małych i średnich serwisów webowych — blogi, serwisy z prostą logiką biznesową, gdzie Django byłoby przerostem
  • Ekspozycji modeli Machine Learning przez API — Flask + scikit-learn/PyTorch jako endpoint dla predykcji ML
  • Narzędzi wewnętrznych i dashboardów — proste aplikacje webowe dla zespołów analitycznych lub DevOps

Ścieżka nauki #

Flask jest popularnym wyborem dla programistów Pythona uczących się tworzenia aplikacji webowych — ma niski próg wejścia i świetną dokumentację.

Zacznij od:

  • Instalacja i pierwsza aplikacja: pip install flask, prosta funkcja zwracająca "Hello World"
  • Routing: @app.route(), metody HTTP (methods=['GET', 'POST']), zmienne w ścieżce URL
  • Request i Response: request.json, request.args, jsonify()
  • Blueprints: podział aplikacji na moduły
  • Pierwsza aplikacja REST API: CRUD dla prostego zasobu

Następnie dodaj wybrane rozszerzenia:

  • Flask-SQLAlchemy — ORM (SQLAlchemy) zintegrowany z Flask
  • Flask-Migrate — migracje schematu bazy danych (Alembic)
  • Marshmallow lub Pydantic — walidacja i serializacja danych
  • Deployment: Gunicorn + Nginx, Docker, Heroku, Azure App Service
  • Porównaj z FastAPI — nowoczesną alternatywą dla Flask z async, type hints i automatycznym Swaggerem

FAQ #

Czym różni się Flask od Django?
Django to 'batteries-included' framework — dostarcza ORM, panel admina, uwierzytelnianie i wiele więcej w jednym pakiecie, narzucając strukturę projektu. Flask to mikro-framework — daje tylko podstawy (routing, request/response), resztę programista dobiera sam. Flask ma niższy próg wejścia i większą elastyczność; Django jest lepszy dla dużych aplikacji z wieloma wbudowanymi funkcjami.
Czy Flask nadaje się do produkcji?
Tak — Flask jest używany w produkcji przez duże firmy (Pinterest, LinkedIn używały Flask). Kluczowe jest użycie produkcyjnego serwera WSGI (Gunicorn, uWSGI) zamiast wbudowanego serwera deweloperskiego Flask, który nie jest przeznaczony do użytku produkcyjnego.
Czym jest FastAPI w porównaniu do Flask?
FastAPI to nowoczesna alternatywa dla Flask do budowania REST API w Pythonie. Oferuje natywne wsparcie dla async/await, automatyczną walidację przez Pydantic, wbudowany Swagger UI i typowanie. FastAPI jest szybszy i nowocześniejszy; Flask jest bardziej dojrzały i ma większy ekosystem rozszerzeń.
Ile zarabia Python Developer znający Flask?
Python Developer (backend) zarabia w Polsce od 10 000 do 20 000 zł brutto. Flask sam w sobie nie jest decydującym czynnikiem — ważniejsze są ogólne umiejętności Pythona, znajomość baz danych i architektury mikroserwisów. W Data Science Flask jest popularnym narzędziem do ekspozycji modeli ML.
Ostatnia aktualizacja:

Powiązane hasła

Technologie i biblioteki, które najczęściej pojawiają się razem z Flask w ogłoszeniach.

Cały słownik IT

Przeglądaj słownik IT alfabetycznie

Wybierz literę, aby zobaczyć wszystkie hasła zaczynające się od niej.