171 votes

Django vs Flask pour un projet à long terme

Je cherche un comparatif de django et flask pour un projet qui va vivre longtemps, et qui devra être maintenu, construit et grandir au fil des mois.

Je considère Flask + SQLAlchemy ou Django.

Je n'ai pas besoin de batteries, car je finis généralement par devoir les modifier, donc ce n'est pas grave si je dois réimplémenter quelques roues pour qu'elles fassent exactement ce dont j'ai besoin.

Je préfère le style de codage de Flask, je préfère la façon dont il est à mi-chemin entre un framework complet et une simple couche WSGI.

Ma plus grande réserve est la fiabilité de la gourde. Flask/Werkzeug sont construits à partir d'une équipe d'un seul homme, s'il laisse tomber le projet, je doute que quelqu'un soit capable de le remplacer. Django a toute une communauté derrière lui et il n'y a aucun risque qu'il n'y ait jamais de développeurs pour le maintenir.

Django comprend beaucoup de batteries et donne l'impression d'être gonflé lorsqu'on travaille avec elles. Je préfère également SQLAlchemy à l'ORM de Django.

En fin de compte mon Les préférences n'ont pas d'importance, je m'inquiète de la maintenance à long terme de l'application, de son évolutivité, de sa fiabilité et de sa capacité à croître et à s'adapter à des règles commerciales qui changent rapidement (elles peuvent changer toutes les deux semaines ou tous les mois), tout en conservant sa minceur.

230voto

unmounted Points 10968

Personnellement, j'aime Flask, je peux voir quelques réserves mais la vue d'ensemble est bonne :

  • C'est seulement 750 LOC et 750 quatre chiffres bas de code et de commentaires. Vous pouvez vous y retrouver si quelque chose ne fonctionne plus pour une raison quelconque. Sous la couche flask, il y a des bibliothèques propres et hautement interchangeables.
  • Je ne m'inquiéterais pas du petit noyau de développeurs. Le routage Werkzeug et le templating jinja, par exemple, sont si agréables que quelqu'un reprendra le flambeau si ces gars-là passent à des choses plus grandes et meilleures (comme l'obtention d'un diplôme universitaire !) Et aussi, c'est juste une chose avec l'open source qu'il y a souvent des stars dont les contributions sont monstrueusement disproportionnées par rapport à la taille de la communauté qui bénéficie de leur travail ; pensez à John Resig, Miguel de Icaza, Graham Dumpleton ou Adrian Holovaty, pour cette question. Je ne serais pas surpris si un jour nous regardions en arrière sur ces enfants Armin Ronacher de cette façon.
  • Si vous avez la chance de ne pas être contraint de travailler toute la journée avec un cadre d'entreprise peu aimable, ne négligez pas l'occasion qui vous est donnée de fouiller dans les entrailles de quelque chose que vous aimez.

75voto

hasenj Points 36139

Si vous optez pour django, vous devrez, à long terme, remplacer presque tous les composants de django par autre chose, la seule partie restante étant le mappeur d'URL.

29voto

NiKo Points 5023

Il y a beaucoup d'avantages et d'inconvénients pour les deux, mais l'essentiel à mes yeux est le suivant : si vous avez besoin d'un administrateur, optez pour Django. Si vous pouvez vous en débarrasser ou n'en avez pas besoin, choisissez FLask/SQLAlchemy.

15voto

EuGeNe Points 139

Django rend le trivial facile (er) et le moins trivial beaucoup trop difficile, surtout pour les projets à long terme où les besoins peuvent diverger de ce que Django a été conçu pour faire principalement. Vous devrez alors sauter à travers tellement de cerceaux pour arriver à vos fins que... Je suis d'accord avec hasen j :P

9voto

jammycakes Points 2999

Un bon moyen d'évaluer la durabilité potentielle d'un projet est d'examiner son activité et sa popularité sur Github.

En ce moment, Flask compte 581 bifurcations, 7 demandes de retrait ouvertes et 248 demandes de retrait fermées. la dernière ayant été fermée il y a quelques jours seulement. C'est plutôt respectable pour des projets sur Github. Avec une telle popularité, il y a de fortes chances que si le mainteneur actuel se retire, quelqu'un d'autre reprenne le projet et l'exploite.

D'un autre côté, si elle n'avait qu'une douzaine de forks et que sa dernière demande de pull fermée remontait à près d'un an, je commencerais à m'inquiéter.

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