Posted at

PythonのWebフレームワーク4種比較

More than 1 year has passed since last update.

※こちらの記事は、プロスタ編集部が現在大変人気の高いPythonの文法記事を公開することで、皆様の学習にお役に立ちたい意図で投稿しております。

参考サイト:PythonのWebフレームワーク4種比較


PythonのWebフレームワーク4種比較

Webフレームワークは、Web開発において頻繁に利用される機能をあらかじめ作ったもので、「frame work」の名のとおり骨組みや枠として利用するものになります。

フレームワークを使用することで

・記述量が減る

・プログラミングの書き方を、ある程度統一することができる

・「○○フレームワークの経験がある人」のように、人材を集めるのが容易になる

といったメリットがあります。

Web開発においては、このフレームワークを使用して開発することが非常に多いです。

今回は、DjangoやBottleなど、PythonのWebフレームワークを4つご紹介します。


django

Djangoは米国のLawrence Journal-World社のWeb開発部門である「World Online」が開発したWebフレームワークです。2005年に公開され、2008年9月にバージョン1.0がリリース、その後も活発に開発が続き、現在は安定版が1.9、最新は1.10となっています。

PythonのWebフレームワークの中では、最も人気の高いフレームワークの1つであり、中規模以上のWebアプリケーションの構築によく使われます。求人等で一番見かけるのも、このDjangoです。

Webフレームワークによく使用される

・URLディスパッチャー

・O/Rマッパー

・テンプレートエンジン

をはじめ、沢山の機能がDjangoには備わっており、「フルスタックフレームワーク」と表現されます。

また、管理画面が自動生成される機能も、公開当初は話題になりました。GAEに標準で含まれているなど、色々な場所で目にするフレームワークです。

Djangoの公式サイトを見る


Bottle

PythonのWebフレームワークの中では一番シンプルで、軽量なフレームワークです。

「bottle.py」という1ファイルだけで構成されています。そのため、サーバへのデプロイも非常に簡単です。

また、1ファイルというシンプルさからか、ソースコードを眺めながら勉強目的で使用する方もいますし、このBottleを使って実用的なWebアプリケーションを作成している方も勿論います。

Bottleの公式サイトを見る


Flask

軽量なフレームワークの中では、最も人気があるWebフレームワークです。小規模・中規模なWebアプリケーションの構築に向いています。

Flaskは元々2010年のエイプリルフールのジョークとして始まったものですが、作者であるオーストラリア人のArmin Ronacherが熱狂的な反響に応え、本物のフレームワークにしたという面白い経緯があるフレームワークです。Flask(フラスコ)という名前は、Bottle(ボトル)に対する言葉遊びで命名されました。

「マイクロWEBフレームワーク」と呼ばれており、その名の通り動作も軽量で、覚えることもあまり多くはありません。

また、Webアプリケーション全体を1つの.pyファイルに記述することも可能で、小規模なサイトの構築を素早く行うことができます。

Flaskの公式サイトを見る


Tornado

Tornadoは、FriendFeedによって開発され、Facebookに吸収されたのちにオープンソース化されたWebフレームワークです。

Webフレームワークとしても充分な機能がありますが、Webサーバとしての側面もあります。

リアルタイムでの通信を行う「WebSocket」がサポートされているため、その目的で使用されることや、非同期Webサーバである「node.js」のPythonでの代替手段としても人気です。

Apacheではなくnginxと一緒に使用されるのが一般的で、静的なファイルの配信に関してはほかのWebフレームワークを圧倒するほど、高速に動作します。

Tornadoの公式サイトを見る