85 votes

Histoire de la popularité de Django

Ce que la séquence d'événements de Django le plus populaire du web en Python cadre .. et encore? Même si plusieurs autres cadres.

Remarque: Cette question n'est ni polémiques, ni de confrontation. J'ai simplement demandé (l'objectif), "la séquence des événements qui conduisent à sa réelle popularité. En étant conscient de la dynamique de l'acceptation des logiciels, je ne suis pas toute personne ayant l'intention d'entrer dans les arguments sur la supériorité technique.

113voto

Alex Martelli Points 330805

De nombreux web Python cadres existaient déjà lors de Django est apparu en 2005 -- en effet, la blague était déjà autour, alors que Python est "la langue avec plus de frameworks web de mots clés" (et Guido rejeté ma proposition de corrigé que dans Py3k par l'ajout de beaucoup plus de mots-clés). Maintenant, "django" en soi est un peu ambigu comme un terme de recherche (c'est aussi le nom d'un célèbre joueur de guitare dont la vie a inspiré un film de Woody Allen, etc, etc), néanmoins l'ajout de "python" de la recherche à supprimer les autres significations, vous pouvez le voir par exemple dans ce graphique comment sa relative popularité de changé par rapport à un autre classique de framework web Python, Zope. Pour la plupart de la croissance régulière d'un trimestre, avec un énorme bond surprenant au début du 2e trimestre de 2008... qui se trouve coïncider avec la date à laquelle Google a annoncé App Engine (il est impossible de prouver le lien de causalité dans de tels cas, mais la coïncidence est moins intéressant;-).

App Engine essentiellement une web Python cadre profondément dépend personnalisé C-codés composants, ou intrinsèquement besoin "fortement relationnelle" de la fonctionnalité; de ceux qui fonctionnent correctement avec juste pur le code Python, Django est probablement celui qui App Engine le plus directement et visiblement prend en charge. Cependant, c'était juste un coup de fouet, en ajoutant à Django sous-jacente de la croissance saine de la tendance. L'explication de cette tendance (et en effet pour l'Application de Moteur de l'équipe et des utilisateurs de décision à l'appui de Django si bien) doit reposer sur les caractéristiques intrinsèques de Django lui-même.

Django est parfois critiquée (y compris par... votre serviteur;-) pour être "trop magique" ou "trop monolithique", par rapport à des alternatives telles que les Pylônes, TurboGears, Werkzeug, &c, qui sont plus légers (de l'esp. le dernier, mon préféré;-), plus transparent, et de faciliter l'échange et de composants spécifiques (ORM, les templates, &c). Cependant, Django popularité nous dit que, pour la plupart des gens intéressés dans le développement web côté serveur des sites et des applications, ces Django choix de conception sont perçues de façon positive: Django est considéré comme très riche et très bien, le cadre intégré et il a beaucoup de add-ons et a contribué "plugins", mais ceux-ci sont plus une conséquence qu'une cause de son emprise).

Facilité de prise en main, automagical "page d'administration", et la comme-ainsi que le fait que Django peut être plié pour faire vraiment riche et complexe des sites/applications et accueillir des particuliers ou à des exigences uniques, avec beaucoup de talent et un peu de travail -- sont probablement les "killer features". Pour utiliser Werkzeug à son meilleur, vous devez comprendre le HTTP, et WSGI, et de choisir et d'intégrer votre favori de stockage et de modèles -- les développeurs de Python des sites web et des applications (comme, dans un sens, les utilisateurs de Rails, ou les utilisateurs de même-plus-populaires PHP!-) sont en "votant avec leurs mindshare" pour un environnement dans lequel ils n'ont pas nécessairement besoin de faire tout cela, mais peut surtout se concentrer sur leur domaine d'application. Je dois admettre qu'ils ont un point;-).

108voto

James Bennett Points 6318

Je pense qu'il y avait un peu de facteurs, dont la combinaison a été plus grand que la somme de leurs poids.

On est tout simplement le timing: Django apparut comme la première grande vague de Rails de battage médiatique a été montée en puissance, et il a été immédiatement présenté comme une sorte de "Python réponse à des Rails". Qui a abouti à un non-négligeable nombre de globes oculaires sur le projet presque depuis le début. Le fait qu'Adrian était à la "les Serpents et les Rubis" meetup à Chicago et a obtenu de prendre part à des side-by-side parle de Rails et Django a fait beaucoup pour que.

Un autre facteur est que Django est et a toujours été un unique package installer (enfin, pas tout à fait: vous avez encore besoin d'un adaptateur de base de données, sauf si vous êtes sur Python 2.5+ et l'utilisation de SQLite, mais assez proche). Le non-Zope des solutions de rechange, le tout axé sur l'laissant composant de choix dans le développement de l'mains, un peu plus de travail juste pour arriver au point où vous pourriez faire un tutoriel de base: vous auriez besoin d'aller à la chasse vers le bas un ORM, un modèle de langue, etc., etc. et les faire tous installé et configuré. Mais c'est devenu beaucoup mieux au fil des ans, je pense que la persistance de la mémoire de qui a encore un effet.

Et Django est sorti de la porte avec de la documentation (si je peux me permettre) était bien au-dessus de la norme habituelle pour les projets open-source, et a ne cesse de s'améliorer au fil du temps. Le tutoriel, pour tous ses nombreux défauts, frappe sur un certain nombre de points forts qui font de Django utile, et le reste de la documentation a toujours été de bonne qualité, mélangeant à la fois la référence de l'API et important "comment" de bits nécessaires. Cela produit un bon out-of-the-box de l'expérience et de l'aide à la post-tutoriel courbe d'apprentissage (quelque chose qui a toujours en proie Zope).

Je pense aussi qu'il y a une perception, à tort ou à raison, que, disons, les Pylônes ou Werkzeug sont vraiment mieux pour les développeurs expérimentés qui connaissent déjà leur chemin autour de WSGI et le Python web de l'écosystème; le fait qu'ils ont tendance à être forte choix pour la prise de votre favori existant bibliothèques et de les connecter ensemble est la source de tout cela, je pense, et peut-être des coups de coude de certains nouveaux gens de plus vers Django approche intégrée. Le revers de la médaille, bien sûr, c'est que beaucoup de gens qui serais mieux apprendre plus up-front avant d'essayer de Django ne pas le faire ;)

Enfin, je pense qu'il y a quelque chose à dire à la manière de Django reinhardt été commercialisés, qui est-à-dire qu'elle n'était pas commercialisé pour une longue période de temps, ou au moins pas dans le sens que, disons, les Rails a été commercialisé. Jusqu'à ce que Django 1.0 posé, le "marketing" de l'effort principalement composés de personnes de blogs (et il y avait quelques notables incidents où les gens étaient invités à se modérer un peu), des pourparlers à PyCon et alors principalement de l'amélioration du cadre de, du bâtiment choses cool avec elle et de laisser les résultats parlent d'eux-mêmes. Maintenant, bien sûr, dans l'après-1.0 monde, nous avons le FSN et DjangoCon et orienté business consultants en faisant des séances de formation et de beaucoup de livres et de tout le reste, mais c'est encore assez nouveau.

J'attends qu'il y aura un retour de bâton, comme il y a été avec des Rails, et en fait je pense que c'est le brassage pendant un certain temps et a déjà commencé. Mais jusqu'à maintenant, je pense que les facteurs que j'ai énumérées ici sont au moins les plus importants, derrière la constante croissance de la popularité de Django a vu depuis sa sortie initiale.

22voto

Tony Points 201

Je peux penser à trois raisons pour Django popularité, une seule a été abordée dans d'autres réponses autant que je le vois:

  1. De la Documentation. Il est bien structuré, complet et accessible à partir d'un certain nombre de niveaux de compétence.

  2. De la conception. La conception visuelle de l'admin, les pages d'erreur et le site du projet sont loin au-dessus du niveau de la conception de la plupart des projets open source.

  3. Le soutien de la communauté. En commençant avec l'équipe au Monde en Ligne, Django ramassé quelques influents évangélistes dès le début. Je ne suis pas sûr que vous pouvez sur l'état de l'importance des messages de blog comme Jeff Croft Django pour les Non-Développeurs (je pense que c'était le titre).

13voto

Up. Points 434

"Mon favori personnel, et j'espère que cela va rester un favori pour une longue période de temps, est quelque chose nommé Django" - Guido Van Rossum sur SOIE hebdomadaire de l'épisode 11, diffusé août 4ème 2006

http://twit.tv/floss11 (écoutez le dernier tiers de l'interview)

Pense que cela aurait aidé? ou au moins la raison pour laquelle Google a choisi pour AppEngine?

bien sûr, le django de la communauté (y compris les devs) sont en train de faire beaucoup de choses. Par exemple (Certains d'analyse dans les liens):

L'amélioration de la modularité: http://twothirty.am/blog/2009/04/09/django-code-base-modularity/

coup de pied au cul de la documentation http://twothirty.am/blog/2009/06/22/documentation/

Il y a aussi quelque chose à propos de la communauté qui amène les gens à vouloir contribuer laquelle je n'ai pas encore mis mon doigt sur: http://twothirty.am/blog/2009/08/11/contributor-analysis/

Bien sûr, tous les qui conduisent à Django étant une valeur aberrante: http://twothirty.am/blog/2009/09/01/django-outlier/

Il n'y a aucune question à propos de Django reinhardt, de la popularité.

3voto

signal Points 6

Dans mon cas, j'avais acheté le livre TurboGears, et j'avais du mal à comprendre ses incohérences et son parcours aléatoire pour expliquer certaines choses. Ensuite, j'ai eu le livre Django, et le tour est joué! Mon premier projet payant a été créé en travaillant à travers l'exemple de projet présenté dans le livre. Cela, ajouté à la documentation en ligne, a scellé la transaction. Pour moi, c'était simple: documentation, documentation, documentation.

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