🟩 参考URL - Ki-Kobayashi/flutter_wiki GitHub Wiki

◆Flavorの分け方
https://zenn.dev/altiveinc/articles/separating-environments-in-flutter#%E5%8F%82%E8%80%83%E8%A8%98%E4%BA%8B
 ※Enviedとの掛け合わせ
 https://fnfidanci.medium.com/how-to-secure-api-keys-in-flutter-41cfb31ae52a
◆YUMEMI
https://github.com/yumemi-inc/flutter-training-template
◆YUMEMI育成
https://speakerdeck.com/morikann/yumemino-flutter-enziniayu-cheng-fang-fa?slide=51
◆Flutterアプリでやるべきこと
https://www.memory-lovers.blog/entry/2023/07/12/202814
・ローディング、スナックバー、ダイアログの共通化
・オンライン状態の監視
・パッケージ名などの変更(change_app_package_name)
・Envファイル(Envied)の準備
・フレーバー分け(flutter_flavorizr | Flutter Package
Flutter Native Splash:スプラッシュの生成
Flutter Launcher Icons:アプリアイコン生成(flutter_launcher_icons)
Flutter App Badger:アプリアイコンのカウント管理(アプリアイコンの右上に通知数のバッジを表示)
Flutter Localizations:多言語化
https://iij.github.io/bootcamp/#_2023%E5%B9%B4%E5%BA%A6%E3%82%AB%E3%83%AA%E3%82%AD%E3%83%A5%E3%83%A9%E3%83%A0%E4%B8%80%E8%A6%A7
◆update guard
https://zenn.dev/r0227n/articles/riverpod-asyncnotifier-updatemethod
◆AsyncNotifierの更新3つ
https://github.com/rrousselGit/riverpod/discussions/2423
◆AsyncValue を使ってローディング表示、ダイアログ表示、スナックバー表示の共通化
https://zenn.dev/flutteruniv_dev/articles/20221214-090833-flutter-async-value
◆公式:Apiレベル対応表
https://developer.android.com/guide/topics/manifest/uses-sdk-element?hl=ja#api-level-table
◆アプリ開発でFlutterを導入した話
https://cam-inc.co.jp/p/techblog/806118592415270021
◆【MethodChannel】KotlinでNative側を実装しFlutterと連携
https://isub.co.jp/flutter/flutter_native_linkage_with_kotlin/
◆Riverpod速習
https://qiita.com/DiegoHonda/items/b0d70b369428a13a6702
◆【Flutter】AsyncValue を使ってローディング表示、ダイアログ表示、スナックバー表示の共通化をしてみた
https://zenn.dev/flutteruniv_dev/articles/20221214-090833-flutter-async-value (編集済み)

iij.github.io

.

✨✨✨ Kotlin ✨✨✨

◆ runCatchingとtry / finallyの違い https://www.baeldung.com/kotlin/runcatching-vs-try-finally

🟩🟩🟩 重要 🟩🟩🟩
:gift::gift::gift:gYUMEMI
https://speakerdeck.com/morikann/yumemino-flutter-enziniayu-cheng-fang-fa?slide=42
https://tech.excite.co.jp/archive/category/Flutter
:gift::gift::gift:go_router(ボトムナビゲーションの状態管理)
https://zenn.dev/flutteruniv_dev/articles/stateful_shell_route
:gift::gift::gift:環境構築
https://www.memory-lovers.blog/entry/2023/07/15/132358
:gift::gift::gift:セキュリティ
https://speakerdeck.com/b4tchkn/flutterapurinosekiyuriteidui-ce-wokao-etemiru?slide=5

https://zenn.dev/flutteruniv_dev/articles/20221214-090833-flutter-async-value#%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3%E5%87%A6%E7%90%86%E7%8A%B6%E6%85%8B%E3%81%AE%E3%83%97%E3%83%AD%E3%83%90%E3%82%A4%E3%83%80%E3%83%BC%E3%82%92%E7%94%A8%E6%84%8F%E3%81%99%E3%82%8B

:gift::gift::gift: エラーハンドリング
https://zenn.dev/masakunn/articles/e9244ba264578e https://zenn.dev/muttsu_623/articles/b928bad493a2c7f8b32f#discuss
https://zenn.dev/muttsu_623/articles/b928bad493a2c7f8b32f#discuss
https://dev.to/ashishrawat2911/handling-network-calls-and-exceptions-in-flutter-54me
:gift::gift::gift: (無料)Flutter学習サイト
https://www.kodeco.com/books/flutter-apprentice
https://github.com/kodecocodes/flta-materials
:gift::gift::gift: レビュー観点表
https://notion.yumemi.co.jp/flutter%E7%A0%94%E4%BF%AE%E8%AA%B2%E9%A1%8C%E3%81%AE%E3%83%AC%E3%83%93%E3%83%A5%E3%83%BC%E8%A6%B3%E7%82%B9%E8%A1%A8

:gift::gift::gift: プログラミングでよく使う英単語のまとめ【随時更新】
https://qiita.com/Ted-HM/items/7dde25dcffae4cdc7923#%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%A8%E7%99%BB%E9%8C%B2%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
:gift::gift::gift:【Flutter】Flutterアプリの安全な変化と拡大を支えるアーキテクチャと単体テスト
https://www.docswell.com/s/tfandkusu/Z4X2DZ-flutterkaigi2022/27
https://github.com/tfandkusu/flutter_architecture_sample
:gift::gift::gift:【Flutter】go_router+RiverpodでLogin前とLogin後で遷移先を変える
https://zenn.dev/maropook/articles/6811221688c863
◆DraggableScrollableSheet
https://brewyourtech.com/draggablescrollablesheet-in-flutter/
◆RiverpodのAsyncValueのguardメソッドが便利
https://zenn.dev/shintykt/articles/f9948ac00c7296
◆DDDを実践するための手引き(リポジトリパターン編)
https://zenn.dev/kohii/articles/e4f325ed011db8#%E3%83%AA%E3%83%9D%E3%82%B8%E3%83%88%E3%83%AA%E3%81%AE%E5%AE%9F%E8%A3%85

◆Riverpod v2のAsyncValueを理解する
https://zenn.dev/tsuruo/articles/52f62fc78df6d5#value%E3%83%BBvalueornull
◆Riverpodを学んで初学者の壁をぶち破る
https://qiita.com/taisei_dev/items/4c9d9572a56051a1d51f#api%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%81%AE%E5%AE%9F%E8%A3%85
◆Flutter Riverpod Generatorでプロバイダーを自動生成する方法
https://codewithandrea.com/articles/flutter-riverpod-generator/
◆Flutterアプリで抽象化とリポジトリパターンを効果的に使用する方法
https://codewithandrea.com/articles/abstraction-repository-pattern-flutter/
◆Riverpod アーキテクチャでデータを取得し、データミューテーションを実行する方法
https://codewithandrea.com/articles/data-mutations-riverpod/
◆Flutter Riverpod のヒント: FutureBuilder や StreamBuilder ではなく AsyncValue を使◆
https://codewithandrea.com/articles/flutter-use-async-value-not-future-stream-builder/
◆新しい Flutter Riverpod Generator で Notifier と AsyncNotifier を使用する方◆
https://codewithandrea.com/articles/flutter-riverpod-async-notifier/

🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩

. 🟩:SupaBase
https://qiita.com/dshukertjr/items/ff27741ce3d98924c10a

🟩:Codemagicの導入
ビルドからデプロイまで全て手動で行うのは大変でしたが、現在ではFlutterなどモバイルに特化したCI/CDツールであるCodemagicの導入 を検討

🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩
🟩:go_router で遷移アニメーションを実装する方法
https://docs.page/csells/go_router/transitions

🟩:FlutterでGoogle Fontsを扱う(google_fontsパッケ ージ) の使い方

🟩:MaterialAppにおけるTypographyの役割を理解
https://zenn.dev/tsuruo/articles/576a98ec2f016b#texttheme

🟩:sharedPreference

https://note.com/mukae9/n/n30c6faf174d3

🟩:adbコマンド利用理由
https://developers.cyberagent.co.jp/blog/archives/27889/

🟩:ファイルパス補完プラグイン
https://zenn.dev/umi_mori/articles/dd121abf2a2f77
◆ファイルパスの補完が聞くようになるVSCode:プラグイン(asset/images... のような打ち間違えがなくなる)
Path Intellisense

🟩Retrofit(Dio)がいい感じ
https://qiita.com/190yamashita/items/fc570a117ed2a5c713b3
https://www.egao-inc.co.jp/tech/flutter_retrofit/
🟩モダンな Flutter アプリ設計
https://developers.cyberagent.co.jp/blog/archives/36149/
🟩参考
stack rowでかこう?
https://medium.com/devtechie/sizing-and-fit-behavior-of-flutter-stack-widget-explained-69045696440a
https://api.flutter.dev/flutter/widgets/LimitedBox-class.html
🟩参考
https://github.com/RivaanRanawat
🟩deeplinkでアプリを開く実装
https://qiita.com/ling350181/items/9cdffa3bb9dbe003aeb3
🟩参考色々
https://github.com/bizz84/flutter-tips-and-tricks/blob/main/tips/0081-future-provider-riverpod-generator/index.md
🟩Logベストプラクティス
https://blog.logrocket.com/flutter-logging-best-practices/

🟩アーキテクチャー(Riverpod)
https://zenn.dev/flutteruniv/books/flutter-architecture/viewer/5_layered-architecture
https://codewithandrea.com/articles/data-mutations-riverpod/

https://zenn.dev/koji_1009/articles/18a8a54b615ae7#flutter%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E7%8A%B6%E6%85%8B%E7%AE%A1%E7%90%86

🟩Jsonファイルの読み込み
 ※pubspec.ymlに、「assets/stub/xxx/」を追加
 ※XxxResponse:freezzed+@JsonKey指定し、Json読み込みできる形にしておく

  @override
  Future<XxxResponse> getXxxList(
      GetXxxRequest reqBody) async {
  🟨オブジェクトリストをJsonファイルから読み込む場合
    // final content = json.decode(await rootBundle.loadString(
    //     'assets/stub/xxx/dummy_xxx.json')) as Iterable;
    // return content.map((item) => XxxResponse.fromJson(item)).toList();
  🟨オブジェクトをJsonファイルから読み込む場合
    final content = json.decode(await rootBundle
        .loadString('assets/stub/xxx/dummy_xxx.json'));
    return XxxResponse.fromJson(content);
  }