Un nouveau framework Web Python pour le développement d'API fait son apparition dans la communauté. Créateur de FastAPI, Sebastián Ramírez, développeur Web full-stack et ingénieur en apprentissage automatique, décrit son outil comme étant un framework Web moderne et rapide (haute performance) pour la construction d'API avec Python 3.6+, basé sur des déclarations (hints) de type Python standard. FastAPI intègre de nombreuses fonctionnalités pour la création facile d'API et son auteur lui cite un grand nombre de caractéristiques importantes. Voici ci-dessous un aperçu de ce dont il s'agit.FastAPI : définitions et caractéristiques essentielles
Alors, pourquoi un nouveau framework Web Python ? « J'évite la création d'un nouveau framework depuis plusieurs années. J'ai d'abord essayé de résoudre toutes les fonctionnalités couvertes par FastAPI en utilisant de nombreux frameworks, plug-ins et outils différents. Mais à un moment donné, il n'y avait pas d'autre option que de créer quelque chose qui fournisse toutes ces fonctionnalités, en prenant les meilleures idées des outils précédents, et en les combinant de la meilleure façon possible, en utilisant des fonctionnalités de langage qui n'étaient même pas disponibles auparavant (des déclarations de type Python 3.6+) », a répondu Ramírez.
Comme Ramirez le définit, FastAPI est un framework moderne qui vous permet de créer des API de manière transparente sans trop d'efforts. Il a la capacité de séparer le code du serveur de la logique-métier, ce qui augmente la maintenabilité du code. Il serait plus rapide que Flask, car il est construit sur ASGI (Asynchronous Server Gateway Interface) au lieu de WSGI (Web Server Gateway Interface). Il dispose d'un système de validation des données qui peut détecter tout type de données invalides au moment de l'exécution et renvoie la raison des mauvaises entrées à l'utilisateur au seul format JSON.
Cela libère les développeurs de la gestion explicite de cette exception. En outre, il génère la documentation en cours d'exécution lorsque vous développez l'API, ce qui est aujourd'hui l'une des choses les plus demandées par les développeurs. La documentation est un excellent moyen pour les autres développeurs de collaborer sur un projet, car elle leur présente tout ce qui peut être fait avec les instructions nécessaires. FastAPI génère également une interface graphique, ce qui constitue un aide pour les développeurs. En tant que développeur, vous vous concentrez uniquement sur la partie de construction de la logique et le reste est géré par FastAPI.
Voici les caractéristiques importantes de FastAPI mis en avant par sa documentation :
- rapide : FastAPI afficherait de très hautes performances, à la hauteur de Node.js et Go (grâce à Starlette et Pydantic). Il serait en effet l'un des frameworks Web Python les plus rapides du marché ;
- rapide à coder : FastAPI augmenterait la vitesse de développement des fonctionnalités d'environ 200 % à 300 % ;
- moins de bogues : FastAPI réduirait d'environ 40 % les erreurs humaines (des développeurs) ;
- intuitif : FastAPI a un excellent support de l'éditeur. La complétion existe partout et il nécessite moins de temps pour le débogage ;
- facile : FastAPI est conçu pour être facile à utiliser et à apprendre. Il faut peu de temps pour lire les documents ;
- court : FastAPI réduirait au minimum la duplication du code et permettrait de multiples fonctionnalités à partir de chaque déclaration de paramètres, ce qui permet de réduire les bogues ;
- robuste : FastAPI permet d'obtenir un code prêt à la production avec une documentation interactive automatique ;
- basé sur des normes : FastAPI est basé sur, et entièrement compatible avec les normes ouvertes pour les API OpenAPI (anciennement connu sous le nom de Swagger) et JSON Schema.
Quelques détails sur les fonctionnalités clés de FastAPI
Documentation automatique
FastAPI génère automatiquement une documentation API interactive et des interfaces utilisateur Web d'exploration. Comme le framework est basé sur OpenAPI, il y a plusieurs options, dont deux sont incluses par...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.