Description
PythonのWebアプリケーションフレームワークを開発するために必要な知識を実際のPythonのコードをベースに解説していきます。
Abstract
Web開発を行う際は、FlaskやDjango等のWebアプリケーションフレームワークを活用することが多く、日頃の開発の中でそのフレームワークの実装まで意識しているという方は少ないのではないでしょうか。
本発表では、Pythonの具体的なコードをベースにWebアプリケーションフレームワークを作る上で必要となる知識について解説します。Hello Worldをスタートとして、ルーティングやリクエスト・レスポンスのハンドリング方法、CSSやJS等の静的ファイルの扱いなどWebアプリケーションフレームワークに必要な機能とその実装方法を解説します。
次に私が開発しているKobinというフレームワークと、それを用いた実際のアプリケーションを紹介します。Kobinは本発表で紹介した機能を全て実装していますが、その実装は800行に満たない程度(5/17現在)と非常に短く、勉強用途としては最適なWebフレームワークとなっています。またType Hintsを活用しているためコードを読む上での手がかりとなる情報も既存のフレームワークに比べ多いでしょう。
下の画像は実際にKobinとAngular2を使用して作成したアプリケーションの動作の様子です(https://github.com/c-bata/kobin-example)。