Maison  >  Article  >  développement back-end  >  Quels frameworks sont disponibles en python ?

Quels frameworks sont disponibles en python ?

(*-*)浩
(*-*)浩original
2019-06-15 15:34:0217267parcourir

Il y a quelques jours, un ami m'a laissé un message me demandant : Quand y aura-t-il un résumé utile du framework Python (la liste dans cet article n'en est qu'une partie, et n'inclut pas tous les frameworks Python), donc celui d'aujourd'hui l'article est né. (D'un coup, je me sens très bien)

Quels frameworks sont disponibles en python ?

Recommandé : Django (Apprentissage recommandé : Tutoriel vidéo Python)

Django devrait être le framework Python le plus connu, GAE et même Erlang ont des frameworks concernés. Django prend une direction vaste et globale. Il est surtout connu pour son backend de gestion entièrement automatisé : il vous suffit d'utiliser ORM et de créer des définitions d'objets simples, et il peut générer automatiquement une structure de base de données et un backend de gestion complet.

Avantages :

Framework open source, avec un support de documentation parfait

De nombreuses solutions, plus de support de fonctions internes

URL élégante, système de routage complet

Gestion backend en libre-service

Inconvénients :

Le système est étroitement couplé et il est très difficile de le remplacer par votre bibliothèque tierce préférée, même avec certains correctifs. vous vous sentirez également très gêné lorsque vous monterez dessus.

L'ORM fourni avec Django est bien moins puissant que SQLAlchemy.

La fonction Template est relativement faible et ne peut pas insérer de code Python. Pour écrire une logique plus complexe, vous devez utiliser Python pour implémenter Tag ou Filter.

Recommandation 2 : Flask

Flask est un framework d'application Web léger écrit en Python. Basé sur la boîte à outils Werkzeug WSGI et le moteur de modèles Jinja2. Flask est également appelé « microframework » car il utilise un noyau simple et utilise des extensions pour ajouter des fonctionnalités supplémentaires. Flask n'a pas de base de données ou d'outil de validation de formulaire utilisé par défaut.

Avantages :

Flask est plus flexible que Django. Avant d'utiliser Flask pour créer une application, cela donnera aux développeurs plus de flexibilité lors de la sélection des composants. Certains scénarios d'application peuvent ne pas convenir. ORM (Object-Relational Mapping), ou besoin d'interagir avec différents systèmes de flux de travail et de modèles.

Inconvénients :

Flask n'est qu'un noyau et s'appuie par défaut sur deux bibliothèques externes : le moteur de modèles Jinja2 et l'ensemble d'outils Werkzeug WSGI De nombreuses autres fonctions sont intégrées sous forme d'extensions.

Troisième recommandation : Scrapy

Scrapy est un framework de grattage d'écran et de grattage Web rapide et de haut niveau développé en Python, utilisé pour gratter des sites Web et les extraire d'Extract. données structurées de la page. Scrapy est largement utilisé et peut être utilisé pour l'exploration de données, la surveillance et les tests automatisés.

Avantages :

Scrapy est un framework d'exploration de données très puissant. Il peut non seulement construire facilement des requêtes, mais dispose également d'un sélecteur puissant qui peut facilement analyser les réponses. Cependant, ses performances les plus populaires incluent. la vitesse d'exploration et d'analyse, son téléchargeur est multithread et les demandes sont planifiées et traitées de manière asynchrone. Ces deux points rendent sa vitesse d’exploration très rapide.

De plus, il existe des modules intégrés de journalisation, d'exception, de shell et d'autres modules, qui apportent beaucoup de commodité au travail d'exploration.

Inconvénients :

Scrapy est un framework encapsulé. Il comprend un téléchargeur, un analyseur, une gestion des journaux et des exceptions. Il est basé sur un traitement multithread et torsadé. site Web. Il présente des avantages en termes de développement, mais pour explorer 100 sites Web à partir de plusieurs sites Web, il n'est pas assez flexible en termes de traitement simultané et distribué, et il n'est pas pratique à ajuster et à développer.

