Pythonのテスト開発フレームワークジャンゴとフラスコ
よりよいこの問題を説明するために、我々は、アプリケーションプロセスのアナロジーを開発し、多くの場合、家を構築するプロセスと同じようにアプリケーション(Webアプリケーション、システム・アプリケーション)を開発、あなたが最初の煉瓦によって煉瓦そして、スケルトンの設定、地面をヒットする必要があります積み重ねます。
そのアプリケーションの開発?
また、我々は良い建築設計、データベースモデリング、そしてモジュールのモジュールコードが必要です。
開発者は、ソフトウェアアプリケーションフレームワークを使用していない、と私たちは、真夜中にすべてのレンガを構築している場合、すべての鋼は、自身が本質的に同じ生産が必要です。
明らかに、住宅の建設、れんがのすべての部分、すべての建物の前に、私たちは私たち自身の言葉を生成する必要があり、住宅の建設の効率は、おそらく寿命が良い家を建てることができない、非常に低いです。
フレームワークを使用してアプリケーション・システムを開発する場合、次のような利点をもたらすことができます:
図1は、大幅に開発効率を向上させます。
2、強い展開し、より多くの標準化されたアプリケーションを開発するように。
図3は、プログラマは、ビジネスロジックに集中ではなく、複製することができ、そして(等ウェブサーバ、基礎となる実装、など)の複雑なインフラストラクチャ環境。
第二に、なぜジャンゴやフラスコのフレームワークを使うのか?
1、世界でPythonプログラミング言語、最も強力な、二つのフレームの中で最も人気のあります。
図2に示すように、バックエンドのWeb開発において、マイクロサービスの開発だけでなく、その他のERPシステムの開発、APIインターフェイスの開発の分野では、これら2つのフレームワークが広く使用されています。
ジャンゴとフラスコとの間の第3の差
◆アナログ画像
あなたの家のジャンゴ洗練された装飾のような場合には、豪華な家具が付いています、非常に完全かつ強力な家電製品は、すべて、バッグチェック、非常に便利です。
ラフ住宅に似たフラスコは、家具自身の機器を購入、自分で材料の種類に改装された家を所有したかったです。
材料や家具の種が非常に豊富、そして自由のために容易に入手可能であるが、過去を取得するために直接使用することができます。
体重の違い◆
フラスコ:、コンパクトで柔軟、そしてプログラマは、小規模サイトのための理想的なカスタマイズしていますかを決定することができます。
通常の労働者のために、都市の改装ラフ団地はまだ非常に面倒で、フラスコは、あまりにも、大規模な開発の難しさを大規模サイトを開発するために使用し、それは自身のコードの構造設計を必要とし、開発コストは、開発者の能力や経験に依存します。
Djangoは:大規模かつ非常に強力な、PythonのWebフレームワークのパイオニアである、マルチユーザーは、サードパーティのライブラリは非常に豊富です。
非常にエンタープライズレベルのWebサイトの開発に適した、しかしマイクロのための小規模なサービスのために、常に感じ、大きな体の質量、非常に肥大化し、カスタマイズフラスコの無い高い、またとして柔軟フラスコ「何のためのチョッパ虐殺鶏」があります。
◆例
フラスコを完了するために使用します。
最初のステップは、フラスコをインストール、フラスコをインストールPIP
次に、次のコードを追加し、my_first_app.pyファイルを作成します
最も簡単なHello Worldの機能を完了し、フラスコは非常に簡単で便利な、コードのわずか7行が必要です。
完了するために、ジャンゴを使用します。
最初のステップは、ジャンゴをインストールすると、DjangoをインストールするPIP
次に、プロジェクトディレクトリ、ジャンゴ管理者startprojectmyprojectを作成
第三のステップは、サブアプリケーションを作成することで、Pythonのmanage.pyのstartappmyapp
第四段階、myappアプリケーションディレクトリ内views.pyファイルを、次のコードを追加します。
第五のステップは、アプリケーションが常駐ルーティングのurls.pyディレクトリのMyAppにファイルを作成し、次のコードを追加します
第6のステップは、メインルーティング・ファイル内のルートを追加します。
多くの場合、単純に、以下のコードをフラスコ、同じ機能を実現するために、上記の手順から見ると、プロセス内のより複雑Djangoは、明確なプロジェクト構造は、大規模なプロジェクトでの利点を有しています。
あなたはWSGIプロトコルの原則のPythonのWeb開発と実現を知って取得したい、またはあなたが柔軟性がコンポーネントをカスタマイズしたい場合は、完全にDIYアプリケーションはマイクロサービスを実現したいと考えています。あなたがフラスコを選択することをお勧めします。
あなたが製品の最終的な配信を懸念している場合、我々はすぐに(たとえば、ニュースサイト、ショッピングモール、ERPなど)大規模なアプリケーションを開発したいです。それはまた、予想外の特徴を持っている、あなたはそれが持っている機能を取得したい、あなたはジャンゴを選択することをお勧めします。
第五に、どのようなフレームワークを学ぶために
1は、我々はフレームワークの基本を学ぶ必要があり、基本的な実装原理
ビジネスロジックと理解をコードする能力を高めるために、実践的なプロジェクトと組み合わせる2、
3、ソースコードのフレームワーク、ソース(アドバンスト)の本質の深い理解を見て
フラスコ:
1:軽量Webフレームワーク、唯一のカーネルがあり、デフォルトは2つの外部のライブラリに依存しています:Jinja2のテンプレートエンジンとWERKZEUG WSGIツールセット、自由、柔軟性、スケーラビリティ、開発者は、ホイール自身の需要を作成することができます
2:行うに適用します小規模サイトとAPI Webサービス、圧力のない大規模なサイトの開発、アーキテクチャは、設計する必要がある
3:リレーショナルデータベースと組み合わせた非データベースはジャンゴよりはるかに優れているとのジャンゴよりも弱いではない、と組み合わせた
ジャンゴ:
1:ヘビー級のWebフレームワークは、機能および開発者は、選択したアプリケーションに多くの時間を費やすことはありませんできるように、アイデアにワンストップソリューションを提供
2:神社をサポートして独自のORM(オブジェクト・リレーショナル・マッピングオブジェクトの関連マッピング)とテンプレートエンジンおよびその他の非公式のテンプレートエンジン、柔軟性が高くない
3:DjangoのORMとリレーショナルデータベースのカップリングが付属していますが、あなたが非リレーショナルデータベースを使用したい場合は、サードパーティのライブラリを使用する必要があり、高すぎる
4:データベースの管理は、App来る
5:成熟しました、総閉鎖フラスコに比べて高効率の安定的な発展は、Djangoは優れている、エンタープライズレベルのWebサイトに適した開発
6:パイオニアPythonのWebフレームワークは、サードパーティのライブラリの豊富な
7:簡単に始めるために、詳細なドキュメント、完全な、有益を開発します
---------------------
(1)フラスコ
フラスコは本当に「光」、マイクロフレームワークは、Djangoのステアリングフラスコの開発者から確かであるが、さらに使用されていない限り、どちらも、このような感じになり
、多くのサードパーティのライブラリのフラスコの自由度、柔軟性、拡張性、選択肢をあなたは開発に自分の好きな車輪を組み合わせることができ、また一般的で強力なPythonライブラリを組み合わせるために
エントリがシンプルで、でもない多くのWeb開発経験あれば、すぐにサイトにすることができ
小さなサイトのための理想的には
、Webサービスの開発のために非常に適していますAPI
圧力なしで大規模なサイトを開発するが、コードは、独自のアーキテクチャ設計を必要とし、開発コストはの開発者の能力や経験に依存して
、パフォーマンスのさまざまな側面に等しいか、Djangoのより良い
Djangoの独自またはサードパーティの絶賛をフラスコに備えています同様に、常にサードパーティのライブラリを見つける
フラスコ柔軟な開発を、Pythonは基本的なフラスコを習得したいと思いますが、Djangoが混合してもよい
フラスコリレーショナルデータベースと組み合わせて使用のNoSQLデータベースとの連携が遠く離れている間に、ジャンゴよりも弱いではありませんジャンゴよりも良い
ジャンゴよりフラスコよりPython的、およびPythonの哲学は、より一貫性がある
(2)ジャンゴ
Djangoは重すぎる、Webフレームワークに加えて、ORMとテンプレートエンジン、柔軟性と自由が付属して十分に高くない
Djangoは小さなアプリケーションを開発することができますが、常に感じて「やり過ぎ」が存在します
DjangoのORMは、包括的な、非常に良いが付属していますSQLAlchemyのよりわずかに高い評価を
使用して簡単に付属していますが、少し小さい神社の程度の強力かつ総合的な評価Djangoのテンプレートエンジン
あなたはMongoDBはNoSQLのデータを使用したい場合はDjango DjangoはORMは、リレーショナルデータベースと連結されていますので高すぎる、と、適切なサードパーティ製のライブラリを選択する必要があり、とDjango + SQLの全体的な感じがミックスから生まれた、ジャンゴ+ NoSQLのは、ジャンゴの半分に切断
Djangoは現在、神社のテンプレートエンジンをサポートしており、他の非公式
Djangoの独自のデータベース管理アプリが大絶賛します
Djangoは、エンタープライズレベルのWebサイトの開発のために非常に適している:高速で信頼性の高い、安定した
Djangoの、成熟し安定した、完璧な、しかしフラスコに比べて、Djangoの全体的な生態系が比較的閉じ
ジャンゴPythonのWebフレームワークは、パイオニア、マルチユーザー、豊かなサードパーティのライブラリがあります最高のPythonライブラリは、あなたが直接使用することができない場合Djangoは、だけでなく、対応する移植見つけることができるように
、Djangoは始めるのは比較的容易であるが 詳細に文書を送信し、完璧な、豊富な関連情報