見出し画像

「The Complete 2020 Flutter Development Bootcamp with Dart」を修了したので感想を書く

この記事は

マルチプラットフォーム・フレームワークであるFlutterを勉強するため、UdemyでGoogle Flutterチームが提供している「The Complete 2020 Flutter Development Bootcamp with Dart」を受講・修了した感想を書いていく記事です。


この記事で話さないこと

・FlutterやDartに関する基礎知識
 →あくまでコースを受講した感想です。

・技術に関するポジショントーク(Flutter最高、〇〇はだめみたいな)
 →全ての技術は皆違って皆良いのです。


コースのリンク


個人的に良かった点

①Flutter/Dartの基礎から丁寧に学べる

コースはまずFlutterを開発する環境づくりからスタートし、Android / iOSエミュレータの準備、Android StudioでのFlutter開発準備をします。

Androidアプリエンジニアとしては、使い慣れているAndroid Studioで説明してくれるのはありがたかったです。

他のIDEとしては、VSCodeが紹介されてましたが、あくまで名前を挙げる程度でした。

その後はGithubで公開されているrepositoryをローカルにcloneして、サンプルアプリを作っていく形で進んでいきます。

Flutterでの実装方法もそうですが、Dart、ひいてはオブジェクト指向型プログラミングに関する基礎の基礎から丁寧に説明されています。(例えば、変数とは何か?レベルで)

そのため、プログラミング初心者でも安心して受講ができるレベルだと思います。

逆に言うと、プログラミング経験者には「それはもう知ってるよ」と思ってしまうであろう部分がたびたびありました。

(事実、インストラクターも「次回のセッションはプログラミング知識がある人ならスキップしても良い」的なことをよく言ってました)

動画だけでも全部で28時間あるので、わかる部分があればスキップしても良いでしょう。

私は全部試聴しましたが、修了まで1ヶ月以上かかりました。。。

また、ネイティブの中の処理だけではなく、Firebaseを使ったcloudとの連携だったり、web APIを使った実装などを学べるのも良いポイントです。

このコースだけでもネイティブアプリ開発の基礎は満遍なく学べそうです。(あくまで基礎ですが)

②全編英語だけど説明は理解しやすい

このコースは字幕含めて全編英語です。

英語が苦手な方(自分も含む)にとっては躊躇してしまう要因かと思いますが、出てくる英語はさほど難しくなく、私でも音声+字幕で大体は理解できました。

インストラクターの説明・口調も明瞭で、時よりジョークを交えながら楽しく話してる感じがあります。あとたまにA○○leを暗にディs(略

また図やアニメーションを多用して説明してくれるので、そこも理解度を高めてくれます。

このコースのためにこれだけのアニメーションを作ったのかと思うと、さすがGoogleさんだなと思った次第です。

③(少しだけど)モダンなアーキテクチャに触れられる

最後の最後で、Flutterで用いられるアーキテクチャの話が出てきます。

それまでのコースのようにStatefulWidgetとStatelessWidgetに直書きするやり方だと、値の変化を親Widgetから子Widgetに伝播させる際、A→B→C→...→Nのように値のバケツリレーのような状態になってしまいがちです。(prop drilling問題)

そういった問題を解決する方法として、様々なパターンが存在します。(ReduxやScoped Modelなど)

昨年まで、その中でもBLoCパターンが主流だったようですが、最近はProvider + ChangeNotifierが(Googleからも)推奨されているようです。

最後のセクションでは前述のバケツリレーのような実装(Lifting State Up)をしてコスト感や問題感を確認しながら、Providerでリファクタリングすることができます。

この部分は特に勉強になったなぁと個人的に思った部分です。


こういった人におすすめ

1. プログラミング初心者を含め、Flutterでの開発が未経験な人

とっても丁寧に解説してくれるので、初心者がこれから始めても問題はないのでは?と感じました。

逆に言うと、すでにFlutter開発を経験して自走している人には物足りないと感じる可能性はあります。

2. ネイティブアプリ開発に興味がある人

個人的な感想ですが、初心者がFlutterからネイティブアプリ開発を始めるのもありでは?と思うくらい良いフレームワークだとこのコースを通して感じました。

特にHot ReloadはAndroidでも採用してほしい機能です。

ただ、webアプリケーション開発については一切触れないので、そこを期待する方は要注意です。

3. (番外)英語に対して抵抗が少ない人

おすすめというか、少なくとも「英語は絶対無理、見たくもない」という人でなければ問題なく受講できると思います。


最後に

Udemyは定期的にセールをしていて、私の場合1,200円でこのコースを受講できました。

1,000円弱でこのレベルのカリキュラムを受けられるのは破格だと思いますので、セールで安くなった際は購入してみてはいかがでしょうか。

この記事が気に入ったらサポートをしてみませんか?