本記事ではこれからPythonのフレームワーク「Flask」を学ぶ方に向けてFlaskの学習手順とおすすめの学習サービスを紹介していきたいと思います。
この悩みに答えていきます。
筆者は文系大学生ですが、インドへのIT留学、エンジニアインターン、海外エンジニアインターンを経験してきました。シリコンバレーの企業でエンジニアインターンをしていた時にFlaskを使っていたので、現地に着く前の独学でFlaskを学習しました。そのため、私が利用していて良かったと思う学習サービスや教材を紹介していきます。
Flaskの学習手順
まずはFlaskの学習手順を確認していきましょう。
- Flaskの概要とメリット・デメリットを理解する
- 基礎的な文法、概念を理解する
- Flaskの概要、文法の理解が深まったら、実践的に学習しながらアプリ開発してみる
Flaskの概要とメリット・デメリットを理解する
プログラミング学習の王道の手順ですが、まずは学ぶプログラミング言語の概要とメリット・デメリットを理解します。学ぶプログラミング言語の特徴を理解することによって学ぶ理由が明確になります。DjangoやRuby on Railsとの違いは何か考えてみましょう。
基礎的な文法、概念を理解する
Flaskの特徴を理解できたら、学習サービスや書籍を活用してプログラミング学習をします。フォームの投稿やDBの連携など簡単な実装をしてみてFlaskのプログラムの流れや文法の理解を深めます。ProgateやドットインストールにはFlaskコースがないので、後ほど紹介するPaizaにあるFlask入門コースがおすすめです。
Flaskの概要、文法の理解が深まったら、実践的に学習しながらWeb開発してみる
Flaskの全体像の理解が深まったら、実際にアウトプットしながら成果物を作成していきます。その際にUdemyのおすすめのFlaskコースがありますので、後ほど紹介しますね。
Flaskの特徴
- 軽量
- 機能がシンプル
- カスタマイズ性が高い
Flaskの特徴を三つの言葉に表現するなら軽量・シンプル・カスタマイズ性の高さです。Flaskはマイクロウェブアプリケーションフレームワークで「マイクロ」と書いてあるということもあり、標準搭載されている機能は最小限に抑えられています。RailsとDjangoと比較してもデフォルトのファイル量が全く違うはずです。シンプルなので学習コストが低く意外と初心者向けのフレームワークです。ただし、RailsやDjangoと比べて日本語のドキュメント数が少ないので少し難易度高めになっています。
Flaskを学ぶためにおすすめの学習サイト
学習方法を確認したら、早速学習サイトや書籍を活用しながらFlaskの学習をしていきます。先程の学習方法の順番に沿って紹介していきます。
【日本語版】 flaskチュートリアル
こちらは日本語版チュートリアルになります。このドキュメントに沿ってやっていけば、簡単なブログを作成できますが、Railsチュートリアルのようにプログラミング初心者が取り組むと説明が少なく難しいです。説明が不足しているので、あまりおすすめできないかもしれません。。一応、公式チュートリアルということなのでザーッと目を流しておきましょう。
Flaskチュートリアル study flask 1 ドキュメントPaizaのWebアプリ開発入門 Flask編(全5レッスン)
Flask初心者であればPaizaのWebアプリ開発入門 Flask編がおすすめです。動画学習を通じてFlaskの概念や文法、DB周りなど基本的な箇所を学ぶことができます。Progateのように環境構築をする必要がなく、数時間取り組めば全コースを修了できるので、気軽に学習できるかと思います。ProgateやドットインストールではFlask入門コースが用意されていないので、Paizaを使ってみるといいですね。Paizaを利用するのに月額980円かかるのでその点だけご注意ください。
Webアプリ開発入門 Flask編のレッスン一覧 | プログラミング学習サービス【paizaラーニング】【Udemy】Python+FlaskでのWebアプリケーション開発講座!!~0からFlaskをマスターしてSNSを作成する~
Flaskの基礎を理解したら、Udemyを活用して実践的に開発をしていきます。Udemyは2週間に一度セールを実施しており、セール時であれば1600円前後で教材を購入できます。
こちらのUdemyコースはFlaskを用いてPythonの本格ウェブアプリを作成できます。Pythonの文法、Flaskの機能からWeb開発でのセキュリティ、実践的なSNSアプリケーションサンプル作成を通じてFlaskをマスターします。
身につくスキル
- Pythonの基本的なコーディング
- フロントエンド、バックエンドの基本的なWebアプリケーション開発の知識
- FlaskのMVTモデルを用いたアプリケーションの開発技術
- Flaskでのセキュリティ対策、Ajaxなどの技術の利用
【Udemy】画像判定AIアプリ開発・パート1TensorFlow・Python・Flaskで作る画像判定AIアプリ開発入門
AI学習の一環でFlaskを学習される方はこちらのコースがおすすめです。
コースではPython 3 でクローリングして画像データを収集、加工し、画像分類器を作成します。ディープラーニングによるモデル作成、改善を自分の集めたデータで実践します。Flaskでウェブアプリ化, XcodeでiOSアプリ化にも挑戦できます。
身につくスキル
- オリジナルデータを使って画像分類器を作れるようになります
- 画像判定AIをFlaskでウェブアプリ化できます
- Flaskでウェブアプリケーションを作れるようになります
- Pythonによるクローリングを用いたデータ収集ができるようになります
【Udemy】Python and Flask Bootcamp: Create Websites using Flask!
英語を使ってFlaskを学びたいという方はこちらのコースがおすすめです。私はこちらの教材を使いFlaskを学びました。Flaskの概要から基礎文法、DBの基礎まで丁寧に解説されています。
身につくスキル
- Pythonの基礎文法
- WTFormsを使ったフォームの実装
- ORMとしてのSQLAlchemy の知識
- REST API、認証機能
- WEBアプリ開発スキル
まとめ
既にDjangoやRailsを習得されている方であれば、Udemyコースを受講していただければFlaskの理解がすぐに深まると思います。一方でまだPythonの知識が曖昧な方、フレームワークの理解が不足している方は理解するのに時間がかかるかもしれません。焦らずに学習していただいて分からないことがあれば、Q & Aサイトを活用して質問することが大事です。Flaskを学ぶ明確な理由がない場合はRailsやDjangoのフレームワークを先に習得すると良いかもしれませんね。
【プログラミング初心者向け】UdemyのPythonおすすめコースまとめプログラミングの質問サイトまとめと回答率が高くなる質問の仕方