
【まとめ】Flutterでログ出力してデバッグする方法 | Dart【2022】
はじめに
今回の記事では、Flutterのログ出力に関して解説していきます。
当たり前の話ですが、プログラミングをする際、ログ出力をしてデバッグするのは大切です。
もしもあなたが、プログラミングをしていて、適切なデバッグすら出来ない状態であるならば、
効率的な開発を進めることは文字通り、不可能になるでしょう。
OSSに関わる文化がどういうものかを教えてくれる本で、とてもオススメです。OSSを使ってる全ての人に読んでほしい、ライセンスやソース開示、コミュニティへの貢献など気になるキーワードを一通り眺められます。Flutterエンジニアとして、「つよいエンジニア」になるための実績ガイドにもなるでしょう。
変数に正しい値が入っているか確認することは勿論、
バグの原因を突き止める為にも、高度なデバッグ技術は重要なのです。
この記事を読むことで、Flutterのログ出力を覚えることができます。
Flutterのログ出力の種類
まず、Flutterのログ出力の方法はいくつかあります。
例えば、アプリケーションのロギングには、一般的にはprint()やstderステートメントを使用できますが、
他にも下記のように、色々と手段はあります。
- print()
- debugPrint();
- log();
- stderr.writeln()
- developer.log
どれを使っても、アプリケーションの動きをデバッグするには十分でしょう。
しかし誤差はあるため、好みや細かいオプションを吟味して使えばいいです。
適材適所で技術選定をしていくことで、より効率的で高速な生産性を実現できます。
print()
参考: Language samples
Dartのprint()関数は、Flutterで開発するときの、最も一般的で王道なデバッグ手法です。
特に理由がなければ、取り敢えずこれをコピペしておけば、基礎的なデバッグは十分でしょう。
何はともあれ、王道に従うのもエンジニアの道です。
stderr.writeln()
こちらも、Dartの基本的なな組み込みログです。
参考: Debugging Flutter apps programmatically
debugPrint()
実はPrint()関数は、一度に多くの情報を出力すると、Androidでは一部のログ行が破棄されることがあります。
これを避けるには、debugPrint()を使います。これはprintのラッパーで、Androidのカーネルに落とされないレベルに出力を調整してくれます。
debugPrint()であれば、それらを避けられるようです。
ちなみに!
余談ですが、VS Codeを使っている人は Visual Studio Codeデバッグ技術 という本がおすすめです。
Flutterとも相性が良いので、なおさら開発効率が上がります。
developer.log
他にも、こういうのがあります。
dart:developer log()関数を使用すると、ロギング出力にもう少し詳細な情報を含めることができます。
データをログすることも可能です
以下のように、アプリケーションデータをログコールに渡すこともできたりします。
そのためには、log() の呼び出しで error: という名前のパラメータを使用し、
送信したいオブジェクトを JSON(JavaScript Object Notation) エンコードして、
エンコードされた文字列を error パラメータに渡すことになります。
ここら辺の説明が難しく感じる方は、フロント側の勉強をもう少し頑張ってみましょう。
log()
他にも、こういうのがあったり、
Logger()
こういうのもあります。
参考: logger 1.1.0
Flutter学習者におすすめ最新本・教材
Flutterでチーム開発をする人は必読
Flutter学習者の7割は読んでると言われてる名著です。
Flutterを使った開発現場で働いてる人には是非とも読んでほしい。
以下の項目のような、チーム開発では欠かせない知識が網羅的に書かれており、すぐに現場で使える1冊となっています。
- アニメーション
- 状態管理
- データベース
- ネイティブ連携
- 課金
- ローカライズ
- CI/CD
ググってるだけでは身に付かない、細かいテクニックなども盛り沢山です。
スマホアプリのUIデザインを上達したい人は必読
ヒットするスマホアプリはデザインが9割と言われているほど、アプリのデザインは大事です。
この本は、Flutter開発者におすすめの、スマホのUIデザインを学べる本です。
Flutterは、iOSやAndroid、Webで動くアプリを開発することが出来ます。
売れるアプリ、稼げるアプリを作りたいと考えている人は、アプリのUIデザインを勉強していくことが凄く大切です。
UIデザインの教科書[新版] マルチデバイス時代のインターフェース設計 を読むことで、
スマホアプリやWebアプリを開発する時に超重要なUI/UXデザインの知見を深めることが出来ます。
Flutterを開発していて、より洗練されたUI/UXを作れるようになりたいと考えてる人には、超おすすめの本です。
マルチプラットフォームの仕組み・利点が学べる
この本一つで、ざっくりFlutterの全てが分かります。
Flutterは、一つの言語を書くだけで、iOS、Android、Webで動くアプリが作れます。
めちゃくちゃ効率よく、新しいアプリを作って市場に出していけるわけですが、
なぜ、そんなことが可能なのか、どういう仕組みで動いているのか?などを知りたい人にはオススメの書籍です。
サーバーレス開発をFlutterで学びたい人は必読
スマホアプリを開発する際、バックエンドを開発するのは面倒だな・・・と思う人も多いはず。
この本では、FirebaseとFlutterを使った、完全サーバーレスのアプリの作り方を、ステップ・バイ・ステップで学ことが出来ます。
今すぐ購入する
この本を読むだけで、Firebaseやサーバーレスの知識が薄いエンジニアの方でも、
サーバーレスでサクサク動く、ハイパフォーマンスなFlutterアプリの作り方の知見を深めることが出来ます。