Flask
Flask to lekki mikroframework webowy dla języka Python, służący do budowy aplikacji internetowych oraz interfejsów API. Nazwa mikroframework oznacza, że narzędzie dostarcza jedynie rdzeń niezbędny do obsługi żądań HTTP i routingu, a resztę komponentów — warstwę bazy danych, uwierzytelnianie czy walidację — deweloper dobiera samodzielnie z licznych rozszerzeń. Ta filozofia daje dużą swobodę i sprawia, że Flask jest ceniony za prostotę oraz niski próg wejścia.
Jak działa Flask
Flask opiera się na bibliotece Werkzeug (obsługa protokołu WSGI i żądań HTTP) oraz silniku szablonów Jinja2 (generowanie stron HTML). Deweloper definiuje trasy, przypisując adresy URL do funkcji Pythona, które zwracają odpowiedź — kod HTML, dane JSON dla API lub przekierowanie. Framework przekazuje przychodzące żądanie do właściwej funkcji, a jej wynik odsyła do przeglądarki. Dzięki wbudowanemu serwerowi deweloperskiemu aplikację można uruchomić lokalnie kilkoma liniami kodu.
Rozszerzenia
Ekosystem Flaska tworzą rozszerzenia dodające konkretne funkcje: SQLAlchemy do obsługi bazy danych, Flask-Login do sesji użytkownika czy Flask-RESTful do budowy API. Dzięki temu framework skaluje się od prostego skryptu po rozbudowaną aplikację.
Zastosowanie w praktyce
Flask jest popularnym wyborem przy tworzeniu API, mikroserwisów, paneli administracyjnych oraz aplikacji analitycznych i związanych z uczeniem maszynowym, gdzie naturalnie łączy się z pythonowym ekosystemem data science. Aplikacje Flask wdraża się na serwerach z serwerem WSGI (np. Gunicorn) za serwerem proxy takim jak Nginx. Do uruchomienia produkcyjnego dobrze sprawdza się serwer VPS, który daje pełną kontrolę nad środowiskiem Pythona i zależnościami projektu. Wbudowany serwer deweloperski Flaska służy wyłącznie do pracy lokalnej — na produkcji zawsze stosuje się wydajny serwer aplikacyjny WSGI. Dzięki minimalistycznej strukturze Flask jest też częstym wyborem w projektach edukacyjnych oraz przy nauce programowania webowego, ponieważ pozwala zrozumieć, jak działa obsługa żądań HTTP, bez ukrywania mechaniki pod warstwą gotowych rozwiązań.
Powiązane pojęcia
Najczęstsze pytania
Czym różni się Flask od Django?
Flask to mikroframework — dostarcza minimum funkcji i pozwala samodzielnie dobrać komponenty, np. warstwę bazy danych. Django jest frameworkiem pełnostosowym z wbudowanym ORM, panelem administracyjnym i wieloma gotowymi mechanizmami. Flask daje więcej swobody, Django więcej gotowych rozwiązań.
Do czego najlepiej nadaje się Flask?
Flask świetnie sprawdza się przy budowie interfejsów API, mikroserwisów, prototypów i mniejszych aplikacji webowych, gdzie liczy się elastyczność i lekkość. Dzięki rozszerzeniom można go skalować do większych projektów, dobierając tylko potrzebne komponenty.
