Djangoの人気の歴史[クローズ]


84

Djangoを最も人気のあるPythonWebフレームワークにした一連のイベントは何ですか?他にもいくつかのフレームワークが存在しますが。

:この質問は、論争的でも対立的でもありません。実際の人気につながる(客観的な)「一連の出来事」を求めただけです。ソフトウェアの受け入れのダイナミクスを認識しているので、私は誰もが技術的な優位性について議論するつもりはありません。


14
最も人気のあるPythonWebフレームワークであるDjangoは事実であり、主観的な意見ではありません。「一連のイベント」とは、その人気につながるデザインの決定、タイミング、マーケティングなどを意味します。それについて無意味なことは何ですか?
Sridhar Ratnakumar 2009年

2
これは本当に良い質問です。
Joshua Partogi 2009年

これらの設計上の決定、タイミング、マーケティングなどが、「履歴」と見なされるのに十分な正確さと適時性で知られているかどうかを興味深く見ていきます。
ジョンサンダース

私はこの質問の締めくくりに同意しませんが、CSの方が良いかもしれません。
カイルストランド2013年

回答:


107

いくつかの要因があったと思いますが、その組み合わせは個々の重みの合計よりも大きかったです。

1つは単にタイミングです。DjangoはRailsの誇大宣伝の最初の大きな波が急上昇しているときに現れたので、すぐに「Railsに対するPythonの答え」のようなものとして描かれました。その結果、プロジェクトにはほとんど最初から目玉の数が少なくありませんでした。エイドリアンがシカゴで開催された「SnakesandRubies」ミートアップに参加し、RailsとDjangoについてのサイドバイサイドトークに参加したという事実は、そのために多くのことを行いました。

もう1つの要因は、Djangoが常に単一パッケージのインストールであるということです(Python 2.5以降を使用してSQLiteを使用している場合を除いて、データベースアダプターが必要ですが、十分に近いです)。コンポーネントの選択を開発者の手に委ねることに焦点を当てたZope以外の代替手段では、基本的なチュートリアルを実行できるようになるまでに、かなり多くの作業が必要でした。ORMを探しに行く必要があります。テンプレート言語などを作成し、それらをすべてインストールして構成します。それは何年にもわたってずっと良くなっていますが、それの長引く記憶はまだ効果があると思います。

そして、Djangoは、(私がそう言うかもしれないが)オープンソースプロジェクトの通常の基準をはるかに上回っており、時間の経過とともに改善されてきたというドキュメントを持って門を出ました。チュートリアルは、その多くの欠点のすべてについて、Djangoを有用にする多くのハイポイントにぶつかり、ドキュメントの残りの部分は常に高品質であり、必要に応じてAPIリファレンスと重要な「ハウツー」ビットの両方を混合しています。これにより、すぐに使用できる優れたエクスペリエンスが実現し、チュートリアル後の学習曲線(常にZopeを悩ませてきたもの)に役立ちます。

また、正しいか間違っているかという認識もあると思います。たとえば、WSGIとPython Webエコシステムの使い方をすでに知っている経験豊富な開発者にとっては、PylonsまたはWerkzeugの方が本当に優れています。それらが既存のお気に入りのライブラリを取り込んでそれらを一緒に接続するための強力な選択になる傾向があるという事実がこれの原因であると私は思います。反対に、もちろん、Djangoを試す前にもっと前もって学んだほうがいい人の多くはそうしません;)

最後に、Djangoの販売方法については、何か言いたいことがあると思います。つまり、実際に長い間販売されていなかった、または少なくともRailsが販売されたという意味ではありません。Django 1.0がリリースされるまで、「マーケティング」の取り組みは主にブログを書く人々(そして、人々が少しトーンダウンするように求められたいくつかの注目すべき事件がありました)、PyConでの話し合い、そしてフレームワークの改善、それを使ったクールなものの構築で構成されていました結果を説明します。もちろん、1.0以降の世界では、DSF、DjangoCon、ビジネス指向のコンサルタントがトレーニングセッションやたくさんの本などを行っていますが、それはまだまったく新しいことです。

Railsの場合と同じように、反発があると思います。実際、しばらくの間醸造されており、すでに始まっていると思います。しかし、これまで私がここにリストした要因は、少なくとも、Djangoが最初のリリース以来見た人気の一貫した着実な成長の背後にある主要な要因だと思います。


31
控えめである必要はありません。Djangoのドキュメントの質と量は、それにとって大きなプラスです。よくやった、すべて。
Ned Deily 2009年

1
「Django1.0がリリースされるまで、「マーケティング」の取り組みは主にブログを書く人々で構成されていました...」1.0より前に出版された(つまり、長い間作品に掲載された)2冊の本を忘れていますか。それは私にはいくつかの重いマーケティングのように聞こえます。
クリスチャン

9
少なくとも私にとっては、2冊の本は「ヘビーマーケティング」にはなりません。そして、正直に言うと、1.0が出るまでは、私の人生をかなり簡素化するという理由だけで、私を遠ざけることを望んでいました。
James Bennett

