導入されたPythonのWebフレームワーク

今日は、あなたがより簡単にWebアプリケーションの作成を支援するために、Pythonのフレームワークがたくさんあります。これらのフレームワークは、より迅速にアプリケーションを構築するための時間を作り、適切なモジュールを整理する(例えばソケットやプロトコルなど)細部への注意の一部を取ることはありませんので、フレームワークに必要。次に、私たちはさまざまなオプションをご紹介します。

Pythonは1980年代後半に始まりました。開発者は、セントラムWiskunde&インフォマティカのグイド・ヴァンロッサムあり、これはアムステルダムサイエンスパークに位置しており、数学とコンピュータ科学研究センターです。ヴァンロッサムは、Pythonの開発に非常に影響力のある人物となっている後。**生涯慈悲深い人(BDFL):実際には、コミュニティのメンバーは彼に名誉称号を与えました。

初期謙虚後、Pythonのは、インターネットで最も人気のあるサーバー側のプログラミング言語の一つとなっています。W3Techsは、統計によると、それはより多くのColdFusion、PHP、およびASP.NETよりも、多くの大規模なトラフィックの多いサイトで使用されています。ここではPython 2.0を実行しているサイトの98%以上、手術部位3.0のわずか1%以下。

フレームワークは、より簡単に開発することができます

今日では、より簡単にWebアプリケーションの開発を可能にするPythonのフレームワークの数が多いです。これらのフレームワークは、フレームワークは、すべての必要な機能を提供(例えばソケットやプロトコルなど)いくつかの詳細に注意せずに、あなたより速くアーキテクチャプログラムを作るために一緒にさまざまなモジュールを統合することができます。

2部構成の記事へのシリーズの最初の一環として、我々は、最も人気のあるPythonのフレームワークの一部をご紹介します。最も近代的なWebフレームワークは、サーバー側で実行されているが、いくつかは、(例えば、Skulptや小物用)、クライアント上で実行することができ、クライアント側のコードと組み合わせてフレームにしようとし始めたがあります。Pythonのフレームワークは、通常完全かつ部分スタックフレームスタックフレームに分割されます。すべての技術的、非フルスタックフレームワークのデータベースへのユーザーからのフルスタックフレームワークの設計経験は、開発全体の技術のすべてが含まれていません。

また、非フルスタックフレームワークに属しマイクロフレームワーク、が、より軽量でもあります。いくつかのケースでは、マイクロフレームワークは、より適切な、時にはフルスタックフレームワークを使用するためです。記事の第二部では、比較を行うためにフルスタックのフレームワークとマイクロフレームワークを持っています。

ジャンゴ

Djangoはおそらく、Pythonのフレームワークの中で最も代表的なものです。それはMMVCが、建築パターンに従ったオープンソースのフレームワークです。その名は、ジャンゴ・ラインハルト、フランスの作曲やギタリストから来て、多くの人々は、彼が偉大なギタリストだと思います。カンザスシティはローレンスジャーナル世界の新聞にローレンス島に位置していますが、2人のプログラマ、エイドリアン・ホロバティーとサイモン・ウィリソンを持って、彼らは2003年に開発されたときジャンゴ、Webアプリケーションを開発するための新聞。

Djangoはテンプレートエンジンを内蔵するだけでなく、OOTBで人気Jinja2のエンジンをサポートします。また、それは単純なマッピング複雑なURLを介して行うことができ、URLの規則的な分布をサポートしています。

ジャンゴの利点の1つは、唯一インストールするための個別のインストールパッケージが必要です。いくつかの他の同様のフレームワークは、作業を開始するためのコンポーネントの多くをダウンロードする必要があります。また、Djangoはまた、通常ショートボードですオープンソースプロジェクトのための更新されたドキュメントを維持するために完璧。それは堅牢なフレームワーク、コミュニティからも統合プラグインや拡張機能がたくさんあります。その非常に包括的なドキュメントやチュートリアルから見ることができますよく組織、プロジェクトのルックス、後ろのコミュニティ。

TurboGearsの

