ども、木村です。本業はデータサイエンティスト。副業でアプリ開発をしています。
本記事では、効率的なFlutterの学習方法について解説していきます。
これからFlutterを学習する方
Flutterを学習できるサイトを探している方
- はじめに
- Flutter 学習のロードマップの使い方
- Flutterの学習におすすめのサイト 5選
- Flutter学習サイト1 公式チュートリアル
- Flutter学習サイト2 flutter-study.dev
- Flutter学習サイト3 Flutter開発で最低限知っておきたいDartの基礎知識
- Flutter学習サイト4 Flutter × FirebaseでTwitterみたいなSNSアプリを作成する【ログイン機能】【画像保存】
- Flutter学習サイト5 Flutter x Riverpod x MVVMで実現するシンプルな設計(Firebase, WebAPI対応)
- まとめ:インプットとアプトプットの継続が習得の鍵
はじめに
筆者はSwiftを1年、Flutterを2年ほど経験し副業で二つのアプリをリリースしました。
この記事では実際Flutterに入門する際に使用したサイトや教材についてご紹介していきたいと思います。
この記事で掲載している学習方法は「これから初めてFlutterについて学習しようとしている方」を対象にしています。
Flutter 学習のロードマップの使い方
まず、Flutterをどのようなステップで勉強すれば良いのか説明します。
ちなみにFlutterのロードマップについてはすでに先人の方が以下のようにまとめています。
このロードマップの活用方法について一点注意があります。
もちろん上記のロードマップを参考にすること自体は否定しませんが、これを一回だけ一通りやってもおそらく最初に習得した内容は忘れてしまうでしょう。
場合によっては道半ばで諦めて、Flutterの習得ができずに挫折してしまうかもしれません。
重要なのはインプットとアウトプットを繰り返しやることです。
個人的におすすめなのは上記ロードマップに書かれている学習の要素を定期的に見直し、ある程度の段階でサンプルや、ハンズオンを挟み実践的な実装をやることをお勧めします。
またこれらの要素を全て網羅していなくても、アプリは作れますしリリースもできます。
私の経験上では「Dartの基礎構文>Widgetの扱い方>ステート管理>Firebase」の順番で学習をすれば、品質は多少落ちるかもしれませんが多少のアプリは作れます。
つまり、必要となったタイミングで改めて勉強しても良いので、どうか挫折せず継続することに注力して、習得に挑んでいただけたらと思います。
学習はインプットとアウトプットをこまめに繰り返し実行していこう!
Flutterの学習におすすめのサイト 5選
さて、上記のロードマップに書かれていた学習要素を比較的網羅している教材をいくつかご紹介したいと思います。
以下紹介する順番に学習いただけると良いかと思っております。
ちなみに以下でご紹介している1と2、3を学んだ段階で「Dartの基礎構文>Widgetの扱い方>ステート管理>Firebase」についてはインプットできている状態になりますので、そこまでいったら一度アプリを作り込んでみることをお勧めします。
Dartの基礎構文・Widgetの扱い方・ステート管理・Firebaseについて学べたら一度自分でオリジナルアプリを作ってみよう
Flutter学習サイト1 公式チュートリアル
Flutterの公式チュートリアルは非常によくまとまっていますので、まずこちらを利用すると良いでしょう。
ただ全てやろうとするとかなりの量になりますのでまずは、「Get started」の内容を一通りやれば良いと思います。
ちなみにこちらのサイトは英語になります。英語が苦手な方は、日本語版を有志の方が作成していますのでこちらをご覧いただければ良いかと思います。
Flutter学習サイト2 flutter-study.dev
「Widgetの扱い方>ステート管理>Firebase」の範囲をカバーしているハンズオンの教材です。
かなり実践的な記事にもかかわらず、非常に丁寧に解説されています。
しかもこれ無料!!私は何度もお世話になりましたし、Flutter初学者の方へ一番おすすめしている教材です。
しかしながらこの教材は「Dartの基本構文、ステート管理のあり方については割愛しているのでそこについては別の教材で勉強する必要があります。
Flutter学習サイト3 Flutter開発で最低限知っておきたいDartの基礎知識
Dartの基礎構文について丁寧に解説しているUdemy教材になります。
Dartで調べるとUdemyの日本部門でベストセラー教材に選べれていることもあり、教材の質は問題なしです。
Flutterをより自分の思い通り制御するために、Dartの習得は必須になりますので是非参考ください。
概ね他の言語を習得していない人を想定したレッスンとなっています。少しわからない言葉が出ても調べればすぐにわかるので問題ないです。
話し方も聞き取りやすく配慮を感じました。
これだけで開発ができるわけではないですが、Dartってなんだろう、という疑問には応えられていると感じます。
このレッスンを土台として知識を増やしていけると思います。
出典:教材利用者コメント
Flutter学習サイト4 Flutter × FirebaseでTwitterみたいなSNSアプリを作成する【ログイン機能】【画像保存】
スマホ開発においてローカル環境のみでサービスを提供することは結構稀だと思います。
SNSや、ストレージサービスなどインターネットを経由してユーザとなんらかの通信のやりとりが発生する場合、Firebaseのようなサーバレスのクラウドサービスを使う機会が多くなります。
この教材では、Firebaseを使ってリアルタイムな情報のやりとりをハンズオン形式で学ぶことができます。
SNS系サービスの仕組みを学ぶというよりは、Firebaseの扱いを網羅的に学ぶ良い機会になるかと思いますので、Udemyでの受講をお勧めします。
簡潔によくまとめられてます。他言語の経験がり、初めてFlutterを学ぶのには最適でした。
出典:教材利用者コメント
Flutter学習サイト5 Flutter x Riverpod x MVVMで実現するシンプルな設計(Firebase, WebAPI対応)
Flutter開発の肝となりステートメント管理手法(Riverpod)と、MVVMフレームワークについて学ぶことができます。
画面の状態情報をどのように管理していくか、それぞれのDartファイルをどのように管理していくかが体型的に学ぶことができます。
かなり実践的な内容で今までの内容を多少なりわかっていないと難しく感じるかもしれませんが、この知識が習得できるとソースコードの保守性がかなり上がるのでおすすめです。
社のシステム設計、テックリードを担当しています。Flutter正式採用を検討中に当講座にめぐり逢いました。初級者はちょっと引っかかるかも?と思いますが、大変良い内容でした。
出典:教材利用者コメント
まとめ:インプットとアプトプットの継続が習得の鍵
Flutter学習のプロセスとおすすめのサイトについてご紹介しました。
冒頭でもお伝えした通り、一度で全てを理解することは難しく、挫折してしまう可能性もあるので、インプットとアプトプットの継続が習得の鍵となります。
一度ある程度インプットができたらUdemyなどでハンズオン教材を探して作ってみることをお勧めします。
それでは、良きFlutterライフを!!