Maison > Article > développement back-end > Résumé de 37 frameworks de développement Web Python
Q : Qu'est-ce qu'un framework Web exactement ? R : Les frameworks Web sont principalement utilisés pour le développement de sites Web. Les développeurs implémentent leur propre logique métier basée sur des frameworks Web. Les frameworks Web implémentent de nombreuses fonctions et fournissent une méthode commune pour implémenter la logique métier.
Q : Quel est le rôle du framework Web ? R : En utilisant le framework Web, de nombreuses fonctions autres que la logique métier n'ont pas besoin d'être améliorées par vous-même, vous pouvez plutôt utiliser les fonctions existantes du framework. Les frameworks Web réduisent la charge de travail lors du développement de sites Web.
Q : Pourquoi devrions-nous utiliser des frameworks Web ? R : Le framework Web est principalement utilisé pour le développement de sites Web, qui peuvent réaliser une interaction de données et améliorer les fonctions commerciales. Lorsque vous utilisez un framework Web pour le développement de sites Web, vous n'avez pas besoin de le réimplémenter vous-même en termes de mise en cache des données, d'accès à la base de données, de vérification de la sécurité des données, etc. Au lieu de cela, vous pouvez écrire le code lié à la logique métier dans le framework.
Le tri de la bibliothèque est basé sur le nombre d'utilisateurs et l'activité des documents à titre de référence Il est recommandé d'utiliser les frameworks les mieux classés car ils ont des documents plus complets, une accumulation plus technique et des communautés plus prospères. Bénéficiez d'un meilleur support afin que lorsque vous rencontrez des problèmes que vous ne pouvez pas résoudre, vous puissiez trouver des solutions plus rapidement et plus efficacement.
1. Framework Django
Site officiel :https://www.php.cn/link/f1903f234d3ba4da38a18aa25751457d
Ad avantages : Il s'agit d'un développement web Python de haut niveau framework avec des fonctionnalités Il est développé rapidement, contient moins de code et est hautement évolutif. Django utilise le modèle MTV (Model, Template, View) pour organiser les ressources. Le framework possède des fonctions riches et le plus grand nombre d'options d'extension de modèles. Pour les professionnels, Django est sans aucun doute le framework de développement web n°1 pour Python.
Inconvénients : Il comprend certains modules fonctionnels qui ne sont pas nécessaires pour les applications légères et n'est pas aussi léger que Flask. La sur-encapsulation de nombreuses classes et méthodes les rend plus faciles à utiliser directement, mais plus difficiles à modifier. Par rapport aux performances C et C++, les performances de Djang sont faibles. Les modèles réalisent la séparation complète du code et du style, ne permettent pas au code Python d'apparaître dans les modèles et ne sont pas assez flexibles. De plus, la courbe d’apprentissage est relativement abrupte.
2.Cadre Flask
Site officiel : https://www.php.cn/link/d12f3b5c457a92abbc879 3 9406df183fAvantages : Flask est un micro-framework pour le développement Web Python À proprement parler, il fournit uniquement la prise en charge du serveur Web et ne fournit pas de prise en charge du développement full-stack. Cependant, Flask est très léger et simple. Il faut quelques minutes pour créer un système Web basé sur celui-ci, ce qui est particulièrement adapté au développement de petits et micro-prototypes. C'est un choix très rentable pour passer moins de temps et produire un système utilisable.
Inconvénients : Pour le développement de sites Web à grande échelle, des règles de mappage de routage doivent être conçues, sinon le code sera déroutant. Pour les débutants, il est facile de créer de « mauvaises applications Web » en utilisant du code de mauvaise qualité.
3. Pyramid Framework
Site officiel : https://www.php.cn/link/9ec0cfd c8 4044494e10582436e013e64
Avantages : Il s'agit d'un framework de développement Web Python hautement extensible et flexible. Il est très simple de démarrer et convient mieux aux scénarios de taille moyenne où le développement et la conception sont en même temps. Pyramid ne fournit pas de définition de cadre absolument stricte et peut être étendu et développé en fonction des besoins, ce qui le rend très convivial pour les programmeurs avancés.
Inconvénients : Il est peu connu en Chine, et une utilisation avancée nécessite de lire le code source pour s'inspirer. Avec le modèle Chameleon utilisé par défaut, la flexibilité n'est pas un facteur.
4.framework web.py
Site officiel : https://www.php.cn/link/8d4112ce0aabe7aeef42 2c1 36a222624
Avantages : Comme son nom l'indique, web.py est un framework Web qui utilise Python comme langage de développement, qui est simple et puissant. Le moteur de recherche n°1 en Russie, Yandex, est développé sur la base de ce framework. Guido van Rossum estime qu'il s'agit du meilleur framework Web Python. Besoin de dire autre chose ? Il y a des faits pour le prouver et des experts pour l’approuver, utilisez-le !
Inconvénients : Web.py n'est pas tenu à jour avec la compatibilité Python 3 comme les autres frameworks. Cela signifie non seulement un manque de prise en charge de la syntaxe asynchrone, mais également un manque de bogues pour les fonctions obsolètes. De plus, il n'est pas clair si les responsables prévoient de maintenir Web.py à jour une fois que Python 2 aura atteint la fin de son cycle de vie de support.
5. Tornado Framework
Site officiel : https://www.php.cn/link/76330c26dea623. 32 de2ca7b4a9ef51ec
Avantages : Tornado est un framework de développement Web basé sur une bibliothèque de fonctions réseau asynchrone. Il peut donc prendre en charge des dizaines de milliers de connexions ouvertes et le service Web est efficace et stable. On peut voir que Tornado convient aux systèmes Web dans des scénarios à forte concurrence. Le processus de développement doit utiliser le framework fourni par Tornado, qui a une faible flexibilité. Il n'est pas trop tard pour envisager de l'utiliser après avoir déterminé le scénario.
Inconvénients : Tornado 5.0 a amélioré l'intégration avec la fonctionnalité asynchrone native de Python. Python 3.3 n'est donc plus pris en charge et les utilisateurs de Python 3.5 doivent utiliser Python 3.5.2 ou supérieur. Tornado 6.0 nécessitera Python 3.5 et supérieur et supprimera entièrement la prise en charge de Python 2.
6. TurboGears Framework
Site officiel : https://www.php.cn/link/ce1d2a5e1884a6c502a675. db d0d3928e
Avantages : TurboGears Latest Cette version tente de résoudre les lacunes de la version initiale de TurboGears, Django, Rails et d'autres frameworks. Elle prend en charge plusieurs bases de données, des ensembles d'outils JavaScript, plusieurs formats d'échange de données, etc. Bien sûr, il est très efficace en développement et hautement. évolutif. Lequel est le meilleur, lui ou Django ? C’est vraiment difficile à dire. Il est peut-être plus important que la communauté Django soit plus active.
Inconvénients : Certains inconvénients de TurboGears incluent des fonctionnalités de gestion de base, peu d'applications tierces et une documentation rudimentaire. L’un des grands défis de TurboGears est à quel point il est écrasant. Parce qu'il offre une flexibilité illimitée lorsqu'il est mélangé à d'autres composants, il est trop complexe lorsqu'il s'agit de décider quel chemin suivre pour accomplir une tâche.
7. Framework CherryPy
Site officiel : https://www.php.cn/link/29056bc4790af32aa8458e3f bc 737485
Avantages : CherryPy permet aux développeurs de développer des systèmes Web conformément à des méthodes de conception similaires à celles d'autres programmes orientés objet, puis d'utiliser le moins de code et la manière la plus concise. CherryPy est développé depuis 10 ans et présente une bonne stabilité. Il convient parfaitement aux systèmes Web à petite échelle et aux programmeurs Python purs. Que ressens-tu ? Python a le potentiel de dominer le monde ! Attendons et voyons.
Inconvénients : En plus de ne contenir que le contenu minimal nécessaire pour servir une page Web, il doit ressembler autant que possible non pas à un "framework Web" mais à tout autre type d'application Python. CherryPy contient des bits qui servent de blocs de construction de bas niveau. Inclut les identifiants de session et la gestion des cookies, mais n'inclut pas les modèles HTML. Comme Bottle, CherryPy fournit un moyen de mapper des itinéraires vers des répertoires sur le disque pour servir des fichiers statiques.
8. Falcon Framework
Site officiel : https://www.php.cn/link/ff8c1a3bd0c441439a0a081e560c85 fc
Pros : Falcon est un support Un cadre de développement Web pour une API de microservice à grande échelle ou une réponse backend d'application mobile, entièrement basé sur Python et offrant des performances, une fiabilité et une évolutivité très élevées. Falcon a un positionnement unique et des fonctionnalités distinctives. Pour les développeurs d'applications, vous voudrez peut-être considérer Falcon lors de la création de systèmes back-end. Neuf fois sur dix, vous ne le regretterez pas.
Inconvénients : L'inconvénient de Falcon est que ses modules de packaging sont un peu trop peu nombreux, y compris le routage, le middleware et les hooks, mais à part cela, il ne fournit pas d'autres fonctions (coque nue). Des fonctions supplémentaires, telles que la vérification, nécessitent que les développeurs développent des extensions. Parce qu'il est conçu pour être utilisé pour créer des API REST. Asgineer Framework 3e533
Avantages :
Asgineer est un outil permettant d'écrire des applications Web asynchrones en utilisant le moins d'abstractions possible tout en fournissant une API conviviale. Cela ne prend que quelques minutes pour lire le guide et les documents de référence ! Lors de l'exécution d'Asgineer sur Uvicorn, il s'agit de l'un des frameworks Web les plus rapides disponibles. Il prend en charge les longues interrogations http, les événements côté serveur (SSE) et les websockets. Et disposez d'utilitaires pour entretenir les actifs de manière correcte (et rapide).Inconvénients : Manque de documentation chinoise.
Site officiel : https://www.php.cn/link/7bd87e2f279ba0141a9795e201bf1a53
Avantages :
La bouteille est un A Framework micro-web WSGI rapide, simple et léger pour Python. Il est distribué sous forme de module de fichier unique sans dépendances autres que la bibliothèque standard Python. Prend en charge les URL propres et dynamiques. Moteur de modèles intégré rapide et pythonique avec prise en charge des modèles mako, jinja2 et cheetah. Accédez facilement aux données de formulaire, aux téléchargements de fichiers, aux cookies, aux en-têtes et à d'autres métadonnées liées à HTTP.
Inconvénients : Bottle Une conséquence du minimalisme est que certaines fonctionnalités n'existent tout simplement pas. La validation de formulaire, y compris des fonctionnalités telles que la protection CSRF, n'est pas prise en charge. Si vous souhaitez créer une application Web prenant en charge un degré élevé d’interaction utilisateur, vous devrez les ajouter vous-même.
11. Emmett FrameworkSite officiel :
https://www.php.cn/link/ffe10334251de1dc98339d99ae4743ba
Avantages :
Écriture élégante Codez, concentrez-vous sur votre produit, vous devriez consacrer plus de temps à votre produit plutôt qu'au framework sous-jacent. Emmett est le framework de l'inventeur car il est conçu pour simplifier votre processus de développement avec une syntaxe simple, facile à apprendre et à comprendre. Ne perdez pas de temps entre les routeurs et les modes inconfortables : chaque fois que vous notez les itinéraires de votre application, tout apparaîtra clairement sous vos yeux. Inconvénients : Manque de documentation chinoise. 12. cadre apidaora Site officiel : https://www.php.cn/link/c37a21223db1cda645af1264df751f 7f Avantages : Type d'utilisation Les annotations déclarent les requêtes/réponses en tant que classes de données et dictionnaires, valident les données d'entrée à l'aide de jsondaora, l'un des frameworks d'API Python les plus rapides pouvant s'exécuter sur n'importe quel serveur asgi. Inconvénients : Manque de documentation chinoise. 13. Quichotte Framework Site officiel : https://www.php.cn/link/5f0453f78909173a7ce2eb874d2a7f5 2 Avantages : Quichotte est un framework pour écrire des applications Web à l'aide de Python. Ses objectifs sont la flexibilité et la haute performance, dans cet ordre. Les applications Quichotte ont tendance à être structurées comme les applications traditionnelles. La logique de formatage des pages Web se compose de classes et de fonctions Python. Quichotte n'impose pas la séparation de la logique de présentation et de la logique « backend ». Nous vous encourageons plutôt à utiliser des techniques traditionnelles. Par exemple, une solution consiste à placer la logique de présentation dans son propre sous-package. Inconvénients : Bien que Quichotte soit activement maintenu, les versions sont moins fréquentes. Les développements récents se sont concentrés sur la correction de bugs, l'amélioration du respect des normes et l'augmentation de la flexibilité de Quichotte. Cadre 14. reahl Site officiel : https://www.php.cn/link/4e0ccd2b894f717df5ebc12f4282ee70 Avantages : reahl Il s'agit d'un framework ouvert qui permet aux développeurs d'écrire des applications Web entièrement en Python. L'utilisation de Python comme seul langage de développement est sa plus grande fonctionnalité. De plus, Reahl fournit des composants de développement assez clairs et concis, suffisamment clairs et réalisables pour développer des systèmes Web fonctionnels généraux. Inconvénients : Lors de la fourniture d'un vocabulaire abstrait, certains effets d'interface utilisateur plus avancés ne peuvent pas être maîtrisés. Actuellement, il n'est pas autorisé d'utiliser Sass pour créer une version modifiée de Bootstrap et prend en charge des modes d'interface utilisateur plus avancés. 15. cadre de câlins Site officiel : https://www.php.cn/link/e834cb114d33f729dbc9c7fb0c6bb607 Avantages : Câlin Oui Un framework de développement d'API Python 3. Il est conçu pour que les ingénieurs logiciels puissent développer une API une fois, puis la réutiliser en cas de besoin. Le framework Hug simplifie le développement d'API en fournissant diverses interfaces. C'est la principale raison pour laquelle ce framework est connu comme l'un des frameworks les plus rapides de Python 3. Inconvénients : Il utilise le précédent standard WSGI, qui est un framework synchrone, il ne peut donc pas gérer les requêtes asynchrones comme les WebSockets et autres, de toute façon, il a toujours de très bonnes performances. 16. BlackSheep Framework Site officiel : https://www.php.cn/link/47bd8ac1becf213f155a82244b4a696a Avantages : BlackSheep est un logiciel asynchrone Framework Web pour créer des applications Web basées sur des événements à l'aide de Python. Il s'inspire des travaux de Flask, ASP.NET Core et Yury Selivanov. Inconvénients : Manque de documentation chinoise. 17. Framework Index.py Site officiel : https://www.php.cn/link/374939012129c174e451f0f64be3bfea Avantages : implémente ASGI3 interface et utilisez Radix Tree pour la recherche d'itinéraire. C'est l'un des frameworks Web Python les plus rapides. Toutes les fonctionnalités servent à développer rapidement des services Web performants. Il dispose d'un grand nombre d'annotations de type correct, d'un système de routage flexible et efficace, d'une interface API visuelle et du débogage en ligne, prend en charge les événements envoyés par le serveur et WebSocket, est livré avec des commandes de déploiement en un clic (basées sur uvicorn et gunicorn) et peut utiliser tout écosystème ASGI disponible. Inconvénients : Index.py n'a pas de base de données, de cache et d'autres fonctions intégrées. Si vous avez des difficultés à choisir, veuillez utiliser Django directement.
18. Sanic Framework Site officiel : https://www.php.cn/link/3b036b877a6a074d7dbfc706fe86. 8 c1d Avantages : Sanic est un serveur Web Python 3.7+ et un framework Web rapide à écrire. Il permet d'utiliser la syntaxe async/await ajoutée dans Python 3.5, ce qui rend votre code non bloquant et rapide. L'objectif de ce projet est de fournir un moyen simple de mettre en place et d'exécuter un serveur HTTP hautes performances, facile à créer, à étendre et éventuellement à faire évoluer. Inconvénients : Sanic imite Flask en termes de fonctionnalités, par exemple en partageant le concept de Blueprints, de minuscules sous-applications qui permettent aux développeurs de diviser et d'organiser leur code au sein d'applications plus grandes. Pour les applications CRUD qui ne sont que des ajouts, suppressions, modifications et requêtes de données, Sanic n'est pas un bon choix. 19. Starlette Framework Site officiel : https://www.php.cn/link/818cdcf067c824a4e34f9293de3b15a9 Avantages : Starlette est un framework/boîte à outils ASGI léger, idéal pour créer des services asynchrones performants, prêts pour la production et vous offrant les éléments suivants : Des performances impressionnantes. Prise en charge de WwbSocket. Prise en charge de GraphQL. Tâches en arrière-plan en cours de processus. Démarrez et arrêtez des événements. Client de test construit sur les requêtes. CORS, GZip, fichiers statiques, réponses en streaming. Prise en charge des sessions et des cookies. Couverture des tests à 100 %. Base de code annotée à 100 %. Zéro dépendance dure. Inconvénients : Starlette fournit toutes les fonctionnalités de base du microframework Web. Mais il ne fournit pas de validation automatique des données, de sérialisation ou de documentation API. 20. Cadre Fastapi Site officiel : https://www.php.cn/link/647a8664e3a3d945c87db2d07a6590c1 Avantages : FastAPI est un outil moderne , Framework Web rapide (haute performance) pour créer des API à l'aide de Python 3.6+ basé sur des astuces de type Python standard. Très hautes performances, à égalité avec NodeJS et Go (merci Starlette et Pydantic). L'un des frameworks Python les plus rapides disponibles. Réduisez les erreurs induites par l’homme (développeur) d’environ 40 %. Court, simple, intuitif et robuste. Inconvénients : lui-même n'a pas de syntaxe de modèle et doit être installé. 21. Cadre de réponse Site officiel : https://www.php.cn/link/212ab20dbdf4191cbcdcf015511783f4 Avantages : is kennethreitz nouveau Un projet développé est un framework de service HTTP basé sur Python. La couche inférieure utilise le framework Starlette. Starlette est un framework/boîte à outils ASGI léger qui peut être utilisé pour créer des services IO asynchrones hautes performances. Comparé à Starlette, le répondeur est plus convivial pour les développeurs. Kennethreitz a écrit des requêtes appelées « HTTP pour les humains » pour que cela soit plus clair. En fait, en comparaison, le répondeur est bien plus élégant que la Starlette. Inconvénients : Il s'agit peut-être d'un nouveau projet et l'emballage n'est pas encore parfait. Dans la version actuelle, certains codes ne fonctionnent pas encore correctement. Cependant, le formulaire d'interface a été défini et devrait être ajouté dans les versions ultérieures. 22. Molten Framework Site officiel : https://www.php.cn/link/b87039703fe79778e9f140b78621d7fb Avantages : Molten est un minimum, Framework évolutif, rapide et efficace pour créer des API HTTP avec Python. Les plans valident automatiquement les demandes et le code est plus facile à maintenir. Les instances sont automatiquement sérialisables, contiennent les types de fonctionnalités dont l'API a généralement besoin dans le monde réel et utilisent largement les astuces de type PEP484 et mypy. Inconvénients : Il n'utilise pas de bibliothèques tierces comme Pydantic pour fournir la validation, la sérialisation et la documentation des données, il possède sa propre bibliothèque. Par conséquent, ces définitions de types de données seront moins facilement réutilisables. Le système d'injection de dépendances nécessite un pré-enregistrement des dépendances et résoudra les dépendances en fonction des types déclarés. Il n’est donc pas possible de déclarer plusieurs composants pour fournir un type spécifique. 23.Cadre clastique Site officiel : https://www.php.cn/link/9fa04f87c9138de23e92582b4ce549ec Avantages : Un function Un puissant framework Web Python qui simplifie les pratiques de développement explicites tout en éliminant l'état global. Clastic est entièrement écrit en Python et offre une réutilisabilité et une testabilité améliorées, des vérifications proactives du routage d'URL, un meilleur contrôle de l'initialisation des applications, un paradigme de middleware amélioré, aucun état global, une utilisation ORM et une intégration WSGI plus facile. Inconvénients : Clastic ne crée pas d'état global ; les paramètres des règles de routage d'URL et les signatures des fonctions d'affichage ne correspondent pas, et dans Clastic, cette inadéquation lèvera une exception lors de la construction de l'application. 24. Cadre Aiohttp Site officiel : https://www.php.cn/link/6f8805c87ad80ed936bcd5ce4bebe65d Avantages : pour asyncio et Python Client/serveur HTTP asynchrone. Prend en charge les serveurs client et HTTP, prend en charge les WebSockets serveur et les WebSockets clients prêts à l'emploi, pas d'enfer de rappel. Le serveur Web dispose d'un middleware, de signaux et d'un routage enfichable. Inconvénients : Selon la RFC 7231, la version 2.0 d'aiohttp a été ajustée pour accepter les requêtes HEAD. Les requêtes ajoutées avec add_get () à l'aide de la version précédente renverront 405 si elles sont accessibles à l'aide de la méthode HEAD. Si le processeur doit écrire beaucoup de contenu du corps de réponse, vous pouvez ignorer le traitement du contenu du corps de réponse lors de l'exécution de la méthode HEAD pour améliorer l'efficacité de l'exécution. 25. Cadre Masonite Site officiel : https://www.php.cn/link/81baadacf39a11c56ee30acd5455fced Avantages : Moderne et Le framework Web Python centré sur les développeurs est dédié à la mise en œuvre de batteries du monde réel, comprend des outils de développement dotés de nombreuses fonctionnalités prêtes à l'emploi et possède une architecture extrêmement extensible. Masonite est idéal pour les développeurs débutants qui se lancent dans leurs premières applications Web, ainsi que pour les développeurs expérimentés qui ont besoin d'exploiter tout le potentiel de Masonite pour compléter leurs applications. Masonite s'efforce d'être rapide et simple, de l'installation au déploiement, afin que les développeurs puissent passer du concept à la création aussi rapidement et efficacement que possible. Utilisez-le pour votre prochain SaaS ! Essayez-le une fois et vous tomberez amoureux. Inconvénients : Le plus grand « concurrent » de Masonite est Django, car la communauté fait de son mieux pour pousser le framework vers la prochaine grande nouveauté, facile et agréable. Comparé à Django, Masonite est encore un bébé, alors attendez avec impatience ses futures performances. 26. Quart Framework Site officiel : https://www.php.cn/link/f7426bc1998891cd172a10233b83a8de Avantages : Quart Oui Un microframework réseau Python. À l'aide de Quart, vous pouvez afficher et servir des modèles HTML, écrire des API JSON (RESTful), servir des WebSockets, diffuser des données de requête et de réponse et faire presque tout via les protocoles HTTP ou WebSocket. Inconvénients : Il ne prend en charge que Python 3.7+. Tonberry Framework Un microframework Web conforme à ASGI, utilisant une approche de routage basée sur les classes. Influencé par CherryPy mais compatible avec asyncio. Un serveur ASGI compagnon appelé Qactuar a émergé de ce projet actuellement en cours. Inconvénients : Lorsque vous utilisez des demandes d'extraction, veuillez utiliser les formateurs automatiques iSort et Black et utilisez MyPy pour vérifier le code. Ceci sans éliminer certaines erreurs de type, ce qui ne fera pas toujours le bonheur de MyPy, mais faites au moins de votre mieux et utilisez l'annotation `# type: ignore` avec parcimonie. Enfin, essayez de fournir les indications de type les plus précises possibles.
28. cadre cyclone Site officiel : https://www.php.cn/link/ed582716bfb4738ccd9240530112 2 e66 Avantages : Cyclone Il s'agit d'un framework de serveur Web Python qui implémente l'API Tornado en tant que protocole Twisted. Twisted est un framework de programmation réseau Python piloté par les événements. Il s'agit de l'une des bibliothèques d'E/S non bloquantes les plus matures disponibles au public. Tornado est la version open source du serveur Web FriendFeed, l'un des serveurs Web Python les plus populaires et les plus rapides avec une très belle API pour créer des applications Web. En plus de son riche ensemble de fonctionnalités, Cyclone résout également le problème C10K. Inconvénients : Cyclone ne prend plus en charge Python 2.x. 29. Klein Framework Site officiel : https://www.php.cn/link/fd9e2ae32b53addc06c63208be3aaa43 Avantages : Klein est un micro -framework , pour développer des services Web prêts pour la production à l'aide de Python. Il est « micro » dans le sens où il possède une très petite API similaire à Bottle et Flask. Ce n'est pas "micro" car il repose sur des éléments extérieurs à la bibliothèque standard. Cela est principalement dû au fait qu'il est construit sur des composants largement utilisés et bien testés tels que Werkzeug et Twisted. Inconvénients : Peut-être un peu démodé. 30.framework nameko Site officiel : https://www.php.cn/link/5c341d10c5596a0fd920fda9f33bcb06 Avantages : AMQP RPC et événements (publication-abonnement), HTTPGET, POST et websockets, CLI pour un développement simple et rapide, utilitaires de tests unitaires et d'intégration. Inconvénients : Les microservices nameko n'imprimeront pas automatiquement les journaux d'erreurs lorsque des erreurs se produisent, et des dépendances liées à la surveillance doivent être ajoutées. Les tâches gourmandes en informatique entraîneront de nouvelles tentatives de tâches. 31.CubicWeb Framework Site officiel : https://www.php.cn/link/ff84a9f3c0d335d25413dd8dfc9b2e8f Avantages : CubicWeb est un outil sémantique Le Web Application Framework, sous licence LGPL, permet aux développeurs de créer efficacement des applications Web en réutilisant des composants (appelés cubes) et en suivant des principes de conception orientés objet bien connus. Une bibliothèque de composants réutilisables (modèles de données et vues) pour les besoins courants, la puissance et la flexibilité du langage de programmation Python, la fiabilité des bases de données SQL, les annuaires LDAP, Subversion et Mercurial pour les backends de stockage. Inconvénients : Pour obtenir ou manipuler des données persistantes dans les applications CubicWeb, vous pouvez utiliser le langage de requête relationnel (RQL), qui fournit un chemin hautement découplé pour corréler diverses sources de données entre elles. Cependant, tel qu'il est implémenté, en créant manuellement des requêtes sous forme de chaînes, il peut sembler obsolète aux développeurs habitués aux ORM. Il existe d'autres obstacles à l'utilisation de CubicWeb. Premièrement, la configuration peut être fastidieuse. Un autre problème potentiel est l'absence d'un moteur de modèle natif ; la génération du HTML est laissée au développeur. CubicWeb prend en charge Python 3, mais les modules comme Twisted eux-mêmes ne sont pas entièrement portés. 32. Framework Zope2 Site officiel : https://www.php.cn/link/6dcb94fb55921f2416219b454651bffc Avantages : Zope 2 Oui Un framework d'application Web basé sur Python, c'est l'origine de toutes les applications et outils Web Python, et une branche puissante de la famille Python. Le système de « publication d'objets » de Zope 2 est idéal pour les méthodes de développement orientées objet et peut réduire la courbe d'apprentissage du développeur et vous aider à découvrir certaines mauvaises fonctionnalités de votre application. Inconvénients : Zope n'est pas adapté aux API RESTful simples (par Bottle ou Flask) ni même aux sites Web basiques avec interactivité (à la Django), en raison de la taille et de la complexité de Zope. L'installation nécessite un certain travail ; il ne s'agit pas simplement de décompresser les sources dans un sous-dossier du projet. 33. Framework Web2py Site officiel : https://www.php.cn/link/60bb8062ea8e0c7ff17bb2e484cd223a Avantages : Web2py est écrit en langage Python Un framework Web open source gratuit, conçu pour développer des applications Web de manière agile et rapide, avec des applications basées sur des bases de données rapides, évolutives, sécurisées et portables, conformément à l'accord open source LGPLv3. Web2py fournit une solution unique. L'ensemble du processus de développement peut être effectué sur le navigateur. Il fournit les fonctions de développement en ligne de la version Web, d'écriture de modèles HTML, de téléchargement de fichiers statiques et d'écriture de bases de données. D'autres incluent une fonctionnalité de journalisation et une interface d'administration automatisée. Inconvénients : Une limitation importante de Web2py est qu'il n'est compatible qu'avec Python 2.x. Premièrement, cela signifie que Web2py ne peut pas utiliser la syntaxe asynchrone de Python 3. Si vous comptez sur des bibliothèques externes propres à Python 3, vous n'avez pas de chance. Cependant, des travaux sont en cours pour rendre Web2py compatible avec Python 3, et ils sont en voie d'achèvement au moment de la rédaction de cet article. 34. Cadre de pylônes Site officiel : https://www.php.cn/link/ddc96fb7d590861ce4bbc4579f5fa848. Avantages : Pylônes sont un framework d'application Web open source écrit en python. Il étend la norme WSGI, améliore la réutilisabilité et sépare les fonctionnalités en modules indépendants. Pylons est typique des derniers frameworks d'applications Web, similaires à Django et TurboGears. Pylons est fortement influencé par Ruby on Rails : deux de ses composants, Routes et WebHelpers, sont des implémentations Python des fonctionnalités Rails. Inconvénients : Pylons a été fusionné avec repoze.bfg et est désormais en mode maintenance uniquement. Il est fortement recommandé que les nouveaux projets démarrent avec la pyramide du framework Web nouvellement fusionnée. 35. Cadre Cubes Site officiel : https://www.php.cn/link/9fb2c3bda2393ae337242f405c93a010 Avantages : Cubes est un framework Python léger et un ensemble d'outils pour développer des rapports et Applications analytiques, analytique en ligne traitement (OLAP), analyse multidimensionnelle et navigation dans les données agrégées. Cela fait partie de Data Brewery. Inconvénients : Ne fournit plus de record_count agrégé implicite par cube. Elle doit être clairement définie comme un agrégat : l’ancienne architecture backend a des limites. Il permet uniquement l'utilisation d'un store, le modèle doit être connu avant le démarrage du serveur, il n'est pas possible d'obtenir le modèle depuis une source distante. 36. Cadre Dpark Site officiel : https://www.php.cn/link/e7a561a2f218bf9cc0e697598320ec59 Avantages : DPark est Python pour Spark La version clone est un cadre informatique distribué implémenté en Python, qui peut facilement mettre en œuvre un traitement de données à grande échelle et des calculs itératifs à faible latence. Ce cadre informatique est similaire à MapReduce, mais il est plus flexible, peut facilement effectuer du calcul distribué à l'aide de Python et fournit plus de fonctions pour un meilleur calcul itératif. DPark est développé, mis en œuvre et maintenu par la société Douban nationale. Selon la description de la société Douban, la plupart de l'analyse des données au sein de la société Douban est actuellement réalisée à l'aide de DPark, et l'ensemble du projet s'améliore également. Inconvénients : Dpark utilise des processus. En Python, du fait de l'existence de GIL (Global Interpreter Lock), même si plusieurs threads sont utilisés sur une machine multicœur, il n'y a aucun moyen de réellement implémenter entre ces threads. 37. Framework Buildbot Site officiel : https://www.php.cn/link/9b1fc5df81cadf52164c02bf92678f95 Avantages : Buildbot est implémenté dans python Outil de construction continue et de livraison continue open source, utilisé par des projets bien connus tels que Python, Mozilla, Chromium, WebKit, etc. Buildbot peut utiliser directement des packages Python, posséder facilement des dizaines de milliers de bibliothèques et possède de fortes capacités d'extension. Si vous sentez que Jenkins répond déjà facilement à vos besoins, vous n'avez pas besoin de Buildbot. Si vous pensez que l'efficacité de Jenkins est faible, que l'expansion est difficile et que certaines actions pouvant être réalisées avec des scripts tels que Python sont difficiles dans Jenkins, alors vous pouvez jeter un œil à Buildbot. Inconvénients : buildbot ne prend pas bien en charge plusieurs projets.
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!