Python のWebアプリフレームワーク Flask でお手軽 WebAPI 構築(前編) | SiTest (サイテスト) ブログ

メニューボタン閉じるボタン

Python のWebアプリフレームワーク Flask でお手軽 WebAPI 構築(前編)

Webアプリケーションも Python で!

現在 Python は主にデータ解析、機械学習の用途で大変な人気です。

Python で作られたシステムによる機械学習やデータ解析で良い結果がでた場合、次にやるべきことは「その成果を広く公開する」ですね。公開するならそれを使ったWebアプリケーションを作ってしまうのが一番です!

Webアプリケーションといえば、Ruby や、PHP で作ることができますが、それも Python でできたら素敵ですね!もちろん可能です。Python
自体はデータ分析、機械学習に特化した言語ではなく、汎用的な言語であるため、例えば、Webアプリケーションを作って動かすこともできます。

そんな言語ですから、当然 Ruby に RailsSinatraがあったり、PHP に LaravelCodeIgniter があったりするように、 Python にもWebフレームワークがあります。djangoや、 Flask などが有名です。

Django は Rails のようなフルスタックと呼ばれるフレームワーク、今回ご紹介する Flask は Sinatra のように、最低限の機能だけを実装したマイクロフレームワークです。

マイクロフレームワーク

数年前、Webフレームワークは Rail に代表されるように MVCモデルを採用し、統一されたルールに基づいて作成を行えば、ある程度の規模のアプリケーションが比較的簡単に作れる。というものが主流でした。

今現在は、JSフロントエンドフレームワークの充実により、サーバが HTML のようなビューではなく、JSON 形式を返しさえすれば、フロント側で描画を行うことが以前より容易にになりました。また、データ側も、必ずしも RDB とは限らないことが多くなりました。

こういった状況の変化によって、充実した機能をもったMVCフレームワークは ActiveRecord のような機能の充実や、厳密なルールがかえって仇になり、使いづらいものになったように思います。

対して、マイクロフレームワークは、リクエストを受信し、特定のロジックに結びつける、MVCでいう Controller の機能に特化したフレームワークです。

そこ以外は自由に設定できるので、例えば、モデル部分なら NoSQL のデータベースに特化したライブラリで実装したり、 RDB なら、 SQLALchemy のような専用のORマッパを使うなど、柔軟な構成が可能です。

ビューも同様に、モダンなJSライブラリを使って、クライアントにビューの切替を任せ、サーバは JSON を返すようなシンプルな WebAPI も可能ですし、 Flask には付属として jinja2 という HTML テンプレートがついているので、それを使うこともできます。

次回は、 flask を使って簡単なアプリケーションを作ってみます。

今すぐお気軽に
ご相談ください。

0120-315-465

(平日 10:00~19:00)

今すぐお気軽に
ご相談ください。

0120-315-465

(平日 10:00~19:00)

グラッドキューブは
「ISMS認証」を取得しています。

認証範囲:
インターネットマーケティング支援事業、インターネットASPサービスの提供、コンテンツメディア事業

「ISMS認証」とは、財団法人・日本情報処理開発協会が定めた企業の情報情報セキュリティマネジメントシステムの評価制度です。

いますぐ無料で
お試しください。

SiTest の革新的な機能を
お試しいただけます。
利用規約

お名前【必須】
メールアドレス【必須】
電話番号【必須】