FastAPI uitgelegd in 5 minuten of minder

FastAPI, een Python-framework waarmee je web-API’s kunt ontwikkelen, is de afgelopen jaren populair geworden.

API (Application Programming Interface) is de basis van moderne architectuur. Ze maken het mogelijk om toepassingen te moduleren en te ontkoppelen. Hierdoor kunt u snel applicaties maken en deze eenvoudig onderhouden.

Daarom is het een goed idee om FastAPI te leren als u van plan bent Python te gebruiken om webapplicaties te ontwikkelen. Dit artikel leert je alles over de basisprincipes van FastAPI.

Wat is FastAPI?

FastAPI is een op Python gebaseerd webframework. Het trekt de laatste jaren veel aandacht. De ontwikkelingsstructuur is vergelijkbaar met Flask, wat de meest populaire keuze was voor degenen die Python-webontwikkeling wilden leren.

FastAPI is eenvoudig te gebruiken en de documentatie is duidelijk en gemakkelijk te volgen. FastAPI wordt gebruikt door techreuzen zoals Microsoft, Netflix en Uber.

FastAPI heeft alle functies die u van een API-builder mag verwachten, maar is hier niet toe beperkt. Je kunt het gebruiken om achterwaartse WSGI te mounten, wat de meeste gebruikers niet weten.

Het primaire doel van FastAPI is het bouwen van API-eindpunten, zoals de naam al doet vermoeden. Dit kan net zo efficiënt worden gedaan als het retourneren van Python-woordenboekgegevens in JSON of het gebruik van de interactieve Swagger UI van OpenAPI.

FastAPI beperkt zich niet tot API’s. Het kan worden gebruikt voor bijna alles wat een webframework doet, van het leveren van webpagina’s met de Jinja2-sjabloonengine tot het bedienen van door WebSockets aangedreven applicaties.

Hieronder staan ​​de voordelen van FastAPI:

  • Met FastAPI kunt u het gegevenstype van de ontwikkelaar valideren, zelfs bij gebruik van geneste JSON-query’s.
  • Het biedt de autocomplete-functie, waarmee u applicaties in een kortere tijd kunt maken en minder moeite kost.
  • Het is compatibel met de OpenAPI- en JSON Schema-vocabulaire, waarmee u JSON-documenten kunt valideren en annoteren.
  • Met FastAPI kunt u snel een GraphQL API bouwen met behulp van een Python-bibliotheek genaamd graphene-python.
  • FastAPI is compatibel met OAuth 2.0 en met externe providers.

Hieronder staan ​​de nadelen van FastAPI:

  • FastAPI is nog steeds een nieuw framework, dus er is weinig community voor richtlijnen. Het heeft niet genoeg externe onderwijsinformatie zoals boeken, cursussen of tutorials.
  • Omdat we alle componenten aan elkaar moeten koppelen in FastAPI, kan het hoofdbestand erg groot of druk worden.
  Hoe de balk in de buurt te gebruiken om Pokémon te volgen in Pokémon Go

Unieke kenmerken van FastAPI

