pythonの軽量フレームワーク「Flask」の紹介と学習するためのコンテンツについて

画像出典:Welcome | Flask (A Python Microframework)から

今回、pythonの軽量フレームワーク「Flask」と学習するためのコンテンツをご紹介したいと思います。

pythonとは?

www.python.org
Flaskの説明に入る前にプログラミング言語であるpythonについて確認しましょう。

Pythonは1991年にオランダ人のグイド・ヴァン・ロッサム氏プログラミング言語で可読性が高くシンプルにコードが書けるのが特徴です。Web開発やアプリ開発はもちろん可能ですが、pythonは他言語に比べ数値計算やデータ解析に特化しているため、最近では人工知能の分野で注目されています。今後もデータ解析やAI分野の需要が伸びていくことが予想されるため将来性のある言語です。

有名なwebサイトだとユーチューブやインスタグラムはpythonで作られて今s。

www.youtube.com

www.instagram.com

rubyやphpが登場する前からpythonは存在していましたが、youtubeやinstagramなどのようにwebアプリケーション開発として使われ始めてからまだ10年前後しか経っていません。webアプリとして歴史が浅いので、今からpyhton学習を始めておけば、5〜10年後にpythonの熟練プログラマーになれるかも知れませんね。

pythonの軽量フレームワーク「flask」とは?

flaskはArmin Ronacherによって開発され、2010年4月1日に公開されたpythonのフレームワークです。開発者のArminさんは『エイプリルフールのジョークとして作ったのだけれど、有名になって、いつのまにか本格的なアプリケーションになってしまった」と述べています。
pythonで有名なフレームワークと言えば、DjangoとFlaskですが、Flaskは軽量なウェブアプリケーションフレームワークであるのが特徴の一つで、最小限の機能のみ備わっています。

Flaskの特徴

メリット

覚えることが少なく学習コストが低い。

先ほども述べたようにFlaskは最小限の機能しか備わっていないため、覚えることが多くないです。学習コストは低いため気軽に始めることができます。

開発効率

最小限の機能しか持たないため、簡単にwebアプリケーション開発ができます。手軽に何かを作ることが出来るマイクロフレームワークですが、必要に応じて機能を拡張することも可能です。

デメリット

大規模開発に向かない。

最小限の機能しか備わっていないため、大規模開発にはあまり向きません。その場合は、FlaskではなくDjangoを採用することをおすすめします。

日本語のドキュメントが不足している。

Flaskについてネットで検索する時に感じるのが情報量の少なさです。歴史が浅い分、railsやPHPに比べて情報量が少ないです。。

flaskを学ぶためのコンテンツ

paizaラーニング Webアプリ開発入門 Flask編

paiza.jp

プログラミング経験が浅く、これからflaskの学習を始めようと考えている方はpaizaラーニングがおすすめです。
progateと同じく環境構築が不要で、気軽にウェブアプリケーション開発の学習を開始することができます。paizaラーニングを通して簡単な掲示板、メモ帳などを
作成することができます。

Flaskの公式ドキュメント

こちらはflaskの公式ドキュメントで英語版と日本語版があります。
このドキュメントを参照に学習をしていくと、ユーザー登録、ログイン機能、記事の投稿・編集・削除など簡単なブログアプリケーションを作成する方法を学習できます。
flask.pocoo.org

a2c.bitbucket.io

Pythonで学ぶwebアプリケーションの作り方by Flask

flaskの公式ドキュメントを参考に作られたサイトです。
Flaskの環境構築から使い方の基本など解説しています。

study-flask.readthedocs.io

Flaskチュートリアル – Pythonでツイッターの分析ツールを作ってデプロイしよう!

こちらはDaiさんのnote記事です。簡単なツイッターの分析ツールを作成しデプロイするところまで学習できます。
興味のある方は是非参考にしてみてください。

note.mu

note.mu

【画像判定AI自作にチャレンジ!】TensorFlow・Keras・Python・Flaskで作る機械学習アプリ開発入門

このudemyの動画では画像判定のAIを作成し、最終的にflaskを使いwebアプリケーション化するまでの手順を学習することができます。
flaskの解説時間は40分程度しかありませんが、この動画を通してpythonとTensorFlow・Kerasを用いた機械学習を学ぶことができます。

www.udemy.com

最後に

今回、flaskの記事を書いた理由は8月から働くアメリカのインターン先企業で扱っている技術がpythonとflaskだからです。
インターン開始まであと4ヶ月程あるので、flaskの知見をある程度深めてから働けるように今のうちから準備していきたいと思います。

最新情報をチェックしよう!
>文系エンジニア大学生の技術ブログ

文系エンジニア大学生の技術ブログ

社会が多様化していく中、大学生の学生生活も多様であるべきと考えています。主にエンジニア向けにITやプログラミングなどの技術系と大学生向けに休学、留学、海外生活、トビタテ留学、長期インターンに関する記事を書いています。