ホームページ >バックエンド開発 >Python チュートリアル >37 の Python Web 開発フレームワークの概要
Q: Web フレームワークとは正確には何ですか? A: Web フレームワークは主に Web サイトの開発に使用されます。開発者は、Web フレームワークに基づいて独自のビジネス ロジックを実装します。 Web フレームワークは多くの機能を実装し、ビジネス ロジックを実装するための共通の方法を提供します。
#Q: Web フレームワークの役割は何ですか? A: Webフレームワークを利用することで、ビジネスロジック以外の多くの機能を自社で改良する必要がなく、フレームワークの既存機能を利用することができます。 Web フレームワークは、Web サイト開発時の作業負荷を軽減します。
#Q: Web フレームワークを使用する必要があるのはなぜですか? A: Web フレームワークは主に Web サイト開発に使用され、データのやり取りを実現し、ビジネス機能を向上させることができます。 Web フレームワークを Web サイト開発に使用する場合、データ キャッシュ、データベース アクセス、データ セキュリティ検証などの点で Web フレームワークを自分で再実装する必要はありません。代わりに、ビジネス ロジック関連のコードをフレームワークに書き込むことができます。ライブラリの並べ替えは、参照としてユーザー数とドキュメント アクティビティの
に基づいています。 次の理由により、上位のフレームワークを使用することをお勧めします。ドキュメントはより完全で、より多くのテクノロジーが蓄積され、より豊かなコミュニティがあり、より良いサポートを受けることができます。 このようにして、解決できない問題に遭遇したときに、より迅速かつ効率的に解決策を見つけることができます。 1. Django フレームワーク
公式 Web サイト:
https://www.php.cn / link/f1903f234d3ba4da38a18aa25751457d ## 利点: これは、高速な開発、少ないコード、および強力なスケーラビリティを特徴とする、高レベルの Python Web 開発フレームワークです。 Django は MTV (モデル、テンプレート、ビュー) モデルを使用してリソースを整理し、豊富な機能とほとんどのテンプレート拡張オプションを備えたフレームワークです。専門家にとって、Django は間違いなく Python の No.1 Web 開発フレームワークです。
欠点: 軽量アプリケーションには必要のない機能モジュールがいくつか含まれており、Flask ほど軽量ではありません。多くのクラスやメソッドを過剰にカプセル化すると、それらを直接使用するのは容易になりますが、変更するのはより困難になります。 C や C のパフォーマンスと比較すると、Djang のパフォーマンスは低いです。テンプレートはコードとスタイルの完全な分離を実現しますが、Python コードをテンプレートに含めることはできず、柔軟性が十分ではありません。さらに、学習曲線は比較的急勾配です。
2. Flask フレームワーク
公式ウェブサイト:
https://www.php.cn/link/d12f3b5c457a92abbc87939406df183f利点: Flask は Python Web 開発用のマイクロ フレームワークですが、厳密に言えば、Web サーバーのサポートのみを提供し、フルスタック開発のサポートは提供しません。ただし、Flask は非常に軽量でシンプルなので、これをベースにした Web システムを構築するのに数分かかるため、小規模およびマイクロ プロトタイプ システムの開発に特に適しています。費やす時間を短縮し、使用可能なシステムを作成するには、非常に費用対効果の高い選択です。 欠点: 大規模な Web サイト開発の場合、ルーティング マッピング ルールを設計する必要があります。そうしないと、コードが混乱してしまいます。初心者にとって、低品質のコードを使用した「質の悪い Web アプリケーション」を作成するのは簡単です。
##3. ピラミッド フレームワーク
##公式ウェブサイト: https://www.php.cn/link/9ec0cfdc84044494e10582436e013e64
欠点: 中国ではあまり知られていないため、高度な使い方をするには、ソースコードを読んでインスピレーションを得る必要があります。デフォルトで使用される Chameleon テンプレートでは、柔軟性は重要ではありません。
##4. web.py フレームワーク
公式ウェブサイト: https://www.php.cn/link/8d4112ce0aabe7aeef422c136a222624
利点: その名前が示すように、web.py は開発言語として Python を使用する Web フレームワークであり、シンプルかつ強力です。ロシアのナンバーワンの検索エンジンである Yandex は、このフレームワークに基づいて開発されています。Guido van Rossum は、これが最高の Python Web フレームワークであると信じています。他に言う必要はありますか?それを証明する事実があり、専門家がそれを承認しているので、それを使用してください。
短所: Web.py は、他のフレームワークとは異なり、Python 3 との互換性を備えた最新の状態に保たれていません。これは、非同期構文のサポートがないことを意味するだけでなく、非推奨の関数のバグがないことも意味します。さらに、Python 2 のサポート ライフサイクルが終了した後も、メンテナーが Web.py を最新の状態に保つ計画があるかどうかは不明です。
##5. Tornado フレームワーク
公式ウェブサイト:https://www.php.cn/link/76330c26dea62332de2ca7b4a9ef51ec
利点: Tornado は、非同期ネットワーク関数ライブラリに基づいた Web 開発フレームワークであるため、数万のオープン接続をサポートでき、Web サービスは効率的かつ安定しています。 Tornado は同時実行性の高い Web システムに適していることがわかりますが、開発プロセスでは Tornado が提供するフレームワークを使用する必要があり、柔軟性に乏しいため、シナリオを決めてから利用を検討しても遅くはありません。
短所: Tornado 5.0 では、Python のネイティブの非同期機能との統合が強化されています。したがって、Python 3.3 はサポートされなくなり、Python 3.5 ユーザーは Python 3.5.2 以降を使用する必要があります。 Tornado 6.0 では Python 3.5 以降が必要となり、Python 2 のサポートは完全に廃止されます。
6. TurboGears フレームワーク
公式ウェブサイト:
https://www.php.cn/link/ce1d2a5e1884a6c502a675dbd0d3928e
利点: TurboGears 最新このバージョンは、TurboGears、Django、Rails およびその他のフレームワークの初期バージョンの欠点を解決することを試みており、複数のデータベース、JavaScript ツール セット、複数のデータ交換形式などをサポートしています。それとジャンゴではどちらが優れていますか?何とも言えませんが、Django コミュニティがより活発になることの方が重要かもしれません。短所: TurboGears の短所には、基本的な管理機能、少数のサードパーティ アプリケーション、および初歩的なドキュメントが含まれます。 TurboGears の大きな課題の 1 つは、それがいかに圧倒的であるかということです。他のコンポーネントと組み合わせると無制限の柔軟性が得られるため、タスクを完了するためのパスを決定しようとすると非常に複雑になります。
7. CherryPy フレームワーク
公式ウェブサイト:
https://www.php.cn/link/29056bc4790af32aa8458e3fbc737485利点:
CherryPy It開発者は、他のオブジェクト指向プログラムと同様の設計方法に従って Web システムを開発できるため、最小限のコードと最も簡潔な方法を使用できます。 CherryPy は 10 年にわたって開発されており、安定性が高く、小規模な Web システムや純粋な Python プログラマに非常に適しています。あなたは何を感じる? Python には世界を支配する可能性があります。待ってみましょう。欠点: Web ページを提供するために必要な最小限のコンテンツのみを含むことに加えて、「Web フレームワーク」ではなく、他のタイプのようにできる限り感じられるようにする必要があります。 Python アプリケーション。 CherryPy には、低レベルの構成要素として機能するビットが含まれています。セッション識別子と Cookie の処理が含まれますが、HTML テンプレートは含まれません。 Bottle と同様に、CherryPy は静的ファイルを提供するためにディスク上のディレクトリにルートをマップする方法を提供します。
##8. Falcon Framework :https://www.php.cn/link/ff8c1a3bd0c441439a0a081e560c85fc 利点:Falcon はサポートです大規模なマイクロサービス API またはモバイル アプリのバックエンド応答のための Web 開発フレームワーク。完全に Python に基づいており、非常に高いパフォーマンス、信頼性、スケーラビリティを提供します。 Falcon は独自のポジショニングと特徴的な機能を備えています。アプリ開発者にとって、バックエンド システムを構築する際に Falcon を検討するとよいでしょう。十中八九、後悔することはありません。 欠点: Falcon の欠点は、ルーティング、ミドルウェア、フックを含むパッケージング モジュールが少し少なすぎることですが、それ以外にはその他の機能が提供されていないことです。関数(ベアシェル)。検証などの追加機能を使用するには、開発者が拡張機能を開発する必要があります。 REST API の構築に使用するように設計されているためです。
9. Asgineer フレームワーク https://www.php.cn/link/e22c686bc771d5872150738b15f3e533 Asgineer は A使いやすい API を提供しながら、可能な限り少ない抽象化を使用して非同期 Web アプリケーションを作成するためのツール。ガイドと参考資料を読むのに数分しかかかりません。 Asgineer を Uvicorn 上で実行する場合、これは利用可能な Web フレームワークの中で最も高速なものの 1 つです。 http ロング ポーリング、サーバー サイド イベント (SSE)、および WebSocket をサポートします。また、資産を正しい (そして迅速な) 方法で保守するユーティリティも備えています。 欠点: 10. ボトルフレームワーク 公式ウェブサイト: https://www.php.cn/link/7bd87e2f279ba0141a9795e201bf1a53 Bottle は高速、シンプル、軽量の WSGI です。マイクロネットワークフレームワーク。これは、Python 標準ライブラリ以外に依存関係のない単一のファイル モジュールとして配布されます。クリーンな動的 URL をサポートします。 mako、jinja2、cheetah テンプレートをサポートする、高速で Python の組み込みテンプレート エンジン。フォーム データ、ファイルのアップロード、Cookie、ヘッダー、その他の HTTP 関連のメタデータに簡単にアクセスします。 ボトル ミニマリズムの結果の 1 つは、一部の機能が単純に存在しないことです。 CSRF 保護などの機能を含むフォーム検証はサポートされていません。高度なユーザー対話をサポートする Web アプリケーションを構築したい場合は、それらを自分で追加する必要があります。 公式 Web サイト: https://www.php.cn/link/ffe10334251de1dc98339d99ae4743ba エレガントなコードを記述し、製品に焦点を当てます。基礎となるフレームワークではなく、製品により多くの時間を費やす必要があります。 Emmett は、学習と理解が容易なシンプルな構文で開発プロセスを簡素化するように設計されているため、発明者のフレームワークです。ルーターや不快なモードの間で時間を無駄にしないでください。アプリケーションのルートを書き留めるたびに、すべてが目の前にはっきりと表示されます。 欠点: 中国語のドキュメントが不足しています。 12. apidaora フレームワーク 公式 Web サイト: https://www.php.cn/link/c37a21223db1cda645af1264df751f7f #利点: 使用タイプアノテーションはリクエスト/レスポンスをデータ クラスおよびディクショナリとして宣言し、任意の ASGI サーバー上で実行できる最速の Python API フレームワークの 1 つである jsondaora を使用して入力データを検証します。 #欠点: 中国語のドキュメントが不足しています。 #13. Quixote フレームワーク 公式 Web サイト: https://www.php.cn/link/5f0453f78909173a7ce2eb874d2a7f52 ##利点: Quixote はPython を使用して Web ベースのアプリケーションを作成するためのフレームワーク。その目標は、順に柔軟性と高性能です。 Quixote アプリは、従来のアプリと同様に構造化される傾向があります。 Web ページをフォーマットするロジックは、Python のクラスと関数で構成されます。 Quixote は、プレゼンテーション ロジックと「バックエンド」ロジックの分離を強制しません。代わりに、伝統的な手法を使用することをお勧めします。たとえば、1 つの解決策は、プレゼンテーション ロジックを独自のサブパッケージに入れることです。 欠点: Quixote は積極的にメンテナンスされていますが、リリースの頻度はそれほど高くありません。最近の開発は、バグの修正、標準準拠の改善、および Quixote の柔軟性の向上に重点を置いています。 公式ウェブサイト: https://www.php.cn/link/4e0ccd2b894f717df5ebc12f4282ee70 これは本当ですは、開発者がすべて Python で Web アプリケーションを作成できるオープン フレームワークであり、唯一の開発言語として Python を使用していることが最大の特徴です。さらに、reahl は非常に明確で簡潔な開発コンポーネントを提供します。これは、一般的な機能 Web システムを開発するのに十分明確で実現可能です。 欠点:
#15.hug Framework 公式ウェブサイト: https://www.php.cn/link/e834cb114d33f729dbc9c7fb0c6bb607##利点: 欠点:
16. BlackSheep フレームワーク 公式 Web サイト: https://www.php.cn/link/47bd8ac1becf213f155a82244b4a696a 利点: BlackSheep は、Python Build を使用するための非同期 Web フレームワークです。イベントベースの Web アプリケーション。これは、Flask、ASP.NET Core、および Yury Selivanov の成果からインスピレーションを得ています。 欠点: 中国語のドキュメントが不足しています。 17. Index.py フレームワーク 公式 Web サイト : https://www.php.cn/link/374939012129c174e451f0f64be3bfea 利点: ASGI3 インターフェイスを実装し、ルート検索には Radix Tree を使用します。これは、最も高速な Python Web フレームワークの 1 つです。すべての機能は、高パフォーマンスの Web サービスを迅速に開発するために役立ちます。多数の正しいタイプの注釈、柔軟で効率的なルーティング システム、ビジュアル API インターフェイスおよびオンライン デバッグを備え、サーバー送信イベントと WebSocket をサポートし、ワンクリック デプロイメント コマンド (uvicorn および gunicorn に基づく) が付属しており、利用可能な ASGI エコシステム。 欠点: Index.py にはデータベース、キャッシュ、その他の機能が組み込まれていません。選択が難しい場合は、Django を直接使用してください。
18. Sanic Framework 公式ウェブサイト : https://www.php.cn/link/3b036b877a6a074d7dbfc706fe868c1d 利点:Sanic は、高速に作成できる Python 3.7 Web サーバーおよび Web フレームワークです。 Python 3.5 で追加された async/await 構文を使用できるため、コードがノンブロッキングで高速になります。このプロジェクトの目標は、構築、拡張、そして最終的には拡張が容易な高性能 HTTP サーバーを立ち上げて実行するための簡単な方法を提供することです。 欠点: Sanic は、ブループリント、小さなサブアプリケーションの概念を共有するなど、機能の点で Flask を模倣しており、開発者は次のことを可能にします。より大きなアプリケーション内でコードを分割して整理します。データの追加、削除、変更、クエリだけを行う CRUD アプリケーションの場合、Sanic は適切な選択ではありません。 19. Starlette フレームワーク 公式 Web サイト: https://www.php.cn/link/818cdcf067c824a4e34f9293de3b15a9 #利点: Starlette は A軽量の ASGI フレームワーク/ツールキットは、本番環境に対応したパフォーマンスの高い非同期サービスを構築するのに最適で、次のことを実現します。 優れたパフォーマンス。 WwbSocket のサポート。 GraphQLのサポート。進行中のバックグラウンド タスク。イベントの開始と終了。リクエストに基づいて構築されたテスト クライアント。 CORS、GZip、静的ファイル、ストリーミング応答。セッションとクッキーのサポート。 100% のテスト カバレッジ。 100% 型の注釈付きコード ベース。ハード依存性はゼロです。 欠点: Starlette は、基本的な Web マイクロフレームワーク機能をすべて提供します。ただし、自動データ検証、シリアル化、API ドキュメントは提供されません。 20. Fastapi フレームワーク 公式 Web サイト: https://www.php.cn/link/647a8664e3a3d945c87db2d07a6590c1 利点:FastAPI は、最新の高速 (高パフォーマンス) ) 標準の Python 型ヒントに基づいて、Python 3.6 を使用して API を構築するための Web フレームワーク。 NodeJS や Go と同等の非常に高いパフォーマンス (Starlette と Pydantic に感謝)。利用可能な Python フレームワークの中で最も高速なものの 1 つ。人間 (開発者) によるエラーを約 40% 削減します。短く、シンプルで、直感的で、堅牢です。 欠点: 自体にはテンプレート構文がないため、インストールする必要があります。 #21. レスポンダー フレームワーク 公式 Web サイト: https://www.php.cn/link/212ab20dbdf4191cbcdcf015511783f4 #利点: は kennethreitz によって新たに開発されましたプロジェクトは、Python に基づいた HTTP サービス フレームワークです。最下層は Starlette フレームワークを使用します。Starlette は軽量の ASGI フレームワーク/ツールキットであり、高性能の非同期 IO サービスを構築するために使用できます。 Starlette と比較して、レスポンダーは開発者にとってより使いやすいものです。 kennethreitz は、これを明確にするために「HTTP for Humans」と呼ばれるリクエストを作成しました。実際、比較すると、レスポンダーは Starlette よりもはるかにエレガントです。 欠点: は新しいプロジェクトである可能性があり、パッケージ化はまだ完璧ではありません。現在のバージョンでは、一部のコードがまだ正しく動作しません。ただし、インターフェイス フォームは定義されており、後のバージョンで追加される予定です。 22. Molten フレームワーク 公式ウェブサイト: https:/ / www.php.cn/link/b87039703fe79778e9f140b78621d7fb 利点:Molten は最小限で、スケーラブルで、高速かつ効率的に構築するためのフレームワークです。 Python を使用した HTTP API。プランはリクエストを自動的に検証し、コードの保守が容易になります。インスタンスは自動的にシリアル化可能で、実際の世界で API が通常必要とする種類の機能が含まれており、PEP484 タイプ ヒントと mypy を広範囲に使用します。 欠点: データ検証、シリアル化、ドキュメントを提供するために Pydantic のようなサードパーティ ライブラリを使用せず、独自のライブラリを持っています。 。したがって、これらのデータ型定義は再利用しにくくなります。依存関係注入システムは依存関係の事前登録を必要とし、宣言された型に基づいて依存関係を解決します。したがって、複数のコンポーネントを宣言して特定の型を提供することはできません。 #23. Clastic フレームワーク 公式 Web サイト: https://www.php.cn/link/9fa04f87c9138de23e92582b4ce549ec 利点: 1 つの機能 Aグローバルな状態を排除しながら明示的な開発実践を簡素化する強力な Python Web フレームワーク。 Clastic は完全に Python で書かれており、再利用性とテスト容易性の強化、プロアクティブな URL ルーティング チェック、アプリケーション初期化の制御の向上、ミドルウェア パラダイムの改善、グローバル状態なし、ORM の使用、WSGI 統合の容易化などの機能を備えています。 欠点: Clastic はグローバル状態を構築しません。URL ルーティング ルールのパラメータとビュー関数のシグネチャが一致しません。Clastic では、この不一致により、アプリケーションの構築時に例外が発生します。 24. Aiohttp フレームワーク 公式 Web サイト: https://www.php.cn/link/6f8805c87ad80ed936bcd5ce4bebe65d 利点: asyncio および Python/ サーバー用の非同期 HTTP クライアント。クライアントと HTTP サーバーをサポートし、サーバー WebSocket とクライアント WebSocket をすぐにサポートし、コールバック地獄はありません。 Web サーバーには、ミドルウェア、シグナル、およびプラグ可能なルーティングが含まれています。 欠点: RFC 7231 によると、aiohttp 2.0 バージョンは HEAD リクエストを受け入れるように調整され、以前のバージョンを使用し、add_get () を使用してリクエストを追加します。 、HEAD メソッドを使用してアクセスすると、405 が返されます。プロセッサが大量の応答本文コンテンツを書き込む場合、HEAD メソッドの実行時に応答本文コンテンツの処理をスキップして、実行効率を向上させることができます。 25. Masonite フレームワーク 公式ウェブサイト: https://www.php.cn/link/81baadacf39a11c56ee30acd5455fced 利点: モダンで開発者-多くのすぐに使える機能を備えた開発者ツールや、非常に拡張性の高いアーキテクチャを含む、実際のバッテリーの実装に特化した Python 中心の Web フレームワーク。 Masonite は、初めて Web アプリケーションに取り組む初心者の開発者だけでなく、アプリケーションを完成させるために Masonite の可能性を最大限に活用する必要がある経験豊富な開発者にも最適です。 Masonite は、インストールから展開までを迅速かつ簡単に行えるよう努めており、開発者はコンセプトから作成までをできるだけ迅速かつ効率的に進めることができます。次のSaaSに活用してください!一度試してみると、きっと虜になるでしょう。 欠点: Masonite にとって、最大の「競争相手」は Django です。コミュニティがフレームワークを推進するために最善を尽くしているためです。簡単、楽しい次の大きなこと。ジャンゴに比べればメソナイトはまだまだ赤ちゃんなので、今後の活躍に期待です。 26. Quart フレームワーク 公式 Web サイト: https://www.php.cn/link/f7426bc1998891cd172a10233b83a8de #利点: クォートはPython ネットワーク マイクロフレームワーク。 Quart を使用すると、HTML テンプレートのレンダリングと提供、(RESTful) JSON API の作成、WebSocket の提供、要求および応答データのストリーミングなど、HTTP または WebSocket プロトコルを介してほぼあらゆる操作を行うことができます。 欠点: Python 3.7 のみをサポートします。 #27. Tonberry フレームワーク 公式ウェブサイト:https://www.php.cn/link/2342d8a616837cd6d79017fe68172b28 利点: ASGI 準拠の Web マイクロフレームワーク、クラスベースのルーティングアプローチを使用します。 CherryPy の影響を受けていますが、asyncio と互換性があります。 Qactuar と呼ばれるコンパニオン ASGI サーバーは、現在進行中のこのプロジェクトから誕生しました。 欠点: プル リクエストを使用する場合は、自動フォーマッタ iSort および Black を使用し、MyPy を使用してコードを検証してください。これは一部の型エラーを排除するものではなく、常に MyPy を完全に満足させるわけではありませんが、少なくとも最善を尽くして注釈 `# type:ignore` を控えめに使用してください。最後に、可能な限り正確な型ヒントを提供するようにしてください。
28. サイクロン フレームワーク 公式ウェブサイト : https://www.php.cn/link/ed582716bfb4738ccd92405301122e66 利点:Cyclone は、Tornado API を Twisted プロトコルとして実装する Python Web サーバー フレームワークです。 Twisted は、イベント駆動型の Python ネットワーク プログラミング フレームワークです。これは、一般に公開されている最も成熟したノンブロッキング I/O ライブラリの 1 つです。 Tornado は、FriendFeed Web サーバーのオープン ソース バージョンであり、Web アプリケーションを構築するための非常に優れた API を備えた、最も人気があり最速の Python Web サーバーの 1 つです。 Cyclone は、豊富な機能セットに加えて、C10K 問題も解決します。 欠点: Cyclone は Python 2.x をサポートしなくなりました。 29. Klein Framework ##公式ウェブサイト: https ://www.php.cn/link/fd9e2ae32b53addc06c63208be3aaa43 利点: Klein は、Python Production を使用した開発用のマイクロ フレームワークです。 -すぐに使えるWebサービス。これは、Bottle や Flask に似た非常に小さな API を備えているという点で「マイクロ」です。標準ライブラリの外部のものに依存しているため、「マイクロ」ではありません。これは主に、Werkzeug や Twisted など、広く使用され十分にテストされたコンポーネントに基づいて構築されているためです。 欠点: 少し古いかもしれません。 #30.nameko フレームワーク https://www.php.cn/link/5c341d10c5596a0fd920fda9f33bcb06 AMQP RPCイベント (パブリッシュ/サブスクライブ)、HTTPGET、POST、WebSocket、簡単かつ迅速な開発のための CLI、単体テストと統合テストのためのユーティリティ。 nameko マイクロサービスは、エラーが発生したときにエラー ログを自動的に出力しないため、監視関連の依存関係を追加する必要があります。 computing 集中型タスクではタスクの再試行が発生します。 公式 Web サイト: https://www.php.cn/link/ff84a9f3c0d335d25413dd8dfc9b2e8f 利点: CubicWeb は、ライセンスが付与されているセマンティック Web アプリケーション フレームワークです。 LGPL を使用すると、開発者はコンポーネント (キューブと呼ばれる) を再利用し、よく知られたオブジェクト指向の設計原則に従うことで、Web アプリケーションを効率的に構築できます。一般的なニーズに対応する再利用可能なコンポーネント (データ モデルとビュー) のライブラリ、Python プログラミング言語のパワーと柔軟性、SQL データベースの信頼性、LDAP ディレクトリ、ストレージ バックエンド用の Subversion および Mercurial。 欠点: CubicWeb アプリケーションで永続データを取得または操作するには、リレーショナル クエリ言語 (RQL) を使用できます。RQL は、さまざまなデータを相互に関連付けるための高度に分離されたパスを提供します。ただし、クエリを文字列として手動で構築することで実装されるため、ORM に慣れている開発者にとっては時代遅れに感じるかもしれません。 CubicWeb の使用には他にも障害があります。まず、セットアップが面倒になる可能性があります。もう 1 つの潜在的な問題は、ネイティブ テンプレート エンジンがないことです。HTML の生成は開発者に任されています。 CubicWeb は Python 3 をサポートしていますが、Twisted などのモジュール自体は完全には移植されていません。 32. Zope2 フレームワーク 公式 Web サイト: https://www.php.cn/link/6dcb94fb55921f2416219b454651bffc 利点: Zope 2 は The Pythonベースの Web アプリケーション フレームワークは、すべての Python Web アプリケーションとツールの祖先であり、Python ファミリーの強力な分岐です。 Zope 2 の「オブジェクト パブリッシング」システムは、オブジェクト指向開発手法に最適であり、開発者の学習曲線を短縮し、アプリケーション内のいくつかの悪い機能を発見するのに役立ちます。 欠点: Zope は、単純な RESTful API (ボトルまたはフラスコごと)、またはインタラクティブな API にも適していません 基本的な Web サイトの場合(Django のような)、Zope のサイズと複雑さのため、インストールにはある程度の作業が必要ですが、単にソースをプロジェクトのサブフォルダーに解凍するだけでは済みません。 33. Web2py フレームワーク 公式 Web サイト: https://www.php.cn/link/60bb8062ea8e0c7ff17bb2e484cd223a 利点: Web2py は、Python 言語で書かれ、以下のために設計された無料のオープンソース Web フレームワークです。アジャイル LGPLv3 オープン ソース ライセンスに従って、高速、スケーラブル、安全、ポータブルなデータベース駆動型アプリケーションを使用して Web アプリケーションを迅速に開発します。 Web2py は、Web 版のオンライン開発、HTML テンプレートの作成、静的ファイルのアップロード、データベースの書き込み機能を提供し、開発プロセス全体をブラウザ上で実行できるワンストップ ソリューションを提供します。その他には、ログ機能や自動管理インターフェイスなどがあります。 欠点: Web2py の重要な制限の 1 つは、Python 2.x とのみ互換性があることです。まず、これは Web2py が Python 3 の非同期構文を使用できないことを意味します。 Python 3 に固有の外部ライブラリに依存している場合は、運が悪いです。ただし、Web2py Python 3 との互換性を持たせるための作業が進行中であり、この記事の執筆時点では完成に近づいています。 34. Pylons フレームワーク 公式 Web サイト: https://www.php.cn/link/ddc96fb7d590861ce4bbc4579f5fa848 利点: パイロンはオープンですPython で書かれたソース Web アプリケーション フレームワーク。これは WSGI 標準を拡張し、再利用性を向上させ、機能を独立したモジュールに分離します。 Pylons は、Django や TurboGears と同様、最新の Web アプリケーション フレームワークの代表的なものです。 Pylons は Ruby on Rails の影響を強く受けています。その 2 つのコンポーネント、Routes と WebHelpers は、Rails 機能の Python 実装です。 短所: Pylons は repoze.bfg とマージされ、メンテナンス専用モードになりました。新しいプロジェクトは、新しくマージされた Web フレームワーク ピラミッドから開始することを強くお勧めします。 35. キューブ フレームワーク 公式ウェブサイト: https://www.php.cn/link/9fb2c3bda2393ae337242f405c93a010 #長所: Cubes は、レポートおよび分析アプリケーション、オンライン分析処理 (OLAP)、多次元分析、および集約データの探索を開発するための軽量の Python フレームワークおよびツールセットです。これはデータ ブルワリーの一部です。 欠点: 暗黙的な集計 Record_count が各キューブに提供されなくなりました。集合体として明確に定義する必要があります。古いバックエンド アーキテクチャには制限があります。ストアの使用のみが許可されます。サーバーを起動する前にモデルを知っておく必要があり、リモート ソースからモデルを取得することはできません。 #36. Dpark フレームワーク##公式 Web サイト: https ://www.php.cn/link/e7a561a2f218bf9cc0e697598320ec59 DPark は、Python の Spark の Python クローン バージョンです。実装された分散コンピューティング フレームワークにより、大規模なデータ処理と低遅延の反復計算を簡単に実装できます。このコンピューティング フレームワークは MapReduce に似ていますが、より柔軟で、Python を使用して分散コンピューティングを簡単に実行でき、より優れた反復コンピューティングのためのより多くの機能を提供します。 DPark は国内の Douban 社が開発、実装、保守を行っており、Douban 社の説明によれば、現在 Douban 社内のデータ分析のほとんどが DPark で完了しており、プロジェクト全体も完璧になりつつあるとのこと。 Dpark はプロセスを使用します。Python では、GIL (Global Interpreter Lock) の存在により、マルチコア マシン 複数のスレッドを使用すると、これらのスレッド間で実際に同時実行を実現する方法はありません。 公式 Web サイト: https://www.php.cn/link/9b1fc5df81cadf52164c02bf92678f95 利点: Buildbot は、オープンソースの継続的ビルドおよび継続的デリバリーです。 Python で実装 Python、Mozilla、Chromium、WebKit などの有名なプロジェクトで使用されるツール。 Buildbot は Python パッケージを直接使用でき、数万のライブラリを簡単に所有でき、強力な拡張機能を備えています。 Jenkins がすでにニーズを簡単に満たしていると感じる場合は、Buildbot は必要ありません。 Jenkins での拡張が非効率的で難しいと感じたり、Python などのスクリプトで実現できるアクションの一部を Jenkins で実装するのが難しい場合は、Buildbot を検討してください。 欠点: buildbot はマルチプロジェクトを十分にサポートしていません。
以上が37 の Python Web 開発フレームワークの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。