Python Webフレームワーク比較

By Manabu TERADA

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