1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

子供の想像力を伸ばしアイデアを形にする小学生向けプログラミング教室「プロスタキッズ」

Python超入門その28〜汎用的な処理はフレームワークにまかせよう〜

Pocket

はじめに

Pythonのフレームワークを活用していますか?

フレームワークはアプリケーションの枠組みを提供してくれ、多くの一般的な処理をまかなってくれます。
最もフレームワークが役に立つのは、ウェブアプリケーションでしょう。

ウェブアプリ開発には定型的な処理が多く、フレームワークを利用すると非常に開発が楽になります。

この記事では、Python初心者の方向けに、Pythonのフレームワークの利用方法についてお伝えしていきます。
ウェブアプリを開発したい方は、ぜひご一読下さい。

フレームワークの基本的な役割

フレームワークは、いうなればライブラリの集合体です。
とはいえ、ライブラリよりも明確な方向性があります。

フレームワークには構造があり、アプリケーション全体をフレームワークの作法に従って構築していくことになります。これは不自由なように思いますが、フレームワークのアーキテクチャは十分に検証されており、たいていは自分で一から構築するよりもキレイなプログラムになります。
また、定型的な処理を再開発する必要もなく、生産性も大きく向上します。

次項で、Pythonの代表的なフレームワークについてみていきましょう。

Pythonの代表的なフレームワーク

Django

Django(ジャンゴ)は、Pythonで最も有名なウェブアプリケーションフレームワークです。

MVC(Model-View-Controller)アーキテクチャを採用したフルスタックフレームワークであり、これひとつでウェブアプリが開発できます。ウェブアプリ開発で真っ先に検討されるフレームワークでしょう。
中規模以上のウェブアプリ開発に最適です。

Flask

Flask(フラスコ)は、Django同様にウェブアプリケーションフレームワークです。

Djangoが全部入りのフレームワークであるのに対し、Flaskは「マイクロフレームワーク」という位置づけであり、最小限の機能しか持っていません。このため、Djangoよりも軽量であり、足りない機能は必要に応じて追加できるようになっています。
小規模なアプリを素早く作成するのに向いています。

Tensorflow

Tensorflow(テンサーフロー)は、機械学習を行うためのフレームワークです。

機械学習は人工知能(AI)の一分野であり、Tensorflowはその中の深層学習(ディープラーニング)をサポートしています。
Anacondaは科学技術計算向けのディストリビューションなので、相性が良いといえます。
これからさらに人気が高まりそうな、今話題の分野です。

実際にフレームワークをインストールして使ってみよう

それでは、シンプルなウェブアプリケーションフレームワークであるFlaskを実際に使ってみましょう。

まずは、パッケージマネージャー”conda”を使って、Flaskをインストールしてみましょう。
次のコマンドを入力して下さい。

なお、パッケージマネージャーの詳細については、前回の記事をご覧下さい。

 

ここでは、念のためインストールコマンドを実行していますが、通常はAnacondaによりインストール済みになっているはずです。

次に、Flaskで”hello, world”を実行してみましょう。
難しいことはなく、次のような非常に短いコードで実行できます。

例:

 

この例を実行すると、コンソールにURLが表示されますので、お好きなブラウザでアクセスしてみましょう。
うまくいっていれば、ブラウザに”hello, flask!”と表示されます。

このように、Flaskは非常にシンプルなフレームワークです。
気に入った方は、公式ドキュメントを参考に勉強してみるとよいでしょう。英語ですがとても充実しており、チュートリアルも用意されています。

Flaskドキュメント:

 

まとめ

いかがでしたでしょうか?

フレームワークはうまく使えましたか?ここで紹介したもの以外にも、Pythonにはたくさんのフレームワークがあります。
グーグルなどの検索エンジンで探してみるとよいでしょう。

インストールにはパッケージマネージャーを使うと簡単です。
ドキュメントが英語である場合も多いですが、サンプルコードを参考にがんばって解読してみましょう。

あなたはどんなフレームワークを使いますか?

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

ページ上部へ戻る