Elevator Pitch
Pythonには多くのWebフレームワークが存在し、各フレームワークが持つ機能や特徴がそれぞれあります。フレームワークが持つ機能を分解し、機能ごとの役割を意識して、必要な機能がどのように提供されているかを確認しフレームワークを選ぶ必要があると考えています。
このトークでは、Webフレームワークが持つべき機能を紹介し、各Webフレームワークが提供している範囲を比較します。
フレームワーク選択の一つの指標になることを目指し、目的別にフレームワークを選択できるようになります。
Description
このトークでは、以下の4つのパートに分けて説明をします。
- Webフレームワークとは (フレームワークの定義)
- Webフレームワークが持つ機能
- Python Webフレームワークの種類と特徴を紹介と比較
- 目的別フレームワーク選択の方法
機能の説明では、テンプレート層、URLディスパッチ、リクエストオブジェクトの扱い、cookieの扱い、ストレージ層などの簡単な説明を行います。 紹介するフレームワークは、Django、Flask、Pyramid、Zope、Tornado、aiohttp、Guillotina、Bottle、responderの9種類の予定です。 それぞれのフレームワーク毎に、各機能がどのように提供されているのかを比較検討していきます。 最後に、いくつかのケーススタディとして、目的別にフレームワークを選択していく流れを確認します。
Notes
この話題は、PyCon Kyushu 2019 in Okinawaで話した、以下のスライドを元にアップデートした内容を話す予定です。 https://speakerdeck.com/terapyon/web-frameworks-bi-jiao-2019