Home

Flutter: assert と throw の使い分け

July 15, 2024

Dart 言語には assert という機能があります。assert の第一引数が条件式で、こちらが true であれば何も起きず、false であれば例外が throw されます。ass ...

Flutter: ツリーシェイキングの動作を確認

July 14, 2024

参考 DevTools でのアプリケーションのサイズ確認について Measuring your app’s size | Flutter https://docs.flutter.dev/perf/app-size Use the app size tool | Flutter https://docs.flutter.dev/tools/devtools/app-size ツリーシェイキングについて Excluding Dart code from the release compiled executable | Flutter Community | Medium https://medium.com/flutter-community/excluding-dart-code-from-the-release-compiled-executable-7af8c18cd241 ビルド後の ...

Dart: Stream の使い方

July 13, 2024

Flutter において Dart の Stream はなくてはならない存在。たとえ開発者が意図的に使っていなかったとしても、ステート管理ライブラリの屋台骨は Stream が支えています。 StreamController() ...

Dart: 拡張メソッドの使い方

June 20, 2024

既存のクラスのコードそのものには手を入れる事なくメソッドを追加する方法が提供されています。 Extension methods | Dart https://dart.dev/language/extension-methods 使用例 # calculator.dart class Calculator { int value = 0; void add(int a, int b) { value = ...

Flutter: DevTools について

June 11, 2024

ほんとにただの1行メモで恐縮ですが、Flutter の DevTools の説明は以下の動画がヒジョーに分かりやすい! Dive into DevTools - YouTube https://www.youtube.com/watch?v=_EYk-E29edo 動画では DevTools でできる以下のことが ...

Dart: Self タイプの実現方法

June 9, 2024

現在 Dart には Self 型を表すようなキーワードはありません。キーワードはないものの、Self 型を実現することはでき、具体的には次のように書けば実現可能 ...

Flutter: ウィジェットテストの動きをシミュレータで表示する

June 8, 2024

通常のテスト方法 # flutter create でアプリを作成すると次のテストファイルが作られています。 myapp/test/widget_test.dart // This is a basic Flutter widget test. // // To perform an interaction with a widget in your test, use the WidgetTester // utility in the flutter_test package. For ...

Flutter: ライフサイクルメソッドの実行順番

June 7, 2024

次のメソッドの実行順番を確認するためにログを出力させてみた。 createState() build() setState() initState() didChangeDependencies() didUpdateWidget() deactivate() dispose() import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatefulWidget { const MyApp({ super.key, }); @override State<MyApp> createState() { print("MyApp.createState()"); return _MyAppState(); } } class _MyAppState extends State<MyApp> { int ...

Flutter: Provider を使ったカウンターアプリ

June 3, 2024

provider | Flutter package https://pub.dev/packages/provider こんな感じ。 import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; void main() { runApp(const MyApp()); } class CounterModel extends ChangeNotifier { int count = 0; void increment() { count++; notifyListeners(); } } class MyApp extends StatelessWidget { const MyApp({ super.key, }); @override Widget build(BuildContext context) { return MaterialApp( home: ChangeNotifierProvider( create: (_) => CounterModel(), child: const MyPageWidget(), ), ); } } class MyPageWidget extends StatelessWidget ...

VMware Fusion Player で Ubuntu を起動する

April 20, 2024

Mac に VMware Fusion Player をインストールし、その上で Ubuntu を起動するところまでの手順をメモしていきたいと思います。 VMware Fusion は、Mac の仮想化ツールです。 VMware Fusion is a software hypervisor ...

Puppeteer を Cloud Run で動かすまで

December 1, 2023

ローカルで正常に機能していた Puppeteer ですが、Cloud Run にデプロイした後はエラーが出てしまい動かなくなりました。対応した手順のメモ書きです。 デプロ ...