web2pyに比較的慣れてきたので、Djangoを試してみたいと思います。
主な違いは何ですか?
web2pyの知識を考慮に入れて始めるための最も効率的な方法は何でしょうか?(Pythonアプリケーションフレームワークの知識があると役立つはずですよね?)
編集
また、両方を使用したことがある場合、どちらを好むか、そしてその理由について意見を述べていただけますか?
web2pyはDjangoに非常に触発されており、一方を知っていれば、もう一方を簡単に学ぶことができます。Djangoにはない機能をいくつか追加しました。これには、データベースの移行(テーブルを自動的に変更する)、エラーのチケット、WebベースのIDE、Google App Engineで動作するデータベース抽象化レイヤー、プラグイン可能なログインを備えたロールベースのアクセス制御メカニズムが含まれます。モジュール。
基本的な設計上の違いの1つは、Djangoではアプリがモジュールとして実装されているため、編集するときにサーバーを再起動する必要があることです。代わりにweb2pyでは、モデル/ビュー/コントローラーはモジュールではなく、フレームワークによって実行されます(インポートされません)。したがって、変更時にサーバーを再起動する必要はありません。
もう1つの違いは、DjangoはORMを使用し、web2pyはDALを使用することです。DALはDjangoORMよりもわずかに低いレベルであり、これにより、移植性を維持しながら(たとえば、左結合、任意の集計、ネストされた選択、およびそれらの組み合わせを許可する)SQL構文に近づきます(10の異なるデータベースをサポートします)。DALを使用すると、モデルの動的メタプログラミングも簡単に実行できます(XMLやCSVファイルなどのファイルに保存されている仕様に基づいて実行時にモデルを作成するなど)。
Djangoはずっと前から存在しているので、Djangoに熟練した人が増え、より多くのアプリケーションがデプロイされています。
ジャンゴ=古い
Web2py = 新しい
Django が行うものは何でも、web2py の方が優れています。これは、web2py が django よりもずっと後に作成され、Django の過ちから学んだためです。ただし、すべての新しい過ちを犯します ;)
主な違いと、私を web2py に留めているもの:
Django には信じられないほどのドキュメントがあります...web2py は非常に直感的であるため、それほど多くは必要ありません...しかし!私は、Django のドキュメントの大部分が web2py に適用できることを発見しました。1 日かけて django の本 (Ch 1-7) を読むと、それがどのように真実であるかがわかります。したがって、ある意味で、Django の方がドキュメント化されていると言うのは馬鹿げています。また、そのためのドキュメントの量について良いこととして話し合うフレームワークに注意してください...心配してください...ドキュメントは優れており、最初から何も必要としません=より良いです。Web2py の既存のドキュメントは、ユーザーの 90% のニーズを十分に満たしています。残りの 10% は、フレームワーク ライブラリ コードを確認する必要があります (Django ほど多くはなく、怖くもありません)。また、ライブラリ コードの処理に 30% 以上の時間を費やしている場合は、フレームワークから離れて、ライブラリのコレクション (pylon など) に移行する時期です。
Django の SQLForm は TextModel です。TextModel (=SQLForm) を使用してフォームを作成したら、1 つの入力フィールドの CSS を変更してみてください。web2py では form.element() を実行するだけで、Django ではそのようなことはありません。「widget()」を通過する必要がありますが、ウィジェットに到達するには、最初に入力フィールドのタイプなどを通過する必要があります...
また、手動の DB 移行...スキーマを変更しますか? 申し訳ありません...別の移行アプリ (南) をダウンロードしてインストールするか、DB コンソールで手動で行う必要があります。
最後に、すぐに使える複数の DB のサポートはありません...フープを考えてください...
言い換えれば... Django で... ジャンプとフープが好きだといいのですが。
本当に web2py から飛躍したい場合は、Pylons を試してください...真剣に...
web2py の最大の欠点は、古くてコード ベースが小さいことです...ただし、Django が RAILS スタイルの RAD アイデアを実装した最初の Python Web フレームワークであり、web2py の 2 倍の年齢であることを考えると、これは不合理ではありません。Web2py はまだアーリー アダプターの段階にあります... Django は衰退しつつあるクリティカル マスを超えた部分にあります... web2py は、今後 2 年間でいつでもクリティカル マスに到達するはずです。
結論 1 日かけて、django の本 (ch 1-7) を読み、Pylons の本 (パート 1) を読んでから、そもそもフレームワークを使用する理由を考えてください。私にとっては、可能な限り多くのことをできる限り迅速に行うことであり、30% の時間はドキュメントを参照する必要がありませんでした。
Web2py は私にとって上記のニーズを満たしています。
私は完全に Django で、その後完全に web2py で小さな社内 Web アプリを作成しました。違いと開発者エクスペリエンスへの影響を本当に理解する唯一の方法です。
Django よりも便利な機能が環境に組み込まれているため、私は web2py を好みます。web2py には下位互換性が保証されているため、新しいツールが数年後に web2py を時代遅れにする可能性は十分にあります。それが通常のやり方です。
いずれにせよ、これらは互いに非常に近く、2 つのいずれかに比べて他のどの Web フレームワークよりもはるかに近いものです。たとえば、Java ベースの Web フレームワークの観点からは、それらは互いにほとんど同じに見えるかもしれません。
Python フレームワークの知識があると間違いなく役に立ちます。
開始する最も効果的な方法は、モデル、ビュー、コントローラー、URL ディスパッチ、テンプレート、フォームなど、2 つの異なるセクターを比較することです。
これは、いくつかのフレームワークの優れた比較の 1 つです。きっと役に立ちます。
私は web2py に落ち着く前は Django プログラマーでした。おそらく賢明なデフォルト(暗黙のインポート、デフォルトビューなど)とフォーラムでの優れたサポートのおかげで、web2pyでより効率的であることがわかりました。