のんびり精進

調べた情報などをおすそ分けできれば。

Flutter

Flutter で画像を一覧表示するときに注意すること

画像を多く表示する画面が複数あるアプリの開発に今携わっていて、注意点をチーム内でどう共有しようかと考えている間に一つの記事になりそうだと思ったので書くことにしました。 大量読み込みが起こりやすい Flutter で画像を含む一覧を作るのは簡単ですが…

Freezedの代替方法を考える(Immutability編)

前編では、同一性を判定できる機能を Freezed を使わずにクラスに持たせる方法を確認しました。 kabochapo.hateblo.jp 今回は immutability です。 前回は equatable を使うだけでできるという仮定で検証作業ばかりだったのですが、今回はいくつかの方法を試…

Freezedの代替方法を考える(同一性判定編)

以前に考えていたときに試したコードなどが発掘されたので記事にすることにしました。 まず Freezed について pub.dev 用途 Freezed は Dart のクラスの自作しにくい機能を自動生成によって楽に実現できるパッケージで、様々な機能があります。 同一性(Equa…

【Flutter】LicensePageのテキストのスタイリング

アプリでは、使っているフレームワーク、ライブラリ、パッケージ等のライセンスを表示する必要がありますね。 Flutter では LicensePage という widget を使うだけで表示することができます。 しかも Flutter 1.20 で 刷新 されて見やすくなりました。 とこ…

Dart/FlutterのローカルDBの比較

モバイル以外にも対応したローカル DB を使いたかったので、複数のパッケージを調べてみました。 Hive を特に詳しく調べたため、そこだけ情報量が多めです。 2022年12月補足(結論) 記事を書いたときは Isar に注目していましたが、現在は Drift に落ち着き…

Dart/Flutterでドメイン駆動設計(DDD)してみた - 実装編

前編である「導入編」の続きです。 まずそちらをざっと一読されることをお勧めします。 kabochapo.hateblo.jp ソースコードは本記事投稿後にたびたび改変しており、記事内容との相違があります。ご了承ください。 github.com 作るアプリについて(ご注意) F…

Dart/Flutterでドメイン駆動設計(DDD)してみた - 導入編

カテゴリ別にメモを管理できるアプリの開発を DDD(Domain-driven design)でやってみたものです。 github.com 二つの記事から成り、この記事はその一つ目です。 導入編(本記事) 解決しようとした問題点や、DDD と関連用語の意味の他、モデリング・レイヤ…

【Flutter】依存オブジェクトの注入

1ヶ月ちょっと前に Flutter の provider というパッケージに関する記事を書きました。 qiita.com そこでは、provider の機能の一つとして「DI の仕組みを提供」と説明しています。 しかし記事を複雑化するのを避けて掘り下げないままにしました。 代わりにこ…

【Dart/Flutter】静的解析の強化と注意

静的解析の機能は Dart や Flutter のツールに組み込まれていて、IDE でもプラグインで提供されていますが、そのまま使っても足りないことがわかりました。 例えば、const を付けるのが望ましい箇所であっても Android Studio や VS Code は教えてくれません…

【Flutter】SliverAppBarとTabBarを組み合わせたときに各タブのスクロール位置を保持したい

Flutterでは伸び縮みするApp Barを使うのも簡単に実装できます。 でも、タブを表示して中にListViewなどを表示すると、各タブ内のスクロール位置が連動してしまいました…。 例えば、1つ目のタブのリストでスクロールして2つ目のタブに切り替えると、そのタブ…