fbpx
  1. HOME
  2. ブログ
  3. エンジニアになろう!
  4. 【2019年最新版】知っておきたいPythonフレームワーク5選

【2019年最新版】知っておきたいPythonフレームワーク5選

Python(パイソン)のおすすめフレームワークとは!?

ミツオカミツオカ
Pyhonって「人工知能(AI)」とか「Web開発」とか幅広い分野で使われてますが、何でも作れてしまうんですか!?
にゃんこ師匠 にゃんこ師匠
そうだにゃ!オールラウンドな言語と言えるPythonに興味が湧いてきたのか?
ミツオカミツオカ
私にプログラミングを教えてくれる、口うるさくない人工知能を作ろうと思いましてね!
にゃんこ師匠 にゃんこ師匠
なるほど!向上心があっていいな!…ん?おいっ!

学習コストを考えてみよう

学習コストとは、フレームワークを使いこなせるようになるまでの勉強にかかるコストと、フレームワークを利用する上で必要な勉強のコストのことです。

今回は、5つのフレームワークをご紹介しますが、Pythonフレームワークの中でも圧倒的人気を誇るDjango(ジャンゴ)は日本語英語を問わず、フレームワークを勉強したり、開発に思量したりするための情報が豊富です。

Flask(フラスク)もDjango同様、情報が豊富なため、学習コストの面では優れています。

しかし、DASH(ダッシュ)Bottle(ボトル)Tornado(トルネード)については、書籍や情報が少ないため、英語の公式ドキュメントにだけ頼るという場面も多いので、学習に苦労する場面もあることでしょう。

初学者の方は特に、学習コストを意識して選ぶことをオススメします。

さて、それでは早速、Pythonフレームワークを5つご紹介していこうと思います!

Django(ジャンゴ):Webシステムの開発が得意

Djangoは、Webシステムの開発を得意とするPythonフレームワークです。

Webシステムに必要な、ユーザー認証管理画面RSSフィードサイトマップなどをサクッと作れるような機能が含まれています。

セキュリティ面の強さも特徴で、Webシステムであれば必ず遭遇する脆弱性(クロスサイトスクリプティングやSQLインジェクションなど)を生み出さないように配慮されています。

またDjangoは、Webアプリケーションのベースとなる機能を豊富に備えていることから、政府企業を問わず利用される場面が多い開発フレームワークです。

にゃんこ師匠 にゃんこ師匠
沢山の機能が揃っているというメリットの反面、初心者やフレームワークに慣れていない人にはとっつきにくいと感じることがある…かもしれん
ミツオカミツオカ
Djangoの公式サイトはコチラ
日本のユーザコミュニティはコチラ

Flask(フラスク):超軽量フレームワーク

Flaskは、「超軽量」であることが特徴です。

マイクロフレームワークで、PythonでWebアプリケーションを開発するための最低限の機能だけを持っています。

Djangoと比べると対照的で、Djangoは必要な機能をあらかじめ持っておりますが、Flaskは最低限の機能しかもっておりません。

それ故、機能が十分に揃っているDjangoや他のフレームワークで必要となる、複雑な設定などはありません。

ただし、他のフレームワークがもともと持っているものを共有することは、ほとんどできません。

そのため、大規模開発より、中小規模の開発に向いていると言えるでしょう。

にゃんこ師匠 にゃんこ師匠
Flaskは、軽いフレームワークのため環境構築が早く済み、実装してみたいことを素早く試せるな
ミツオカミツオカ
Flaskの公式サイトはコチラ
Githubはコチラ

DASH(ダッシュ):データの可視化が得意なフレームワーク

DASHは、Webアプリケーション(plotly)でデータを可視化することに特化したフレームワークです。

Pythonは、自然言語処理機械学習など、サイエンス分野の作業を得意としていますが、グラフやチャートを使いたい場合はDASHが大活躍します。

にゃんこ師匠 にゃんこ師匠
データを視覚的に処理するアプリケーションの開発などにはおすすめだな
ミツオカミツオカ
DASHの公式サイトはコチラ
Githubはコチラ

Bottle(ボトル):WSGI対応!1ファイルで構成される軽量フレームワーク

bottle.pyという1ファイルだけで構成された、軽量で、導入がとても簡単なフレームワークです。

動作が速く、シンプルで使いやすい、そしてレンダリングが高速です。

最大の特徴はWeb Server Gateway Interface(WSGI)という、Webサーバーが受け取ったリクエストを複数のWebアプリケーションと連携して処理できる点にあります。

Bottleを使うことで、WSGIをサーバーとWebアプリケーションをつなぐ共通のインターフェースとして使え、インターフェースを気にせずに済むことはBottleを使うメリットです。

にゃんこ師匠 にゃんこ師匠
Pythonのフレームワークをとりあえず触ってみたいという人には、おすすめかもしれんな
ミツオカミツオカ
Bottleの公式サイトはコチラ

Tornado(トルネード):非同期処理ならお任せ

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

非同期処理同時接続処理を得意としており、シンプルな記述で高速な処理を行うことができます。

Djangoでも述べた、Webアプリケーションで使われるユーザー認証などやWebアプリケーションでよく使われる機能も実装されています。

にゃんこ師匠 にゃんこ師匠
ノンブロッキングの特性を活かして、アクセスが集中する恐れのあるWebシステムを構築するのに利用するといいかもな
ミツオカミツオカ
Tornadoの公式サイトはコチラ

まとめ

今回は、Pythonフレームワークを5つご紹介しました。

自分が欲しいと思う処理や関数、機能を持っているプラットフォームを選ぶと良いでしょう。

また、Pythonフレームワークをとりあえず学んでみたいという方は、軽量のFlaskBottleなどを使って手早く「Hello World!」から作ってみても良いでしょう。

特に、Flaskは拡張性が高く、実務でもよく使われています。

求人が多いフレームワークを選んで勉強する

Pythonを武器に就職や転職、キャリアアップを狙っている方は、人気のフレームワークを選ぶことが大事です。

ソフトウェアハウスやエンジニアの募集要項には、例えば「Djangoの使用経験あり」など、Pythonという言語ではなくフレームワークが指定されていることも多いです。

Webアプリケーションをガッツリ開発したい方大規模開発に参画したい方は、求人サイトでもよく見かけるDjangoを勉強することをオススメします。

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

関連記事