Dit zijn de unieke kenmerken die FastAPI tot nu toe het meest populaire Python-webframework maken.

  • Hoge prestaties: FastAPI presteert beter dan andere python-frameworks. Het op snelheid gerichte framework van FastAPI maakt het een topkeuze. Alles komt neer op hogere snelheid en betere prestaties door gebruik te maken van Starlette-functies, API’s te maken en kant-en-klare codes te produceren.
  • Snel coderen: ontwikkelaars hoeven niets nieuws te maken met productieklare codes. Dit versnelt het proces met ongeveer 200% tot 30%. FastAPI draait op Starlette en heeft veel meer functies die kunnen worden gebruikt om API’s te bouwen voor gegevensvalidatie en serialisatie. Het framework bevat al alle benodigde componenten, waardoor de tijd die nodig is om te coderen wordt verkort.
  • Minimale bugs: het framework heeft een functie voor automatisch aanvullen die automatisch het grootste deel van de code in het stuk invoegt. Dit minimaliseert de kans op fouten en verbetert de uitvoerkwaliteit.
  • Gemakkelijk te begrijpen: FastAPI doet niets anders dan Modern Python. Het is een aangepaste versie van Python 3.6 en bevat geen nieuwe syntaxis. Het framework kan gebruikt worden door iedereen die de taal goed begrijpt.
  • Minimale inspanning: FastAPI genereert automatisch OpenAPI-documentatie met minimale inspanning van de ontwikkelaar. Deze informatie is te vinden onder de applicatie/doc directory. De documentatie bevat gedetailleerde informatie over API-eindpunten, retourcodes, responsparameters en andere details.
  • Editor-ondersteuning: Alle componenten van het framework zijn ontworpen met automatische aanvulling in het achterhoofd. Het is eenvoudig en geeft ontwikkelaars de mogelijkheid om kant-en-klare code te produceren. U kunt de code ook rechtstreeks vanuit uw browser testen met de interactieve documentatie.
  • Open standaarden: het Python-webframework van FastAPI is een enorm voordeel. Het framework is compatibel met OpenAPI, voorheen bekend als Swagger, waarmee API’s kunnen worden gemaakt.

FastAPI-installatie

Hier zijn de eenvoudige stappen om FastAPI op Linux of Windows te installeren.

#1. FastAPI-installatie op Linux

Installeer Python 3 op Linux met behulp van de onderstaande opdracht:

sudo apt install python3

Installeer pip op Linux met behulp van de onderstaande opdracht:

sudo apt install python3-pip

Installeer vervolgens FastAPI op Linux.

pip install fastapi

U hebt ook een ASGI-server nodig. Dus installeer uvicorn met behulp van pip.

pip install "uvicorn[standard]"

#2. FastAPI-installatie op Windows

Installeer Python 3 op Windows met behulp van de Microsoft Store. Dit zal ook pip installeren.

  Onverwachte fout op Netflix oplossen

Installeer vervolgens FastAPI op Windows.

pip install fastapi

Installeer ten slotte ASGI-server uvicorn.

pip install "uvicorn[standard]"

New-age toepassingen van FastAPI

Hier zijn enkele nieuwe toepassingen van FastAPI:

Geautomatiseerde documenten

Documentatie over API-types en endpoints is een must-have. Dit probleem kan worden opgelost met behulp van OpenAPI, Swagger UI en ReDoc. Deze worden automatisch ingepakt met FastAPI. Hierdoor kunt u zich concentreren op uw code en niet op het instellen van tools.

Getypte Python

FastAPI gebruikt declaraties van het type Python 3.6 (dankzij Pydantic). Dit betekent dat het een Python-functie gebruikt waarmee u het type en type van een variabele kunt specificeren. Dit framework maakt er veel gebruik van, waardoor je uitstekende editorondersteuning krijgt. Automatisch aanvullen werkt verbazingwekkend.

Geldigmaking

Pydantic integreert al validatie in dit raamwerk. Validatie van standaard Python-typen en aangepaste veldvalidaties kunnen worden gedaan.

Beveiliging en authenticatie

Dit is een belangrijk onderdeel van elke API. We herhalen vaak gewoon de code, dus waarom zouden we er niet een deel van in ons framework opnemen? FastAPI doet precies dit.

De bibliotheek ondersteunt HTTP Basic, OAuth2-tokens (JWT-tokens) en header-API-sleutels.

Asynchrone aard

FastAPI ondersteunt standaard asynchrone eindpunten, waardoor uw code eenvoudiger en efficiënter wordt. Dit is een aanzienlijk voordeel ten opzichte van Flask.

FastAPI vs. Flask: belangrijkste verschillen

Verschillen in gebruik

FastAPI, een full-stack platform dat alles biedt wat je nodig hebt om je API te bouwen, is beschikbaar. Flask daarentegen is een microframework en biedt niet dezelfde functies als FastAPI. Flask kan handig zijn als u snel een prototype van een idee moet maken of een eenvoudige webapp moet maken.

