40 votes

Flask est-il recommandé aux programmeurs Python inexpérimentés ?

En ce qui concerne Flask, la documentation de base a l'air cool, mais je comprends que pour l'utiliser efficacement, je devrais utiliser des bibliothèques Werkzeug.

Je ne sais pas si je serais capable de comprendre tous ces différents composants.

Veuillez indiquer si Flask est quelque chose qui m'aidera vraiment à comprendre les choses et serait-il un bon point de départ pour un amateur totalement inexpérimenté comme moi ? ?

76voto

Sean Vieira Points 47080

Si vous êtes novice en matière de développement web en Python, Flask est probablement l'un des meilleurs endroits pour commencer - point, fin de l'histoire.

Il est encore suffisamment petit pour que vous puissiez apprendre à connaître WSGI à partir de son code source (excellent et largement documenté). Il est suffisamment puissant et comporte suffisamment de batteries pour que vous n'ayez pas à passer du temps à essayer de choisir une bonne bibliothèque à utiliser pour X o Y . (Il comprend des liaisons pour Jinja2 par défaut et possède une bonne extension pour SQLAlchemy, par exemple).

Django, et d'autres grands frameworks sont intimidants parce qu'ils incluent tous des batteries dès le départ (puisque vous travaillez sur un site web complexe avec un délai à respecter - sinon, pourquoi les utiliseriez-vous) et sont donc un peu plus difficiles à prendre en main. Web.py et les autres micro-frameworks sont intimidants pour la raison exactement opposée -- ils laissent presque tout le temps à l'utilisateur le soin de se débrouiller. tout (puisque vous savez probablement déjà ce que vous faites et que vous avez juste besoin que le framework web vous laisse tranquille).

Flacon fait incluent tout ce dont vous avez besoin pour commencer à construire quelque chose de plus complexe qu'une application "Hello World" -- ils intègrent un moteur de templating ( Jinja2 ) pour vous afin que vous n'ayez pas à décider si vous feriez mieux d'utiliser Brévé , Genshi , Guépard o Mako (mais vous pourriez utiliser n'importe lequel des éléments ci-dessus si vous le souhaitez). C'est n'est pas inclure bash et .bat des scripts pour configurer l'espace de travail de votre projet, de puissants systèmes de gestion administrative basés sur le web ou un ORM, afin que vous puissiez vous plonger dans l'aventure sans avoir à vous arrêter pendant quatre heures pour vous documenter sur un nouveau concept dont vous n'aviez jamais entendu parler auparavant.

Maintenant, pour être juste envers les deux côtés du spectre (Django et Web.py), ils sont tous grand Une fois que vous aurez commencé à apprendre, vous constaterez peut-être que vous apprenez plus vite avec les systèmes plus légers (comme Web.py) ou que vous préférez la commodité des frameworks complets (comme Django). Mais pour débuter, pour apprendre les bases de WSGI et du développement web en Python en particulier et du développement web dynamique en général, je ne connais pas de framework web qui donne une meilleure introduction aux concepts qui le sous-tendent que Flask.

8voto

kracekumar Points 2653

Pourquoi Flask

  • Une documentation complète
  • Facile à comprendre
  • Code découplé
  • Pas d'ORM, vous pouvez donc utiliser SQLAlchemy ou storm.
  • Supporte d'autres modèles comme genshi, mako
  • L'équipe Pocoo
  • Soutien aux essais
  • Plan d'action
  • Extensions
  • Intégration au niveau des modules
  • Petite base de code vous pouvez vérifier le code source.
  • 100% conforme à WSGI.
  • L'intégration avec gevent, twisted, tornado est possible.
  • Des extraits utiles sur le site de pocoo.
  • Vous pouvez déployer avec cherrypy.
  • Pas de formulaire intégré, vous pouvez donc utiliser wtforms ou tout autre formulaire.
  • Code par Armin Ronacher :)
  • Prise en charge de REST

4voto

Dexter Points 1422

J'étais principalement un développeur PHP / ASP.net et j'ai commencé avec Python en essayant d'apprendre Django parce que "tout le monde le fait, donc ils doivent savoir quelque chose...". Et j'étais juste submergé et constamment frustré par des barrages routiers dus soit à une documentation d'exemples inadéquate, soit à une surcomplication de processus simples. Même des choses aussi simples que de lier des urls à des vues sont devenues des tracas dans les grands projets.

La simple mise en place de fichiers statiques était un véritable casse-tête dans Django. L'ORM de Django était inutilement compliqué et je n'ai pas réussi à comprendre grand-chose sur la modélisation des formulaires. La seule bonne chose que j'ai trouvée à Django est qu'il possède un panneau d'administration intégré. Mais c'est à peu près tout. Il faut également un temps d'installation gigantesque. À moins de disposer d'un logiciel de chargement de Django, il est assez pénible de le configurer et de le faire démarrer.

Bref, j'ai abandonné Django et j'ai trouvé Flask.

Flacon est spectaculaire car il a été facile à mettre en place. Vous avez immédiatement commencé à travailler. Il vous a également donné des extensions faciles à installer et qui font des choses comme SQLAlchemy pour l'ORM de base de données et la modélisation. WTForms pour la génération et la personnalisation de formulaires. Les fichiers statiques fonctionnaient instantanément sans problème.

Je n'ai aucune idée de la raison pour laquelle on préfère Django, mais je suppose qu'il s'agit d'un framework beaucoup plus vaste avec beaucoup plus de batteries. Cependant, je ne le recommande pas à ceux qui débutent dans le développement web en Python.

J'ai trouvé le http://www.reddit.com/r/flask de la communauté pour être très utile aussi.

2voto

zchtodd Points 585

Je trouve la plongée dans les frameworks web un peu intimidante. Si vous souhaitez vous familiariser avec la nature du développement web en général, j'opterais pour Tornado, car il est léger et facile à prendre en main.

Documentation sur Tornado

1voto

john kesh mahugu Points 250

Essayez bottle - vous allez l'adorer, je suis encore novice en python mais j'ai réussi à faire fonctionner ma première application en 5 minutes, maintenant je prends encore moins de temps.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X