1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

IoTの素晴らしさと未来2

Last updated at Posted at 2021-12-28

# 一問一答形式「Flask」
【Q1】Flaskって何?
【A1】Flask(フラスコ/フラスク)はPythonのウェブアプリケーションフレームワークで、小規模向けの簡単なウェブアプリケーションを作るのに適しています。

【Q2】ウェブフレームワークって?
【A2】ウェブフレームワークとは、ウェブサイトやウェブアプリケーションを作るための機能を提供し、ウェブフレームワークを使わない時よりもより容易にウェブアプリケーションを作ることができるものです。

【Q3】pythonみたいなプログラム言語となんか関係する?
【A3】pythonはデータ解析用の言語として使われているのですが、実はウェブアプリケーションを開発するサーバーサイド言語としても使えます。要するに、pythonは結構いろいろなプログラムを作れる、とても優秀な言語だということです。Flaskはpythonのモジュールです。
 pythonの他にもPHPやRudyなどの言語がありますが、高度な数値計算やウェブアプリケーション開発が同時に出来てしまうのがPythonの特徴です。

【Q4】Flaskのメリットは?
【A4】まず一つ目、Flaskは軽いです。Flaskは「マイクロ」ウェブアプリケーションフレームワークの名前通り、必要最低限の機能しか搭載されていないため、他のウェブアプリケーションフレームワークに比べて動きが軽くなります。そのため、多くの機能は必要としない単純なウェブアプリケーションなどに適しています。
 二つ目は、機能が単純で学習が簡単なことです。搭載されている機能が多ければ、それぞれの機能について時間をかけて学んでいく必要があります。一方、Flaskは搭載されている機能が少ないためシンプルで学習が簡単です。
 最後に、Flaskは自由でがとても高いことが挙げられます。一般的なウェブアプリケーションフレームワークでは、大体搭載されている機能をもとにアプリケーション設計をしていくため、あまりカスタマイズをすることはありません。
 一方、Flaskは多くの機能を自分で実装していく必要があるため、要件に応じた細かなカスタマイズをすることが可能です。
 デメリットとしては、Flaskは大規模なウェブアプリケーションを開発することに向いていないことが挙げられます。

【Q5】Flaskはどうやってつかうの?
【A5】Flaskは簡単にインストールできます。コマンドプロンプトを起動し、

```pip3 install Flask 
```

を実行します。例えば、Hello worldを出力するためには

```from flask import Flask
   app = Flask(__name__)

   @app.route(‘/’)
   def hello():
   hello = “Hello world”
   return hello

   if __name__ == “__main__”:
   app.run()
```

このプログラムを実行すると、

``` $ python3 hello.py
   * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
   
```

http://127.io0.0.1:5000/」 のURLにアクセスをすると 「Hellow World」の表示を確認することができます。

【Q6】FlaskとIoTの関係は?
【A6】IoTにおいてFlaskはデータサーバーとして機能させることができます。サーバとクライアント間のデータのやり取りは、CSVやJSONフォーマットを使用します。

【Q7】JSONフォーマットとCSVどちらのほうがデータの受け取りに適しているのですか?
【A7】JSONフォーマットです。ほとんどの言語においてJSONのライブラリが提供されており、構造に柔軟性があるためCSVよりもJSONのほうが圧倒的に使いやすいからです。

以上のことから、Flaskが如何にウェブアプリケーションのフレームワークとして優れているのか、ということを理解できたかと思います。IoTとFlaskは切っても切り離せない関係だということもよくわかりました。IoTについての理解が一段と深まったように思えます。
参考文献
【Python】Flaskとは?FlaskでWeb開発の基礎を学ぼう!
【Flask入門】Python初心者でもわかるフレームワークを解説!
PythonのFlaskで簡単なWebアプリケーションを作ってみよう!

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?