【2019年版】知っておきたいPythonフレームワーク5選
エンジニアになろう!
Python(パイソン)のおすすめフレームワークとは!?
学習コストを考えてみよう
学習コストとは、フレームワークを使いこなせるようになるまでの勉強にかかるコストと、フレームワークを利用する上で必要な勉強のコストのことです。
Pythonフレームワークの中でも圧倒的人気を誇るDjango(ジャンゴ)は日本語英語を問わず、フレームワークを勉強したり、開発に思量したりするための情報が豊富です。
Flask(フラスク)もDjango同様、情報が豊富なため、学習コストの面では優れています。
しかし、DASH(ダッシュ)やBottle(ボトル)、Tornado(トルネード)については、書籍や情報が圧倒的に不足しています。
そのため、英語の公式ドキュメントにだけ頼るという場面も多いので、学習に苦労する場面もあることでしょう。
初学者の方は特に、学習コストを意識して選ぶことをオススメします。
さて、それでは早速、Pythonフレームワークを5つご紹介していこうと思います!
こちらの記事もオススメ!
2020.07.30Python 特集実装編※最新記事順Responder + Firestore でモダンかつサーバーレスなブログシステムを作ってみた!P...
2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...
Django(ジャンゴ):Webシステムの開発が得意
Djangoは、Webシステムの開発を得意とするPythonフレームワークです。
Webシステムに必要な、ユーザー認証や管理画面、RSSフィード、サイトマップなどをサクッと作れるような機能が含まれています。
セキュリティ面の強さも特徴で、Webシステムであれば必ず遭遇する脆弱性(クロスサイトスクリプティングやSQLインジェクションなど)を生み出さないように配慮されています。
またDjangoは、Webアプリケーションのベースとなる機能を豊富に備えていることから、政府企業を問わず利用される場面が多い開発フレームワークです。
Flask(フラスク):超軽量フレームワーク
Flaskは、「超軽量」であることが特徴です。
マイクロフレームワークで、PythonでWebアプリケーションを開発するための最低限の機能だけを持っています。
Djangoと比べると対照的で、Djangoは必要な機能をあらかじめ持っておりますが、Flaskは最低限の機能しかもっておりません。
それ故、機能が十分に揃っているDjangoや他のフレームワークで必要となる、複雑な設定などはありません。
ただし、他のフレームワークがもともと持っているものを共有することは、ほとんどできません。
そのため、大規模開発より、中小規模の開発に向いていると言えるでしょう。
DASH(ダッシュ):データの可視化が得意なフレームワーク
DASHは、Webアプリケーション(plotly)でデータを可視化することに特化したフレームワークです。
Pythonは、自然言語処理や機械学習など、サイエンス分野の作業を得意としていますが、グラフやチャートを使いたい場合はDASHが大活躍します。
Bottle(ボトル):WSGI対応!1ファイルで構成される軽量フレームワーク
bottle.pyという1ファイルだけで構成された、軽量で、導入がとても簡単なフレームワークです。
動作が速く、シンプルで使いやすい、そしてレンダリングが高速です。
最大の特徴はWeb Server Gateway Interface(WSGI)という、Webサーバーが受け取ったリクエストを複数のWebアプリケーションと連携して処理できる点にあります。
Bottleを使うことで、WSGIをサーバーとWebアプリケーションをつなぐ共通のインターフェースとして使え、インターフェースを気にせずに済むことはBottleを使うメリットです。
Tornado(トルネード):非同期処理ならお任せ
FriendFeedによって開発され、Facebookに吸収されたのちに、オープンソース化されたフレームワークです。
非同期処理や同時接続処理を得意としており、シンプルな記述で高速な処理を行うことができます。
Djangoでも述べた、Webアプリケーションで使われるユーザー認証などやWebアプリケーションでよく使われる機能も実装されています。
まとめ
今回は、Pythonフレームワークを5つご紹介しました。
自分が欲しいと思う処理や関数、機能を持っているプラットフォームを選ぶと良いでしょう。
また、Pythonフレームワークをとりあえず学んでみたいという方は、軽量のFlaskやBottleなどを使って手早く「Hello World!」から作ってみても良いでしょう。
特に、Flaskは拡張性が高く、実務でもよく使われています。
求人が多いフレームワークを選んで勉強する
Pythonを武器に就職や転職、キャリアアップを狙っている方は、人気のフレームワークを選ぶことが大事です。
ソフトウェアハウスやエンジニアの募集要項には、例えば「Djangoの使用経験あり」など、Pythonという言語ではなくフレームワークが指定されていることも多いです。
Webアプリケーションをガッツリ開発したい方や大規模開発に参画したい方は、求人サイトでもよく見かけるDjangoを勉強することをオススメします。
こちらの記事もオススメ!
2020.07.17ライトコード的「やってみた!」シリーズ「やってみた!」を集めました!(株)ライトコードが今まで作ってきた「やってみた!」記事を集めてみました!※作成日が新し...
2020.07.27IT・コンピューターの歴史特集IT・コンピューターの歴史をまとめていきたいと思います!弊社ブログにある記事のみで構成しているため、まだ「未完成状態」...
2020.07.30Python 特集実装編※最新記事順Responder + Firestore でモダンかつサーバーレスなブログシステムを作ってみた!P...
ライトコードでは、エンジニアを積極採用中!
ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。
採用情報へ
「好きを仕事にするエンジニア集団」の(株)ライトコードです! ライトコードは、福岡、東京、大阪の3拠点で事業展開するIT企業です。 現在は、国内を代表する大手IT企業を取引先にもち、ITシステムの受託事業が中心。 いずれも直取引で、月間PV数1億を超えるWebサービスのシステム開発・運営、インフラの構築・運用に携わっています。 システム開発依頼・お見積もり大歓迎! また、現在「WEBエンジニア」「モバイルエンジニア」「営業」「WEBデザイナー」「WEBディレクター」を積極採用中です! インターンや新卒採用も行っております。 以下よりご応募をお待ちしております! https://rightcode.co.jp/recruit