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.
Nasza oferta
Web development
Dowiedz się więcejMobile development
Dowiedz się więcejE-commerce
Dowiedz się więcejProjektowanie UX/UI
Dowiedz się więcejOutsourcing
Dowiedz się więcejPowiązane artykuły
Model mentalny a projektowanie interfejsów użytkownika - jak to się ze sobą łączy?
3 kwi 2024
Model mentalny to sposób, w jaki widzimy świat i funkcjonujemy w nim na podstawie doświadczeń. Te percepcje mają olbrzymi wpływ na projektowanie interfejsów użytkownika, gdyż są one odzwierciedleniem naszych oczekiwań. Wykorzystanie modelu mentalnego w projektowaniu to klucz do stworzenia interfejsu, który będzie intuicyjny i użyteczny.
Earned Business Value: jak efektywnie mierzyć wartość w biznesie?
3 kwi 2024
W świecie biznesu, pomiar wartości staje się nieocenionym narzędziem. Kluczowe jest zrozumienie koncepcji Earned Business Value (EBV). Pozwala ona na efektywne zarządzanie projektami i dzięki temu efektywnie wykorzystać zasoby. W tym artykule poruszymy aspekty tej techniki i wskażemy, jak ją zastosować w praktyce.
Debouncing - Kluczowy aspekt optymalizacji interfejsów użytkownika
3 kwi 2024
Debouncing jest kluczowym aspektem optymalizacji interfejsów użytkownika. Pozwala na skuteczną kontrolę interakcji użytkownika z interfejsem, eliminując niepotrzebne obciążenia wynikające z częstych zdarzeń. Sprawdźmy, jak skutecznie wykorzystać tę technikę w praktyce.
Układy siatki modułowej: Podstawy projektowania UI/UX
2 kwi 2024
Układy siatki modułowej, niewidzialne fundamenty kreujące design stron internetowych i aplikacji mobilnych, to Sekret profesjonalnego projektowania UI/UX. Oto, co musisz wiedzieć, by zrozumieć tę niezwykle istotną część tworzenia funkcjonalnych i estetycznych interfejsów użytkownika.
Piramida testów w praktyce: Jak znaleźć równowagę między testami jednostkowymi, integracyjnymi i systemowymi
2 kwi 2024
Podjęcie decyzji, w jakim stopniu położyć nacisk na różne typy testów - jednostkowe, integracyjne i systemowe - jest wyzwaniem dla każdego inżyniera oprogramowania. Omówimy koncepcję piramidy testów, przedstawiającą zdrową równowagę pomiędzy nimi, a także pokazującą, jak ją zastosować w praktyce.
Co to jest Softmarketing?
1 kwi 2024
Czym jest 'softmarketing', a raczej marketing oparty na subtelności? Jest to unikalny zakątek świata promocji, który zamiast stoi na biegunie od typowych, agresywnych strategii. Bazuje na empatii i subtelnej perswazji, tworząc relacje z klientem na większej, bardziej osobistej płaszczyźnie.
Jak metryka Velocity wpływa na efektywność zespołu deweloperskiego?
1 kwi 2024
W świecie Agile, kluczowym aspektem zarządzania projektami IT jest metryka Velocity. Potrafi skutecznie zmierzyć, ile pracy zespół developerski jest w stanie wykonać w określonym czasie. Zarówno managerowie, jak i deweloperzy cenią jej możliwości. Poznajmy więc, jak wpływa na efektywność zespołu developerskiego.
Zobacz wszystkie artykuły