TurboGearsのは、SQLAlchemyの、WebObに関する、Repoze、原始など、いくつかの著名なPythonのプロジェクトをかけて構築されたフレームワークです。ある意味では、TurboGearsのは、一緒にもっと確立オープンプラットフォームを接着されています。そしてDjangoは、それはMVCアーキテクチャを採用しています。最近、それはまた、それがマイクロフレームとして使用することができるように、「最小パターン」を含みます。

ケビンDangoorによってTurboGearsのは、2005年に開発しました。彼は、オープンソースプロジェクトとして、その年の9月に、それを公開します。2013年に、プロジェクトの開発者は、Python 3をサポートするために移行するために、それらを一度Pylonsのコードを書いて放棄しました。TurboGearsの利点は次のとおりです。

支持体は、凝集
強力なオブジェクトリレーショナルマッパーの
取引システムを間マルチデータベーストランザクションをサポートし
、マルチデータベースのサポート
テンプレートとして再利用可能なコードの断片と
非標準部品のドッキングに多くの柔軟性を持つが、
断片化のサポート
、設計者のためのそれを容易にするためにテンプレートシステムを

いくつかの欠点は、TurboGearsの、より基本的な管理機能、少数のサードパーティ製のアプリケーション、および唯一の一次資料が含まれています。大きな課題は、その圧倒的なTurboGearsのです。他のミックスのコンポーネントとは一致しているので、それはあまりにも複雑になっているタスクを完了するためにどのパス決定しようとするときには、無限の柔軟性を提供します。

web2pyの

web2pyは、開発者がすぐにダイナミックでインタラクティブなWebサイトを作成することを可能にするオープンソースのフレームワークです。その設計目標は、例えば、開発を遅らせるリピートプログラミング作業の大多数を排除する基本的なフォームを作成することです。もともとのツールとして開発されました。次いで、レール上ジャンゴとRubyを模倣、Ruby on Railsのは、Rubyのためのフレームワークです。TurboGearsのように、それはMVCアーキテクチャを採用しています。

ソースコードの先頭には、マッシモDiPierroによって2007年にオープンしています。その時、それはエンタープライズのWebフレームワーク(EWF)として知られていました。名前の競合が原因で、それは数回にわたりオンにする名前で、現在のバージョン1.16の最後には、web2pyのに決定されます。アプリケーションは、web2pyのを使用して開発することMovucaコンテンツ管理システム、音楽サイトNoobMusic、LinkFindrと呼ばれるネットワークの診断ツール、およびインスタントプレスのブログプラットフォームを含みます。2011年に、web2pyは、最高のオープンソース・ソフトウェアの開発と名付けBossie賞を受賞しました。来年、しかし利益イヤー賞のInfoWorld誌のテクノロジー。

ジャンゴと同じように、web2pyはまた、文書の広い範囲を持っています。新しい開発者および上級開発者は自由ハンドブック完全な開発ダウンロードすることができます。

いくつかの利点は、前記のweb2pyの:

使いやすい-フルスタックのフレームワークとして、それは働くことができる堅牢なために他人に依存することなく、簡単にダウンロードしてインストールし、それを使用することができたら、インストールして、すべての構成ファイルを使用せず、学習し、配備します。開発者はデータベース、WebベースのIDE、強力なWebサーバと複数のコアAPIオブジェクトを取得します。
優れた安全性--Web2pyテンプレート言語も(攻撃CSRF)クロスサイトリクエストフォージェリ攻撃を防ぎ、あなたはSQLインジェクションを防ぐために、フォームを作成するときに、クロスサイトスクリプティング、抽象化レイヤのフォームフィールドの検証チェックを使用して、ハッカーのリスクを低減します。セッションは、ブラウザのクッキーまで台無しに悪役を防ぐために、サーバー上に格納され、各パスワードハッシュが格納された後。

web2pyはいくつかの欠点があります。

定期的に使用管理インタフェースが容易なことではない
に権限を持っていないインタフェースを管理する
組み込みのユニットテストのサポートなし
の迅速な開発スピード、すべての機能がデフォルトの動作、フォームが自動的に生成され、高レベルのウィジェットやWebアプリケーションを持っていますグリッドが構築されています。

フラスコ

フラスコは、PythonベースJinja2のマイクロWERKZEUGフレームワーク、および他の同様のフレームワークであり、それはBSDは、フリーソフトウェアのライセンス制限の少ないライセンスされています。サイトのフラスコ使用はLinkedInのLinkedInにPinterestのが含まれます。フラスコは、次の特性があります。

内蔵ユニットテストのサポート
テンプレートJinjia2
多数の文書
の安全なクッキーの使用してクライアントのセッション
開発サーバとデバッガ
RESTfulな要求
WSGI 1.0とは互換性の
ユニコードに基づいて
多くの拡張フラスコは、目標は、フラスコを与えない2010年に生まれた若いフレームワーク、ですプログラマは制限を課し、あなたがあなた自身のデータベースオブジェクト・リレーショナル・マッピングを使用することができ、他のコンポーネントがこのマイクロフレームワークの意思である私の意見では、テンプレートエンジン、ミドルウェア、セッション、プロジェクトを必要としていました。私はあなただけの単純なRESTのAPIをしたい場合はいない小規模なアプリケーションは、当然のことながら、その後、当然のフラスコは、良いことができませんでしたしなければならない、経験豊富な開発者のためのより適切な、このフラスコのフレームワークのように言いたいです。

ボトル

瓶(ボトル)と同じフラスコ、ボトルサーバは、ゲートウェイインターフェース(WSGI)ネットワークフレームです。文書として、それはPythonの標準ライブラリ外の任意のライブラリに依存しません。それだけで最小のツールから起動する場合には、2009年にそれを書いマルセルHellkampは、テンプレート、ルーティングとWSGI抽象化層を含みます。基本的な機能とWeb APIを作成するには、単純なアプリケーションやWebサイトを構築するための柔軟性を探しているプログラマにとって、この小型で強力なフレームワークが優れています。

その利点は次のとおりです。

内蔵の高速テンプレートエンジンとJinja2のは、マコとチーターがサポート
ツールのクッキー、フォームデータ、タイトルを大量にアップロードするためにアクセスすることができ、およびその他のメタデータの
サポートfapws3、Google App Engineの、ビルトインHTTPサーバのCherryPyPaste開発
サポート動的URL

もう一つの利点は、システムの依存関係を気にすることなく、より大きなアプリケーション・プログラムに組み込むクラックするコンパクトかつ容易であることであるボトル。あなたは、シンプルでクリーンで高速なフレームワークをしたいと、それは小さなアプリケーションを作成するには、あまりにも多くの冗長性を持っていない場合、ボトルはあなたのために右です。

マルチフレーム

信じがたいが、これらは、開発者の数十のほんの一部ですがすることは、Pythonのフレームワークを使用することができます。Python.orgは、ジャンゴ、TurboGearsのを報告し、完全なweb2pyは最も人気の高いオプションです。我々は小型フレームの2つの高度なフォームを加え最適化フレームワークの包括的なビューを提供するために。他のフレームワークの情熱的な信者はピラミッド、web.py、ボボ、アホウドリ、とCherryPyに含まれています。

右の適合の選択を見つけます

右側のフレームを選択すると、それは、スタンドアロンのアプリケーション、カスタマイズされた、コストに対する需要のレベル、および他の多くの要因であるかどうか、プロジェクトの規模、その通信ニーズに依存します。同様に重要なことは、それが作業のあなたの個人的な方法に合ったフレームワークに依存していることです。これらのプロジェクトを検討し、その最新バージョンをダウンロードしてください。主要な旅行を計画する前に、必ず、適切な車両でそれを開こうとします。
その他の特権操作

さて、今日は、知識以上のものです、私はあなたが、これはこの基盤の基本であることを覚えて願っています。書き込みはそれで、我々は、少なくとも見て、簡単ではありません。困惑友人がコメント欄に尋ねた、私がしようとすると答えますがあります。1084028245:小さなに関心のあるパートナーは、一緒にああ私のQQグループの研究を追加することができます。私たちの次のさよなら!

リリース8元の記事 ウォンの賞賛1 ビュー138

おすすめ

転載: blog.csdn.net/weixin_46606335/article/details/105258154