Recommandation 4 : Tornado

Tornado est une version open source d'un logiciel de serveur Web. Il existe une nette différence entre Tornado et les frameworks de serveurs Web traditionnels (y compris la plupart des frameworks Python) : il s'agit d'un serveur non bloquant et assez rapide.

Avantages :

Tornado excelle dans la fourniture d'une infrastructure pour les applications qui nécessitent un contrôle strict sur les détails du réseau asynchrone. Par exemple, Tornado fournit non seulement un serveur HTTP asynchrone intégré, mais également un client HTTP asynchrone. Par conséquent, Tornado est idéal pour créer des applications, telles que des web scrapers ou des robots, qui interrogent d'autres sites en parallèle et fonctionnent sur les données renvoyées.

Inconvénients :

Il existe de nombreux modules tiers parmi lesquels choisir dans les parties modèle et base de données, ce qui n'est pas propice à l'encapsulation dans un module fonctionnel.

Recommandation 5 : Web2py

web2py est un framework d'application Web complet fourni pour le langage Python. Il est conçu pour développer des applications Web de manière agile et rapide, avec rapidité. , application basée sur une base de données sûre et portable, compatible avec Google App Engine.

Avantages :

Le plus grand attrait de Web2py est son environnement de développement intégré. Lorsque vous configurez une instance Web2py, vous disposez d'une interface Web, essentiellement un éditeur d'application Python en ligne, où vous pouvez configurer les composants de votre application. Cela signifie généralement créer des modèles, des vues et des contrôleurs, chacun étant décrit via des modules Python ou des modèles HTML.

Inconvénients :

Une limitation importante de Web2py est qu'il n'est compatible qu'avec Python 2.x. Cela signifie d'abord 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 Python3 et sont en voie d'achèvement au moment de la rédaction de cet article.

Recommandation 6 : Weppy

Weppy se sent comme la marque intermédiaire entre le style minimaliste de Flask et l'exhaustivité de Django. Bien que le développement d'applications Weppy ait le caractère direct de Flash, Weppy possède de nombreuses fonctionnalités trouvées dans Django, telles que la couche de données et l'authentification. Par conséquent, Weppy convient aux applications allant d’extrêmement simples à modérément complexes.

Avantages :

La documentation de Weppy a le même style que le framework lui-même. C’est propre, lisible et destiné à la consommation humaine. En plus des exemples d'applications habituels « hello world », il contient également un bon didacticiel pas à pas qui vous permet de créer un système Weibo en tant que projet pour débutant.

Inconvénients :

Bien que Weppy dispose d'un mécanisme d'extension, la liste des modules complémentaires officiellement approuvés est petite, beaucoup plus petite que le répertoire d'extensions de Flask.

Recommandation 7 : Bouteille

La bouteille peut être considérée comme un mini-flacon car elle est plus compacte et concise que les autres « micro-frameworks ». En raison de son encombrement minimal, Bottle est idéal pour être inclus dans d'autres projets ou pour livrer rapidement de petits projets comme les API REST.

Avantages :

Bottle ne nécessite pas autant de documentation que les autres frameworks, mais la documentation n'est en aucun cas avare. Tous les éléments clés tiennent dans une seule (quoique longue) page Web. En plus de cela, vous trouverez une documentation complète pour chaque API, des exemples de déploiement sur diverses infrastructures, des explications sur le langage de création de modèles intégré et une collection de recettes courantes.

Inconvénients :

L’une des conséquences du minimalisme de Bottle est que certaines fonctionnalités n’existent tout simplement pas. La validation de formulaire, y compris la protection CSRF et d'autres fonctionnalités, 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.

Pour plus d'articles techniques liés à Python, veuillez visiter la colonne Tutoriel Python pour apprendre !

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn