PythonのWebフレームワーク Flaskについて初心者向けにまとめてみた

PythonでWebアプリ開発 Python


Flaskはご存知でしょうか。PythonのWebフレームワーク であるFlaskについて、初学者向けにまとめてみました。

◯Flaskとは

Flaskは、Python上で動く、マイクロウェブアプリケーションフレームワークと呼ばれています。

◯ウェブアプリケーションフレームワークとは

ウェブアプリケーションフレームワークは、プログラミング言語でアプリを作るときに、楽チンにアプリを作れるように、諸々の動作をパッケージにしたようなものです。Rubyというプログラミング言語にも、Ruby on Rails、PHPにもLalavelなどのフレームワークがあります。

◯マイクロフレームワークとは

Flaskは、ウェブアプリケーションフレームワークの中でも、マイクロフレームワークとなっています。これは、標準で提供している機能が本当に最小限になっていることに起因します。

例えば、Ruby on Railsなどのフレームワークでは、コマンド1つで簡単にログイン機能を実装することができます。データベースの設定も、コマンド1つで簡単にできるわけです。

一方で、Flaskで実装する場合、ログインの機能を一から(from scratch)作る必要があります。これが、「最低限の機能しか提供していない」と言われる所以です。

◯Flaskを利用する利点

Pythonには、FlaskとDjangoというWebフレームワークがあります。Djangoは、Ruby on Railsのような、ウェブアプリケーションフレームワークです。

Flaskを利用する利点を説明する上で、Djangoとの比較をしながら解説します。

◯Flaskのメリット① 軽い

Flaskは、マイクロフレームワークななで、非常に軽いです。これは必要最低限の機能しか持っていないので、余計な機能が動作を重くすることを防いでいます。

そのため、単機能のWebアプリケーションや、業務用の管理画面を作る際に非常に適しています。

◯Flaskのメリット②カスタマイズ性が高い

Flaskのメリットとして、カスタマイズ性が高いことがあげられます。例えば、Djangoを利用してデータベース設計をしようとすると、もともとある機能を利用して設計することになります。しかし、細かなカスタマイズには不向きです。一方でFlaskを利用する場合は、最初からテンプレートでデータベースを利用できませんが、実装次第ではかなり細かくカスタマイズ可能です。

◯Flaskのメリット③ Hello Worldまでが早い

Flaskを利用する場合、Flaskをインストールして、以下のような数行のコードを書き、ホストを指定してターミナル上で実行するだけだすぐに起動できます。

一方で、Djangoの場合は、プロジェクトファイルをターミナル上から実行したりと、諸々の初期セットアップが必要になります。

◯Flaskが利用される環境

Flaskが利用される場合、簡単なBotを作成したり、社内管理システムで利用したり、APIサーバーとして利用されることが多いようです。

企業向けの大規模なサービスでは、Djangoが使われるパターンが多いようです

Djangoを利用している企業として、Instagram、Spotify、Youtube、Bitbucket、Dropboxなどが、世界的に有名な企業でもDjangoを取り入れているようです。

◯Flaskの学習方法

Flaskで実際に、Twitterの統計解析ができるチュートリアルがあります。

 

 

ぜひこちらを試してみてください!

Flaskチュートリアル – Pythonでツイッターの分析ツールを作ってディプロイしよう!(動画つき!)-