• トップ
  • ブログ一覧
  • 【2019年版】知っておきたいPythonフレームワーク5選
  • 【2019年版】知っておきたいPythonフレームワーク5選

    広告メディア事業部広告メディア事業部
    2019.08.23

    エンジニアになろう!

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

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

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

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

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

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

    しかし、DASH(ダッシュ)Bottle(ボトル)Tornado(トルネード)については、書籍や情報が圧倒的に不足しています。

    そのため、英語の公式ドキュメントにだけ頼るという場面も多いので、学習に苦労する場面もあることでしょう。

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

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

    こちらの記事もオススメ!

    featureImg2020.07.30Python 特集実装編※最新記事順Responder + Firestore でモダンかつサーバーレスなブログシステムを作ってみた!P...

    featureImg2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...

    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を勉強することをオススメします。

    こちらの記事もオススメ!

    featureImg2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...
    featureImg2020.07.27IT・コンピューターの歴史特集IT・コンピューターの歴史をまとめていきたいと思います!弊社ブログにある記事のみで構成しているため、まだ「未完成状態」...
    featureImg2020.07.30Python 特集実装編※最新記事順Responder + Firestore でモダンかつサーバーレスなブログシステムを作ってみた!P...

    広告メディア事業部

    広告メディア事業部

    おすすめ記事