4
Djangoは、たとえばブログほどSOであまり知られていないため、おそらくDjangoへの関与について言及する必要があります。リンクATMが見つかりませんが、以前にこれについて何か書いたことを覚えているようです。
Xiong Chiamiov 2009年

7
私の名前をクリックして、私が誰であるかを確認するのはかなり簡単です。
James Bennett

112

Djangoが2005年に登場したとき、多くのPython Webフレームワークがすでに存在していました。実際、Pythonは「キーワードよりも多くのWebフレームワークを備えた言語」であるという冗談はすでに出回っていました(そして、GuidoはPy3kでそれを修正するという私の提案を拒否しました。さらに多くのキーワードを追加します)。現在、「django」自体は検索用語としては少しあいまいです(これは、ウディ・アレンの映画などに影響を与えた人気のギタリストの名前でもあります)が、検索に「python」を追加して他の意味を削除しますあなたは例えばこのグラフで見ることができます別の古典的なPythonWebフレームワークであるZopeと比較して、その相対的な人気がどのように変化したか。2008年第2四半期の初めに驚くべき急上昇があり、四半期ごとにほぼ安定した成長を遂げています...これはGoogleがApp Engineを発表した日付とちょうど一致します(このような場合、原因を証明することは不可能ですが、偶然の一致は少なくとも興味深い;-)。

App Engineは基本的に、カスタムCコード化コンポーネントに大きく依存するPython Webフレームワークを除外するか、本質的に「高度なリレーショナル」機能を必要とします。純粋なPythonコードだけでうまく動作するものの中で、DjangoはおそらくAppEngineが最も直接的かつ目に見える形でサポートしているものです。ただし、これは単なる後押しであり、Djangoの根底にある健全な成長傾向に追加されました。その傾向の説明(そして実際、App EngineチームとユーザーがDjangoを非常にうまくサポートするという決定)は、Django自体に固有の特性にある必要があります。

Djangoは、Pylons、TurboGears、Werkzeugなどの軽量な代替品(特に後者)と比較して、「魔法が多すぎる」または「モノリシックすぎる」と批判されることがあります(特にあなたの場合を含む)。 、私のお気に入り;-)、より透過的で、特定のコンポーネント(ORM、テンプレート、&c)のスワップインとスワップアウトが簡単になります。ただし、Djangoの人気は、サーバーサイドWebサイトやアプリの開発に関心のあるほとんどの人にとって、これらのDjangoデザインの選択は前向きに認識されていることを示しています。Djangoは非常にリッチで十分に統合されたフレームワークと見なされています(そして、多くのアドオンがあります。オンと貢献した「プラグイン」ですが、それらはその優位性の原因というよりも結果です)。

使いやすさ、自動魔法の「管理ページ」など-そしてDjango曲げて、本当にリッチで複雑なサイト/アプリを作成し、多くのスキルといくつかの作業で、独特または固有の要件に対応できるという事実-おそらく「キラー機能」です。Werkzeugを最大限に活用するには、HTTPとWSGIを理解し、お気に入りのストレージとテンプレートを選択して統合する必要があります。PythonベースのWebサイトとアプリの開発者(ある意味では、Railsのユーザーやさらに人気のあるPHP!-)は、必ずしもそのようなことを行う必要はないが、ほとんどの場合アプリケーションドメインに集中できる環境に「マインドシェアで投票」しています。私は彼らがおそらくポイントを持っていることを認めなければならないでしょう;-)。


3
Djangoの人気を考えると、Djangoにある程度精通していれば十分に役立つと思います。これは、アプリやサイトにより適している場合に、repoze.bfg、werkzeugなどを使用することも排除するものではありません。時間があれば、それぞれで半おもちゃのプロジェクトをゼロから作成することができます。それにより、プロジェクトの内容に応じて、それらを多かれ少なかれ適切にする長所と短所をより深く理解することができます(私は認めなければなりません) repoze.bfgを実際に体験したことはありません...)。
Alex Martelli

1
@Triptych、明らかに唯一の理由ではありません。 他のいくつかのフレームワーク(ただしフレームワークではありません。たとえば、Zopeを考えてください!-)が同じように適用可能だった可能性があるためです。アプリ/サイト開発者にとって、豊富に統合されたやや「魔法の」フレームワークの利点についての私の考えは、プライマリサポートを提供するものの決定を左右した可能性があります(たとえば、ユーザーのアップロードを必要とせずに自動的に利用可能にすることによって)。
Alex Martelli

1
@cletus、Javaはあたり50個のキーワードがあるjava.sun.com/docs/books/tutorial/java/nutsandbolts/...を、Pythonの2.6は、あたり31持っlen(keyword.kwlist)例えば、型名等、Pythonでのキーワードはありません-
アレックスマルテッリ

34
重要なポイントを見逃していると思います。Djangoのドキュメントは(方法で)どのPythonフレームワークよりも優れていました(また、Railsのドキュメント、IMOよりも優れていました)
agiliq 2009年

