Python初心者オススメするアプリ開発でのWebフレームワーク3選





こんにちは!スギです。

 

「Pythonにてアプリを作ってたいけど、どうやって作ればいいのか分からない。。」

「そもそも何のWebフレームワークを使えばいいのか分からない。。」

 

というお悩みを持つ方が数多くいらっしゃいます。

 

筆者も実際にPythonでアプリを作る際に、アプリの作成方法やどのWebフレームワークを使えばいいのか、非常に悩みました。

 

今回はそういったお悩みの解決策となるよう、PythonのWebフレームワークを3つご紹介いたします。

 


汎用性の広いPythonを0から習得するためのフロー及び実際にPythonで開発を行い開発案件を獲得するまでの筋道について解説しているチュートリアル資料と

コーディングの参考となる実際にPythonを使って作ったツールのソースコードを無料で配布していますので、こちらも併せてご覧ください。

初心者・入門者でも30日間で学習できるおすすめPython学習方法

 


おすすめのプログラミングスクールの比較・特徴をまとめた記事を執筆しております。

挫折することなく一直線にエンジニアを短期集中で目指している人はこちらから確認してください。

【比較表・無料体験あり】おすすめのプログラミングスクール3選!オンライン学習で完結!

 

アプリ開発におけるWebフレームワークとは?

「そもそもWebフレームワークとは何なのか」について解説していきます。

 

一言でいえば、Webフレームワークとは開発に必要な機能が予め搭載された枠組みのことです。

 

アプリの開発を1から行うとなると、データベースやルーティングなど必要な作業が多く存在しますが、Webフレームワーク を使うことにより大変な作業をすることなく開発を進める事ができます。

 

まだ、アプリケーション開発をした事がないというプログラミング初学者の方にオススメとなっています。

 

こういったフレームワークはWeb以外にも様々なものが存在し、オンラインショップなどが挙げられます。

 

自分の欲しい商品があった場合、わざわざ取り扱っているお店に行かずとも携帯などで自分の欲しい商品名で検索をすれば購入をする事ができます。

 

また、仕事で疲れて自宅にて料理を作るのが面倒な時にはご飯を提供してくれるお店に行くことにより、時間をかけることなくご飯を食べることができます。

 

このように、フレームワークという概念は僕らの身の回りにあり、僕らが1からやる必要があったものが現代では手軽にできるようになりました。

 

とはいえ、Webフレームワークは便利である反面デメリットも少なからずあります。

 

それは、学習コストが増える事です。

 

言語ごと色々なWebフレームワークがありますが、それぞれ決められた変数で開発を行っていく必要があるため、学習する時間が多くなってしまいます。

 

プログラミング言語では基本的に変数につける名前は自由となっていますが、Webフレームワーク特有のコードの書き方で記述する必要があります。

 

Webフレームワークであるため、結果的にコードの量は減らす事ができますが、学習する事が増えるのを念頭に入れときましょう。

 

ただ、1から開発する方が時間がかかるのでWebフレームワークの学習をするべきです。

 

Webフレームワーク – Flask

Webフレームワークが何かお伝えしたところで、本題であるPythonのWebフレームワークをご紹介していきます。

 

一つ目はFlaskです。

 

Flaskはマイクロフレームワークと呼ばれ、開発で必要な機能が最小限に搭載された簡易的なWebフレームワークです。

 

大規模な開発には向いていませんが、アプリ開発を行ってみたい方とりあえずアプリ作ってみたい方にオススメのアプリケーションとなります。

 

Flaskの操作方法

では、Flaskを使ってみましょう。

 

まずはインストールを行います。

pip install Flask

 

インストールが完了後、ファイルを作成して下記のコードを入力してみてください。

from flask import Flask
app = Flask(__name__)
 
@app.route('/')
def sample():
    sample = "Hello world"
    return sample
 
if __name__ == "__main__":
    app.run()

 

こちらは Hello world の文字列を出力させるコードとなります。

 

2行目にてapp変数にFlaskが使えるように代入を行い、@app.route(‘/’)と処理をどこで閲覧するのか定義しています。

 

最後にapp.run()とする事で処理したコードの動作を行います。

 

コードの記載が完了したら、以下のターミナルにて起動させます。

python3 ファイル名
 * Running on http://127.0.0.1:8000/ (Press CTRL+C to quit)

 

表示されたURLにアクセスすると、Hello world が表示されるかと思います。

 

このように、FlaskはPythonの基礎が理解できていれば、簡単にアプリ開発を行う事ができます。

Webフレームワーク – Bottle

二つ目はBottleです。

 

PythonのWebフレームワークの中では一番シンプルであり、Flaskより軽量なWebフレームワークになります。

 

「bottle.py」という1ファイルだけで構成されているので、サーバーへのデプロイなども非常に簡単です。

 

BottleはFlaskに比べて参考サイトなど記事は少ないものの、勉強する目的で使用する分には大変便利なWebフレームワークとなります。

 

Bottleの操作方法

早速、Bottleを使ってみましょう。

 

インストールはFlaskと同じやり方です。

pip install bottle

 

次にファイル作成し、コードの記載を行います。

from bottle import route, run

@route('/')
def hello():
    sample = "Hello world"
    return sample

run()

 

Flaskに比べてコードの量が少ない事がお分かりいただけるかと思います。

 

Bottleでは変数に宣言をせず、使用する事ができます。

 

ただ、閲覧場所を定義するrouteや動作させるrunなどインポートする必要があるので忘れずに行なってください。

 

コードが記載されたら、起動させます。

python3 ファイル名
Bottle v0.12.17 server starting up (using WSGIRefServer())...
Listening on http://localhost:8000/
Hit Ctrl-C to quit.

 

Flask同様、URLにアクセスし、Hello world が表示されます。

Webフレームワーク – Django

最後にDjangoのご紹介です。

 

DjangoはPythonのWebフレームワークの中で最も有名で使用されています。

 

その理由はアプリ開発において、必要な機能が網羅的に用意されている事が挙げられます。

 

上記のフレームワーク、FlaskやBottleは必要最小限の機能のみが搭載されているが故に、「もっとこういう機能が欲しい」となった場合に対応が難しくなります。

 

Djangoではそういった事態でも柔軟に対応ができるように、予め開発に必要な機能やモジュールが用意されているのです。

 

他にもDjangoが使われる理由としてセキュリティの安全性が挙げられます。

 

Djangoではユーザー認証システムによって、ユーザーのアカウントとパスワードを安全に管理する方法が提供されており、

 

これにより、自分以外の他の誰かがアプリケーション内に侵入される恐れがありません。

 

安全にアプリ開発を行う事ができます。

 

Djangoの操作方法

上記のようにインストールから起動をDjangoにて行うと膨大な量になってしまうので、筆者がオススメする学習サイトDjangoBrothersを参考に行なってみてください。

https://djangobrothers.com/

 

まとめ

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

 

今回はPythonのWebフレームワークである、

・Flask

・Bottle

・Django

をご紹介していきました。

 

もし、Pythonの基礎学習がある程度理解して次のステップに進もうと思われている方などいましたら、今回ご紹介したWebフレームワークを参考にして開発を行なってみてください。

 

最後までご購読して頂き、ありがとうございます!



ABOUTこの記事をかいた人

sugi

大学卒業後、IT企業に就職を果たす。システム開発・人工知能に触れながら大手企業と業務をこなす。2年半後脱サラし、現在フリーランス活動中。 2019年2月から起業する予定。 自社サービス及び製品を開発し、売り上げを立てている。