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 POEM - Zrozumienie Paid, Owned, Earned Media
3 gru 2024
Czy kiedykolwiek zastanawiałeś się, jak poruszać się po skomplikowanym ekosystemie mediów? Kluczem może być strategia POEM, czyli Paid, Owned, Earned Media. To nowoczesne podejście do marketingu, które pozwala efektywnie wykorzystać potencjał posiadanych, zarobionych i płatnych mediów.
Rozwój iteracyjny: Czym jest i dlaczego jest kluczowy w nowoczesnym tworzeniu oprogramowania?
3 gru 2024
Iteracyjny rozwój oprogramowania to powtarzalny proces, stanowiący integralną część współczesnej metodologii programistycznej. To dynamiczne podejście, które umożliwia stałe udoskonalanie i adaptację oprogramowania. W tym artykule będziemy przyglądać się bliżej definicji i znaczeniu tego podejścia, oraz jak wpływa ono na procesy programistyczne.
Frictionless Navigation: Co to jest i dlaczego jest kluczowe dla UX?
3 gru 2024
W dobie cyfryzacji, nawigacja na stronie internetowej stanowi kluczowy element user experience. To ona odpowiada za bezproblemowe poruszanie się po treściach witryny i przekierowywanie użytkownika do poszczególnych zakładek. Właściwie dostosowana nawigacja potrafi znacząco podnieść użyteczność strony. W naszym artykule dowiesz się więcej na ten temat.
Variable Fonts: Przewodnik po zmiennych czcionkach i ich znaczeniu w web designie
2 gru 2024
Zmienne czcionki rewolucjonizują świat web designu, zapewniając twórcom stron nieskończone możliwości dostosowywania typografii. W tym artykule poznasz zalety korzystania ze zmiennych czcionek, nauczysz się, jak je implementować i dowiesz się, jak mogą one wpłynąć na efektywność Twojego designu.
TMMi: Czym jest model dojrzałości testowania?
2 gru 2024
Zapraszam do zapoznania się z TMMi, czyli Test Maturity Model integration - modelem dojrzałości testowania, który zdobywa coraz więcej uznanie w świecie IT. Służy on do oceny efektywności procesów testowych, a przez to staje się narzędziem budowania przewagi konkurencyjnej. Czym tak naprawdę jest TMMi? Dlaczego jest tak ważny? Przyjrzyjmy się temu bliżej.
Pozycjonowanie sklepu internetowego
2 gru 2024
Pozycjonowanie stron internetowych jest kluczowym elementem osiągnięcia sukcesu w biznesie online. W szczególności sklepy internetowe mogą w znaczący sposób zwiększyć swoje zyski, poprawiając swoją widoczność w wynikach wyszukiwania. W tym artykule postaramy się odpowiedzieć na najczęstsze pytania dotyczące SEO sklepów internetowych.
Capping a UX: Jak ograniczanie liczby wyświetleń reklam kształtuje doświadczenie użytkownika?
1 gru 2024
W dobie rosnącej konkurencji w przestrzeni cyfrowej, UX stało się kluczowym czynnikiem wyróżniającym marki. W tym kontekście, 'capping a UX' - czyli ograniczanie liczby wyświetleń reklam, nabiera szczególnego znaczenia. Pojęcie to odnosi się do strategii mających na celu zwiększenie satysfakcji użytkowników poprzez kontrolowanie ilości i częstotliwości wyświetlanych reklam. Czy to rzeczywiście wpływa na jakość doświadczenia użytkownika? Zapraszamy do lektury.
Zobacz wszystkie artykuły