Djangoを最も人気のあるPythonWebフレームワークにした一連のイベントは何ですか?他にもいくつかのフレームワークが存在しますが。
注:この質問は、論争的でも対立的でもありません。実際の人気につながる(客観的な)「一連の出来事」を求めただけです。ソフトウェアの受け入れのダイナミクスを認識しているので、私は誰もが技術的な優位性について議論するつもりはありません。
Djangoを最も人気のあるPythonWebフレームワークにした一連のイベントは何ですか?他にもいくつかのフレームワークが存在しますが。
注:この質問は、論争的でも対立的でもありません。実際の人気につながる(客観的な)「一連の出来事」を求めただけです。ソフトウェアの受け入れのダイナミクスを認識しているので、私は誰もが技術的な優位性について議論するつもりはありません。
回答:
いくつかの要因があったと思いますが、その組み合わせは個々の重みの合計よりも大きかったです。
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が最初のリリース以来見た人気の一貫した着実な成長の背後にある主要な要因だと思います。
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!-)は、必ずしもそのようなことを行う必要はないが、ほとんどの場合アプリケーションドメインに集中できる環境に「マインドシェアで投票」しています。私は彼らがおそらくポイントを持っていることを認めなければならないでしょう;-)。
len(keyword.kwlist)
例えば、型名等、Pythonでのキーワードはありません-
Djangoの人気の理由は3つ考えられますが、私が見る限り、他の回答ではそのうちの1つだけが取り上げられています。
ドキュメンテーション。それはよく構成され、包括的で、多くのスキルレベルから親しみやすいです。
設計。管理者、エラーページ、およびプロジェクトサイトの視覚的なデザインは、ほとんどのオープンソースプロジェクトで見られるデザインのレベルをはるかに上回っています。
コミュニティサポート。World Onlineのチームから始めて、Djangoは早い段階で影響力のある伝道者を何人かピックアップしました。JeffCroftのDjangofor Non-Developersのようなブログ投稿の重要性を誇張できるかどうかはわかりません(それがタイトルだったと思います)。
「私の個人的なお気に入り、そしてそれが長い間個人的なお気に入りであり続けることを期待しているのは、Djangoという名前のものです」-2006年8月4日に放送されたFLOSS週刊エピソード11のGuido Van Rossum
[ここをクリック](インタビューの最後の3分の1を聞いてください)
これが役に立ったと思いますか?または少なくともGoogleがAppEngineにそれを選んだ理由は?
もちろん、djangoコミュニティ(開発者を含む)は多くのことを正しく行っています。例(リンクの一部の分析):
モジュール性の向上: [ここをクリック]
キックアスのドキュメント ここをクリック
コミュニティには、私がまだ指を置いていない、人々に貢献したいと思わせる何かもあります。 ここをクリック
もちろん、Djangoが外れ値になる原因はすべて、 ここをクリックしてください。
Djangoの人気に疑問の余地はありません。
Pythonで同等のRubyonRailsとして宣伝されることがよくあることに気づきました。また、Googleとの接続もあります(GoogleはDjangoイベントをホストし、App Engineでサポートしています)。グーグルによって承認されているウェブフレームワークは何かに値する必要があります。:)
少なくとも私にとって重要な要素は、サイモン・ウィリソンとエイドリアン・ホロヴァティが「Web標準」シーンですでに有名なプレーヤーであり、後にジェフ・クロフトであったことです。
これは品質シールであるだけでなく、HTTP、マークアップ、さらにはPHPから来た人々が慣れ親しんでいた、迅速で汚い「印刷デバッグ」方法を尊重することで、Djangoを非常にWebフレンドリーにしました。
私はここでひどく間違っているかもしれません。これをバックアップするデータはありませんが、Java / .NETから多くの変換を取得したRailsとは対照的に、DjangoはPHPからの人々からより多くの牽引力を得たと感じています。
他の人がすでに述べたように、ドキュメントは平均をはるかに上回っています。私が覚えている限り、私が見た中で最高のもの。
すでにDjangoを使用している大量のサイトがいくつかあったという事実(つまり、lawrence.comなど)は、0。96日でも、安全に使用できることを管理者に納得させるのに役立ちました。PylonsやTurbogearsのようなものには実際にはありませんでした。
Djangoの経時的な人気(実際の質問ではないにしても、質問のタイトルの文字通りの意味)については、Googleトレンドをご覧ください。