Python, bien qu'il ne soit pas le langage de programmation le plus moderne, est l'un des langages les plus utilisés aujourd'hui. Un vieux proverbe persan : « Une fleur sans épines est un cadeau du ciel (گل بیخار خداست) » nous rappelle que tout dans le monde a des défauts, tout comme les langages de programmation. Bien que Python présente certains problèmes de performances (par rapport aux langages compilés) et au fameux GIL (Global Interpreter Lock), sa simplicité, sa grande communauté et sa riche prise en charge de bibliothèques compensent largement ces lacunes. Les progrès récents dans la technologie de base de Python ont également ouvert la voie à des fonctionnalités modernes telles que les indications de type et la concurrence, des fonctionnalités qui manquaient à l'origine.
Python 3.5 a introduit des indices de type et est progressivement devenu la fonctionnalité par défaut de Python 3.10, et FastAPI a également vu le jour. Ce désormais célèbre framework de développement d'API RESTful n'a presque pas besoin d'être présenté. Mais j'aimerais faire ici un « détour » créatif : « Comment j'ai appris à arrêter de m'inquiéter et à aimer la bombe. »
Oui, vous avez bien lu. FastAPI est la « bombe » qui secoue Django et même d’autres frameworks de développement web dans différents langages. Il exploite les atouts de Python sans réinventer la roue. FastAPI englobe les fonctionnalités de base du langage Python, ce qui donne au processus d'apprentissage l'impression de redécouvrir Python lui-même, mais d'une meilleure manière. Croyez-moi : la courbe d’apprentissage est plutôt un voyage agréable. Génial, courbe d'apprentissage ! ?
Alors que les nombreux avantages de FastAPI pourraient remplir plusieurs pages, cet article se concentre sur les raisons pour lesquelles j'aime son auteur @tiangolo (Sebastián Ramírez) le Modèle Full Stack . Sebastián n'est pas seulement un grand contributeur open source, c'est mon idole. Son dévouement va au-delà de la construction de vos propres outils ; il met également en avant d'autres projets qui méritent d'être explorés et utilisés toute la vie.
Ce modèle rassemble une pile idéale de :
Vous pouvez retrouver la liste complète des technologies ici.
Bien qu'il soit basé sur Python, les performances de FastAPI sont certainement impressionnantes. Ceci grâce au fait qu'il s'appuie sur deux outils puissants : Starlette et Uvicorn. Si vous avez utilisé Django, vous savez probablement que ses performances ne sont pas son point fort. Mais jetez un œil aux TechEmpower Benchmarks : FastAPI surpasse Flask et est bien en avance sur Django - pas seulement d'un cheveu, mais De loin, de loin En tête !
Vous pensez peut-être : "Et alors ? Je connais ces technologies et je peux les intégrer moi-même." C'est vrai, mais soyons réalistes : la configuration et la connexion de ces outils peuvent être un véritable cauchemar. Ce modèle gère ces problèmes pour vous et utilise les meilleures pratiques tout au long. Pourquoi ne pas y croire ? En réduisant votre pile, vous libérez votre esprit de vous soucier de JS/TS, Vite/Webpack, Chakra UI/Material UI, etc. Plongez directement dans le code !
Avant d'utiliser ce modèle, je n'avais jamais entendu parler de technologies comme Traefik, Playwright ou Chakra UI. La découverte de ces outils grâce à ce modèle m'a exposé aux meilleures pratiques de l'industrie et m'a inspiré à en savoir plus.
Je ne m'étendrai pas sur la base de code, mais l'un des points forts est son excellente implémentation de l'authentification des utilisateurs. Il utilise les standards OAuth2 et JWT et fait un excellent travail. Même si la structure peut paraître compliquée au premier abord, vous comprendrez vite pourquoi elle est conçue ainsi.
Préférez-vous vous en tenir au backend et implémenter le frontend en utilisant votre framework préféré comme Svelte ? aucun problème! Supprimer le dossier frontend est à peu près tout ce que vous devez faire. Le modèle prend en charge une personnalisation facile du backend ou du frontend, vous permettant de l'ajuster à vos besoins spécifiques.
FastAPI et le modèle de pile complète sont entièrement documentés. De plus, il existe une communauté active autour de FastAPI, il est donc relativement facile de trouver des solutions aux problèmes ou d'apprendre les meilleures pratiques.
Sebastián gère de nombreux projets incroyables, les examens des relations publiques peuvent donc prendre plus de temps que prévu. Du côté positif, il est très utile et répond avec enthousiasme lorsqu'il a le temps de participer.
Bien que ce modèle soit puissant, sa structure et son intégration peuvent sembler difficiles à comprendre pour les débutants. Les nouveaux développeurs peuvent avoir besoin de plus de temps pour comprendre comment toutes les pièces s’articulent.
Une fois que vous avez personnalisé votre modèle, garder le projet synchronisé avec les modifications en amont peut s'avérer délicat. La fusion des mises à jour du référentiel d'origine nécessite une attention particulière pour éviter les conflits avec vos personnalisations.
En résumé, le Modèle FastAPI version complète est plus qu'un simple ensemble d'outils ; c'est un cadre soigneusement conçu qui équilibre la technologie moderne avec la facilité d'utilisation. Ce n'est pas parfait - comme Python ou quoi que ce soit d'autre dans la vie - mais comme le dit le proverbe, "Une fleur sans épines est un cadeau du ciel."
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!