🐶

初学者のためのFlutter学習コース2022

2022/12/07に公開

はじめに

本記事はFlutter Advent Calendar 2022 8日目の記事です。

Dartは素晴らしい言語ですし、Flutterは開発者にとって、とてもフレンドリーです。
公式ドキュメントもYoutube動画も豊富で、日本語の技術記事も多くコミュニティも賑わっています。

ただ、初学者にとっては何から手をつけて良いのかわからないかもしれません。
そんな方々の目安としてこの記事を書きました。

対象者

・プログラミング自体は全くの初心者ではない。
・モバイルアプリ開発をしたことがないし、それ関する分野は全くわからない。
・やる気に満ち溢れているので、多少ハードでも大丈夫。
・英語は堪能ではなく、出来るだけ日本語の情報で学習したい。

個人的におすすめな心構え

学ぶ前に、おすすめの心構えを記します。

作ってみたいアプリを1個決めておきましょう。

学習している時に、そのアプリを再現するためにはどんな機能が必要なのか、どんなWidgetを使うのかをイメージしやすくなります。1つで良いのでイメージを頭の片隅に置いて学びましょう。

わからなければ必ず調べましょう。

Flutterを学んでいる途中で、壁にあたる事がきっとあると思います。その時に、公式ドキュメントや技術記事などの他の情報源を探して学びましょう。

調べてもわからない時は、メモをして次に行きましょう。

初学者の段階では、理解できるところから理解するというのが個人的は重要だと思います。モチベーションは、始めようと思った時が最高潮かつその後はなかなか上がりません。やる気の続くうちに理解出来るところから進めて、しばらくすると同じ問題や壁にあたります。その際に戦いましょう。今はまだレベルが足りません。ただし、必ずメモをして次に進みましょう。

学習の流れ

1. 環境設定をする

必ず公式サイトを元に行いましょう。どんな事を学ぶ時でも、主軸は公式が出す情報を。詰まった時に他の情報源を参考にするというのが良いと思います。
https://docs.flutter.dev/get-started/install

2. 体系的にまとまっているものを1つする。

以下の動画を全てやり切りましょう。機械翻訳ですが、日本語字幕があります。
https://www.udemy.com/course/learn-flutter-dart-to-build-ios-android-apps/

この動画をやり切れば、初学者は脱却したと言えると思います。
これだけです。これだけで、Flutterの初歩は学習したと言えます。ただ、これだけだからこそ大変だと思います。情報の新鮮さが無くなり、やる気が薄れます。

わからない所は他の文献を参考にしながら、主軸をこの動画にして、学習することをおすすめします。

また、上記のUdemyを学びながら、以下の動画を、1日5~10個を目標に見ていくと、より力が付くのでお勧めです。
YouTubeのvideoIDが不正ですhttps://www.youtube.com/playlist?list=PLjxrf2q8roU23XGwz3Km7sQZFTdB996iG

Widgetについて

ほとんどUdemyの動画内で語られている事と同じですが、日本語の動画なのでわかりやすいです。
https://www.youtube.com/watch?v=UCF8iVqoq4Y

Stateについて

以下の二つの動画が、正確かつシンプルにまとまっていると思います。深く学ぶ段階は後述しますので、まずはイメージで良いと思います。
https://www.youtube.com/watch?v=QlwiL_yLh6E
https://www.youtube.com/watch?v=FL_U8ORv-2Q

3. MutableとImmutableについて学ぶ

この3は、次の4を理解するための前置きです。
4の後に3でもいいですし、3の後に4でも良いですが、MutableとImmutableについては、バグの少ないプログラムを書くためには必須の知識かつ深い理解が必要になります。既に知っている方は省略しても良いかもしれません。以下の記事がおすすめですが、わからなければ他言語の記事で良いので、深く学んでください。

https://medium.com/flutter-jp/immutable-d23bae5c29f8

4. Flutterの内側を知る。

FlutterがどのようにWidgetを生成しているのか、どのようにして状態が管理されるのか、などを知る事で、バグを修正する時に非常に役に立ちます。ただ、少し難しいかもしれません。
今は「わかる」ではなく、「知る」を目的に読んでみてください。

上から順に読んでいくことをお勧めします。

【Fltuterの内側関連】

https://zenn.dev/kazutxt/books/flutter_practice_introduction/viewer/54_chapter6_tree

https://medium.com/flutter-jp/dive-into-flutter-4add38741d07

https://zenn.dev/chooyan/books/934f823764db62

【State関連】

https://zenn.dev/ueshun/articles/0227f3add1b5b3

https://zenn.dev/chooyan/articles/cea8f55d9bbeec

5. 自分の作りたいアプリを作る

最初にイメージしていたアプリを作ってみましょう。
ここまでインプットを繰り返していたため、アウトプットをしておくのが記憶の定着に役立つと思います。最初に決めたアプリを作ってみましょう。

作るものが無ければ、自分にとって身近なアプリをFlutterで作ってみましょう。

6. 知識を深める

ここまで来る事が出来ると、「わからない事がわからない」という段階は過ぎ去り、次に何を学ぶのか。というのは溢れかえっていると思います。

例えばDart言語について知識を深めたり、Flutterアプリ開発の設計について学んだり、状態管理のパッケージを学んだり、FirebaseやローカルDBパッケージの知識を深めたりなど、挙げるとキリがありません。ぜひネットに溢れている色々な情報に触れて知識を深めましょう。

ここまでやり切れる人は、ほとんどいないと思います。自信を持って初学者を脱却したと言えるでしょう。

まとめ

あくまで2022年12月段階での私の勧めです。
これからFlutterを学ぼうと思っている方は上記を参考にしてみてください。

既にFlutterについて詳しい方は、ぜひ他にお勧めの学習源であったり手順があれば教えて頂けると幸いです。

Discussion