Flask en FastAPI verschillen sterk in de manier waarop ze worden gebruikt. Het Flask-framework kan worden gebruikt om nieuwe ideeën en toepassingen te prototypen, terwijl het FastAPI-framework kan worden gebruikt voor het bouwen van API’s. U kunt er snel een backend-server mee bouwen zonder kennis van coderen.

Kleinschalige websites en webapplicaties

FastAPI is eenvoudig te gebruiken, lichtgewicht en kan worden gebruikt voor kleinschalige web- en applicatie-ontwikkeling. Het bevat een object-relationele laag (ORM), die gegevensobjecten binnen de applicatie verwerkt, zodat u er snel toegang toe hebt door middel van codering.

De ORM-laag houdt uw databases bij en stelt u in staat ze handmatig bij te werken wanneer nieuwe informatie wordt toegevoegd, gewijzigd of verwijderd van de website of applicatie.

WSGI versus ASGI

Je hebt misschien een fundamenteel verschil opgemerkt: Flask gebruikt WSGI voor zijn standaardinterface, terwijl FastAPI ASGI gebruikt. Zoals eerder vermeld, verwerkt WSGI aanvragen synchroon. Aanvragen worden achtereenvolgens verwerkt. Men kan pas beginnen als de laatste taak is voltooid.

  Goedbetaalde advertentienetwerken voor bloggers [10 Google Adsense Alternatives]

ASGI behandelt verzoeken asynchroon. Hierdoor kunnen taken in hun eigen tempo worden voltooid en hoeven ze niet op anderen te wachten.

Gemeenschap

Een ander verschil is de gemeenschap. Flask is een community die al langer bestaat dan FastAPI. Dit betekent geweldige documentatie en hulp van buitenaf van anderen die over Flask schrijven.

FastAPI is nog steeds een nieuw project, dus de gemeenschap moet nog even hard groeien. Dit betekent dat hoewel er voldoende documentatie is, er niet veel hulp van buitenaf is.

Hieronder vindt u een samengevatte tabel voor FastAPI vs. Flask:

FastAPIFlaskGegevensvalidatie is ingebouwd.Het heeft geen gegevensvalidatie.Asynchrone taakondersteuning is beschikbaarAsynchrone taakondersteuning is niet beschikbaarImplementeert ASGI-specificatiesOndersteunt WSGI-toepassingenAutomatische documentondersteuningHandmatige documentondersteuningHet foutbericht wordt weergegeven in JSON-formaatHet foutbericht wordt weergegeven op HTML-pagina’sKleinere community-ondersteuningRich community-ondersteuning

FastAPI of Flask: welke moet je kiezen?

FastAPI en Flask kunnen snel Python-webservers en data science-applicaties opzetten. Beide vereisen dezelfde inspanning voor implementatie, maar welk framework is het beste voor uw volgende project?

FastAPI is de beste optie wanneer snelheid en prestaties er het meest toe doen. Dit framework is het beste als u een CDN bouwt en veel verkeer verwacht. Met FastAPI kunt u het framework downloaden en direct gebruiken. De projectsjabloon bespaart u tijd en helpt u tijd te besparen.

FastAPI is een betere optie dan Flask wanneer u API’s bouwt. Dit geldt met name wanneer er rekening wordt gehouden met microservices en andere overwegingen. Flask is de beste keuze als je al veel tools rond dit framework hebt gebouwd.

Conclusie

Dus dat ging allemaal over FastAPI. FastAPI biedt superieure snelheid en prestaties. Dit raamwerk is het beste als u uw netwerk voor het leveren van inhoud opbouwt en verkeer verwacht. Het innovatieve raamwerk en de projectsjabloon van FastAPI helpen u tijd te besparen.

Flask zou beter kunnen zijn voor het maken van API’s, met name microservices. FastAPI is ook beter dan Flask. Flask is een betere keuze als je deze al veelvuldig gebruikt.

U kunt ook enkele populaire Python Frameworks verkennen om API’s te bouwen.