11

データベース(できればmysql)バックエンドを備えたスケーラブルで保守可能なエンタープライズグレードのWebアプリについて、djangoとyiiのどちらかを選択しようとしています。アプリは主にデータ入力に焦点を当てていますが、カスタム ワークフロー (基本的な自動生成された crud フォームを超えて) とカスタム レポートを使用します。私は CS のバックグラウンドを持ち、MVC に精通しており、C++、C# でのプログラミングのバックグラウンドを持っています。8 年前に php、mysql、perl/cgi を使用して同様のアプリを作成しましたが、苦労したことを覚えています (急な学習曲線でゼロからすべてを行う)。python または php の構文をもう一度学習する必要がありますが、言語はすぐに習得できます。django と yii について、オンラインで広く読んでください。オープン ソースが必要なため、.net mvc ルートに進むことはできません。RoR に手を出して、言語を愛していましたが、特に製品グレードのアプリの場合、まだ起こっている魔法にあまり慣れていません。将来的になる可能性があります。

決定要因は次のとおりです
。1) 学習曲線がより簡単
になる 2) 必要な特定のタスクに適したフレームワーク - 重いデータベース操作、カスタム UI フロー (gfx を多用するものはなく、通常のフォーム要素だけですが、複数のテーブルでデータを操作する必要がある場合)ジョインなど)
3) db 接続に関する厄介な驚きはありません (django orm と mysql のすべての落とし穴を読んでも完全には理解していません)。
4)基本的なことについてフレームワーク/言語と戦っていないもの
5)スケーラブルで高速な実行時間(1人のアーキテクトがソリューションをどのように構築するかに大きく依存することを私は知っています)

ご意見をお聞かせください。両方のフレームワークでの作業に精通している誰かからの助けを探しています。どうもありがとう

4

4 に答える 4

12

これが古いことはわかっていますが、両方のフレームワークを使用したので、これに追加できると思います。

Yii は堅牢で高速なフレームワークです。特定の機能 (クロスサイト リクエスト フォージェリ保護など) がデフォルトで有効化または強制されていないため、そのままでは Django ほど安全ではありません。私にとって最大の利点は、組み込みのコード ジェネレーターでした。これを理解して使い始めると、基本的にフル機能の CRUD アプリケーションが数分で作成されます。

Python が Django の唯一最大の利点であるため、Django を選択したフレームワークです。私は実際にこの言語が好きですが、Python のクリーンなオブジェクト指向性 (一言で言えば?)、クラスの継承などは、Django のようなフレームワークで真価を発揮します。Django にはコード ジェネレーターが組み込まれていませんが、これは開発者が意図的に選択したものです。それが強みでもあり弱みでもあります。Yii のコード ジェネレーターは、本当にフレームワークを学ぼうとしている場合には、ちょっとした支えになるかもしれませんが、Django では、それがどのように機能するかを学べば、何でも変更することができます。フレームワークをよく学ぶ。Yii を使用すると、生成されたコードがあり、カスタマイズを行う必要がある場合、すぐにフレームワークと格闘し始める可能性があります。

Django の ORM は非常に柔軟です。私自身 SQL の専門家であり、自分のアプリケーションで生の SQL を一度だけ使用したことがあると思います。Yii のものはかなり優れていますが、私はこの点でも Django に力を入れています。Django のものは非常によく文書化されています。

私の経験では、Yii のインストールは Django よりもわずかに簡単です。Django を起動して実行するには、もう少し手間がかかります。Django のチュートリアルは、少なくとも私が始めたときは、Yii のチュートリアルよりもはるかに強力です。

于 2013-08-22T17:33:58.977 に答える
9

私の提案は Django です。Django のフォームはクラスであり、私が過去 16 年間に取り組んできたすべてのフレームワーク (従来の ASP から .NET、Rails、Java に至るまで) の中で、Django のフォームの実行方法をそれらのいずれにも当てはめます。

South では、スキーマとデータの移行が驚くほど簡単になります。

MySQL よりも Postgres を使用することをお勧めします。特に、Django ORM を利用する場合は、Postgres 用に微調整されているためです。Django admin は必要なく、MySQL を使用する必要がある場合は、SQLAlchemy と Alembic を検討してください。

Django の学習曲線は非常に平坦です。学ぶのは信じられないほど簡単で、非常によく文書化されています。

私の0.02ドル。

于 2013-04-04T18:13:22.570 に答える
2

両方のフレームワークの比較を次に示します...

http://blog.leehsueh.com/2010/03/django-vs-yii/

http://vschart.com/compare/yii/vs/django-framework

于 2013-04-04T17:46:37.310 に答える