FastAPI
minuta czytania
FastAPI to nowoczesny framework do tworzenia aplikacji internetowych. Został stworzony z myślą o prostym i szybkim tworzeniu aplikacji, a także o ułatwieniu pracy developerom.
Framework FastAPI stał się bardzo popularny w ostatnich latach ze względu na swoją szybkość i wysoki poziom kontroli nad pisanym kodem.
API budowane za pomocą FastAPI pisze się szybko ze względu na zwięzły kod, minimalną jego duplikację, a także dobrą dokumentację. FastAPI jest w pełni kompatybilne ze standardem OpenAPI.
Zbudowanie prostego API ogranicza się do 9 linijek kodu.
from typing import Optional
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
async def read_item(item_id: int, q: Optional[str] = None):
return {"item_id": item_id, "q": q}
FastAPI posiada wbudowany moduł dokumentacji
FastAPI posiada wbudowany moduł generujący automatycznie dokumentację zarówno w formacie Swagger jak i ReDoc. Dokonując zmian w modelach danych z wykorzystaniem klasy BaseModel z Pydantic dostajemy zaktualizowaną i opisaną dokumentację pod URLem: http://localhost:8000/docs.
FastAPI - szybkość, bezpieczeństwo i duża społeczność
Wykorzystując takie moduły jak oauth2, http, PyJWT możemy uzyskać zabezpieczenia aplikacji takie jak OAuth2, czy też zabezpieczenie tokenem JWT. Dodatkowo wykorzystując odpowiednie middleware'y możemy narzucić inne standardy bezpieczeństwa, należą do nich chociażby CORS (Cross Origin Resource Sharing).
Popularność rozwiązań open-source mierzy się za pomocą liczby osób współtworzących daną aplikację. W przypadku FastAPI jest to 284 aktywnych kontrybutorów, a także 50 tysięcy osób aktywnie śledzących zmiany w frameworku. Dla porównania niegdyś najbardziej popularny Django posiada społeczność 61 tysięcy osób aktywnie śledzących zmiany, a także 2156 osób aktywnie kontrybuujących do zmian we frameworku.
Dodatkowo w niezależnych testach przeprowadzanych przez https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=composite&l=dbf0n3-7b&a=2&f=zik0zj-qmx0qn-zhwum7-zik0zi-z8kflr-yyku7z-zik0zj-zijunz-zik0zj-zik0zj-zik0zj-1kv uzyskuje jedno z najwyższych miejsc wśród framework'ów wokół których oparty jest rozbudowany ekosystem rozwiązań. Są szybsze rozwiązania, ale na pewno nie z taką społecznością programistów i dostępnych pluginów i wtyczek. Warto wspomnieć, że autor FastAPI, Samuel Colvin jest dostępny na Twitterze i nietrudno się z nim skontaktować w razie poważnych problemów związanych z narzędziem.
Powiązane artykuły
Priming w strategiach marketingowych: jak to działa?
26 lis 2023
Priming to wyrafinowane narzędzie w strategiach marketingowych, oparte na psychologicznych aspektach percepcji. Przez subtelne wywołanie skojarzeń, możliwe jest kierowanie zachowaniami i decyzjami klientów. Jak jednak działa ten mechanizm i jak może być skutecznie wykorzystany w praktyce? Zanurzmy się w fascynujący świat marketingu ukierunkowanego przez priming.

PMBoK: Klucz do skutecznego zarządzania projektami. Jak go prawidłowo zastosować?
26 lis 2023
Klucz do skutecznego zarządzania projektami często leży w dostosowaniu odpowiednich metodologii do specyfiki danej organizacji. W tym kontekście, PMBoK (Project Management Body of Knowledge) wyłania się jako jedno z podstawowych narzędzi wykorzystywanych przez profesjonalistów. Artykuł ten ma na celu wyjaśnić, jak skutecznie zastosować PMBoK w praktyce, co pozwoli na sprawniejsze i bardziej efektywne prowadzenie projektów.
Atom - Czy ten edytor kodu jest idealnym narzędziem na co dzień?
25 lis 2023
W świecie programowania narzędzia są kluczowe. Edytor kodu może sprawić, że proces tworzenia aplikacji będzie przyjemnością albo koszmarem. Jeden z nich, Atom, zdobywa coraz większą popularność. Czy jest to idealne, codzienne narzędzie dla developerów?
Feature Flag: Odkrywamy potęgę kontroli funkcjonalności
25 lis 2023
Feature Flags, znane również jako Flagi Funkcjonalne, to potężne narzędzia dające programistom wyjątkową kontrolę nad funkcjonalnościami aplikacji. Kiedy powinniśmy z nich korzystać? Jak wprowadzają elastyczność do procesu rozwoju oprogramowania? W naszym artykule zgłębimy tę tematykę.
SpecFlow: Zrozum i Zastosuj Narzędzie do Behavior-Driven Development
25 lis 2023
SpecFlow, popularne narzędzie do Behavior-Driven Development (BDD), znacznie ułatwia tworzenie aplikacji poprzez skupienie się na funkcjonalności z perspektywy użytkownika. Ten artykuł pomoże Ci zrozumieć SpecFlow i efektywnie wykorzystać jego możliwości, aby przyspieszyć proces tworzenia oprogramowania.
Global Interpreter Lock (GIL) - czym jest i jak wpływa na programowanie w Pythonie
24 lis 2023
Global Interpreter Lock (GIL) to mechanizm, który wpływa na sposób, w jaki Python wykonuje kod. Mimo że ma za zadanie kontrolować dostęp do zasobów pamięci, jego obecność może wpływać na skomplikowane scenariusze wielowątkowe. Pozwólmy sobie przyjrzeć się bliżej temu zagadnieniu.
Ransomware: Zrozumienie zagrożenia
23 lis 2023
Ransomware, czyli oprogramowanie szantażujące, jest jednym z najniebezpieczniejszych typów cyberataków, paraliżując funkcjonowanie firm, instytucji publicznych oraz prywatnych użytkowników. To zagrożenie działa na zasadzie zaszyfrowania danych ofiary, a następnie żądania okupu za ich odblokowanie. Czy powinniśmy się obawiać? O tym w naszym artykule.
Zobacz wszystkie artykuły