6
@アレックス、私は誰もが実際にドキュメントを読み始めて終わりを始めるとは思わないが、問題を抱えているほとんどの人はグーグル検索を打つ。ブログの投稿を1時間検索する代わりに、見栄えの良いドキュメントを使用して5分で答えを見つけることができるのは大きなプラスです(少なくともStackOveflowまでは、ばかげた質問をするのがはるかに簡単になりました;)
Edan Maor

22

Djangoの人気の理由は3つ考えられますが、私が見る限り、他の回答ではそのうちの1つだけが取り上げられています。

  1. ドキュメンテーション。それはよく構成され、包括的で、多くのスキルレベルから親しみやすいです。

  2. 設計。管理者、エラーページ、およびプロジェクトサイトの視覚的なデザインは、ほとんどのオープンソースプロジェクトで見られるデザインのレベルをはるかに上回っています。

  3. コミュニティサポート。World Onlineのチームから始めて、Djangoは早い段階で影響力のある伝道者を何人かピックアップしました。JeffCroftのDjangofor Non-Developersのようなブログ投稿の重要性を誇張できるかどうかはわかりません(それがタイトルだったと思います)。


13

「私の個人的なお気に入り、そしてそれが長い間個人的なお気に入りであり続けることを期待しているのは、Djangoという名前のものです」-2006年8月4日に放送されたFLOSS週刊エピソード11のGuido Van Rossum

[ここをクリック](インタビューの最後の3分の1を聞いてください)

これが役に立ったと思いますか?または少なくともGoogleがAppEngineにそれを選んだ理由は?

もちろん、djangoコミュニティ(開発者を含む)は多くのことを正しく行っています。例(リンクの一部の分析):

モジュール性の向上: [ここをクリック]

キックアスのドキュメント ここをクリック

コミュニティには、私がまだ指を置いていない、人々に貢献したいと思わせる何かもあります。 ここをクリック

もちろん、Djangoが外れ値になる原因はすべて、 ここをクリックしてください。

Djangoの人気に疑問の余地はありません。


1
この答えは、他の人が提供していないビットを提供すると思います。そのコメントのために、多くの人が盲目的にDjangoに入りました。
ホルヘバルガス

Guidoがそれをそのように説明するとき、盲目的にそれをすることに何も悪いことはありません。私はそうしました、そしてそれ以来決して振り返りませんでした。
アップ。

3

私の場合、TurboGearsの本を購入し、その矛盾と無計画なルートで物事を説明するのに苦労しました。それから私はDjangoの本を手に入れました、そして出来上がり!私の最初の有料プロジェクトは、本のサンプルプロジェクトを進めながら作成されました。これに加えて、オンラインドキュメントが取引を成立させました。私にとって、それは単純でした:ドキュメント、ドキュメント、ドキュメント。


2

Pythonで同等のRubyonRailsとして宣伝されることがよくあることに気づきました。また、Googleとの接続もあります(GoogleはDjangoイベントをホストし、App Engineでサポートしています)。グーグルによって承認されているウェブフレームワークは何かに値する必要があります。:)


2
もちろんですが、GAEはプロセスのかなり後の段階で登場しました。そして、Djangoはすでに人気がありました。
Sridhar Ratnakumar 2009年

1
@ Sridhar、うん-私は私の答えで両方の点を指摘しました:GAEはDjangoに発表日に大きなバンプを与えました...しかし、それは着実な成長傾向の上にありました。
Alex Martelli

2

少なくとも私にとって重要な要素は、サイモン・ウィリソンとエイドリアン・ホロヴァティが「Web標準」シーンですでに有名なプレーヤーであり、後にジェフ・クロフトであったことです。

これは品質シールであるだけでなく、HTTP、マークアップ、さらにはPHPから来た人々が慣れ親しんでいた、迅速で汚い「印刷デバッグ」方法を尊重することで、Djangoを非常にWebフレンドリーにしました。

私はここでひどく間違っているかもしれません。これをバックアップするデータはありませんが、Java / .NETから多くの変換を取得したRailsとは対照的に、DjangoはPHPからの人々からより多くの牽引力を得たと感じています。

他の人がすでに述べたように、ドキュメントは平均をはるかに上回っています。私が覚えている限り、私が見た中で最高のもの。


0

すでにDjangoを使用している大量のサイトがいくつかあったという事実(つまり、lawrence.comなど)は、0。96日でも、安全に使用できることを管理者に納得させるのに役立ちました。PylonsやTurbogearsのようなものには実際にはありませんでした。


1
幸いなことに、当時は終わり、pylonsにreddit.comとsourceforge(ターボギア経由)が追加されました。
zzzeek 2009年

Pylonsはまだ1.0に到達していませんが、私が推測しているのは(チェックしていない)、DjangoのAPI安定性の約束が欠けていることを意味します。
Xiong Chiamiov 2009年

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.