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
Wzorzec projektowy Bridge: Definicja, zasady działania i praktyczne zastosowanie
26 mar 2024
Bridge to jeden z kluczowych wzorców projektowych, który usprawnia proces tworzenia programów. W naszym artykule przyjrzymy się, jakie są podstawowe zasady działania tego patternu, jego definicji i jak jest stosowany w praktyce, aby lepiej zrozumieć jego istotę i przewagi.
Testcontainers: Co to jest i jakie są jego główne zalety w testowaniu oprogramowania?
25 mar 2024
Testcontainers rewolucjonizują testowanie oprogramowania, zapewniając narzędzia do elastycznego i efektywnego tworzenia testów. Jest to biblioteka, która umożliwia uruchamianie różnych testów za pomocą kontenerów Docker. Testcontainers służy m.in. do tworzenia izolowanych środowisk testowych, oferując wiele kluczowych korzyści. W tym artykule przyjrzymy się definicji, kluczowych korzyściach i praktycznym zastosowaniom Testcontainers.
Adaptive Web Design: Zalety i korzyści zastosowania
22 mar 2024
Adaptive Web Design, związany nierozerwalnie z epoką urządzeń mobilnych, stał się filarem sukcesu nowoczesnej strony internetowej. Jego podstawą jest tworzenie stron zorientowanych na użytkownika, które dostosowują się do różnorodnych urządzeń. W świecie, gdzie odwiedzający korzystają z rozmaitych platform, rola Adaptive Web Design rośnie lawinowo, przyspieszając, i jest kluczem do osiągnięcia wyróżniającej się i skutecznej obecności online
Czym jest targetowanie behawioralne w marketingu?
22 mar 2024
Targetowanie behawioralne to silne narzędzie w arsenale strategii marketingowych, które pozwala firmom na zrozumienie i skuteczne zaspokojenie potrzeb swoich klientów. Wspiera decyzje zakupowe, analizując zachowania użytkownika, i dostarcza spersonalizowane treści, czyniąc klienta bardziej zaangażowanym.
Parse w praktyce: Efektywne wykorzystanie tej technologii w procesie budowy aplikacji webowych
22 mar 2024
Czy kiedykolwiek zastanawiałeś się, jak skutecznie wykorzystać technologię Parse w procesie budowy aplikacji webowych? W niniejszym artykule postaramy się przedstawić praktyczne zastosowania Parse - backend-as-a-service (BaaS), który oferuje elastyczne i skalowalne rozwiązania dla deweloperów.
React Native Skia: Klucz do zrozumienia jego charakterystyki i funkcji
21 mar 2024
React Native Skia to wszechstronna otwartoźródłowa biblioteka, która umożliwia tworzenie bogatych, animowanych interfejsów użytkownika. Skia stanowi fundament, pomagając developerom w projektowaniu aplikacji o dużej wydajności. Idźmy dalej, aby zrozumieć kluczowe charakterystyki i funkcje tej innowacyjnej biblioteki.
Fluent Design - Wprowadzenie do systemu, zasad i możliwości
21 mar 2024
Fluent Design, nazywany 'językiem designu dla cyfrowych interfejsów' od Microsoft, przewodzi nowe trendy w świecie UI. Jego niewidzialne, ale odczuwalne zasady, takie jak światło, głębia czy materiał, znacząco różnią się od tradycyjnych. Przełóżmy zasłonę tajemniczości i dowiedzmy się, jak Fluent Design może zmienić to, jak postrzegamy interfejsy użytkownika.
Zobacz wszystkie artykuły