週刊 Dart & Flutter インプット 35

ntaoo
12 min readSep 11, 2020

--

https://cdn-images-1.medium.com/max/1760/1*L7Mmc_dhEiJfS_kHXhj4rQ.png

毎週金曜日に、@ntaoo がインプットした Dart & Flutter の情報のリンク集をまとめて共有します。

dart: The Dart command-line tool | Dart

Dart のコマンドラインの体系が 2.10 で整理されます。(まだ technical preview とされていますが)

dartanalyzer, dartfmt, stagehand, pub などが整理され、dart から始まるコマンドに統一されました。とても分かりやすくなった。こういった DX の改善が継続されるのが Dart プロジェクトの大きな美点ですね。

dart pub <PUB_COMMAND> じゃなくて、dart package <PACKAGE_COMMAND> になってほしかったですけど、pub.dev ドメインがすでにあるので思いとどまったんでしょうか?

eBay Motors: Accelerating With Flutter™

Flutter でのサクセスストーリーはどの企業でも似ているようです。最近公開された eBay Motors のこの記事でも Flutter をべた褒めしています。

  • 従来の iOS と Android 開発よりもはるかに楽しい開発体験
  • シングルコードベースなので、一貫性のあるユーザー体験を提供できる
  • Dart のおかげで低学習コストで素早く最初のバージョンを提供できた
  • iOS と Android の二つのチームをひとつにまとめ、開発体制を再構築する過程の苦労とそれによる恩恵
  • アプリのほぼすべてのコードが Dart でのシングルコードベースに。真の Write once, run anywhere
  • デバイスにアクセスするための既存のプラグインが豊富で、新たに作る場合でも数時間で完了した
  • シングルコードベースでテストサポートが手厚いので、今までにないレベルでのテストが可能に
  • アンケート結果では、従来の iOS または Android での開発と比較して、単一プラットフォームで比較しても 2 倍以上の速さで開発できている
  • アンケート結果では、従来の iOS または Android の開発よりも楽しいと答えた開発者は 100%
  • UI 開発が高速になるので、ペーパープロトタイピングを廃して Flutter でプロトタイピングをするようになった
  • あらゆる規模のアプリで、Flutter をお勧めする

Fancy Progress Indicators in Flutter | Medium

複雑な CustomPaint を使用せずに、ShaderMask で手のこんだ Progress Indicator を作成する方法。勉強になりました。 Indicator 部分事態は PNG 画像を用意して、それを ShaderMask で mask する部分を TweenAnimationBuilder で動的に調整しています。

Kurun-books | 技術書典

Flutter と Fuchsia のアーキテクチャーガイドが刊行予定。買います。

コード自動生成の FlutterGen を作りました。. Flutter 向けに画像リソースなどのコードを自動生成するためのツールです。 | by wasabeef | Sep, 2020 | Medium

コード生成系。Asset を String でなく型安全なコードで指定できるようになります。画像と Font 指定の自動生成例が紹介されています。大量の画像を扱うプロジェクトならば導入したいです。

【Flutter/コード自動生成】FlutterGen を使ってみる。 — Qiita

Flutter と Cloud Functions でデータ構造を共有したい時 | by done | Sep, 2020 | Medium

Node interop でできるだけ Dart でロジックを書いて JavaScript にコンパイルするか、CloudRun で Dart API を自力実装するか。Firebase Admin のことを考えると Firebase Admin Interop が選択肢としてあるけど、プロダクション用途としては不安もある。はやく Firebase Admin と GCP がサポート言語に Dart を加えてください。

Keys In Flutter. Understand the job of a key in… | by Shaiq khan | FlutterDevs | Sep, 2020 | Medium

Key の使い方の復習。

AngeloAvv/flutter_flavorizr: A flutter utility to easily create flavors in your flutter application

iOS と Android のネイティブ側も含めた Flavor を pubspecyaml に記述して、設定を自動生成するパッケージ。とても便利そう。

camerawesome | Flutter Package

多機能で良さそう?

Flutter で Dynamic Links を解釈する — Qiita

flutter の海よりも深い widget tree をどうするか問題 | Qrunch(クランチ)

意味的なまとまりで Widget に切り出すくらいが妥当で、それ以上はすべきではないと思いますが、SwiftUI や Jetpack compose のメソッドコンビネーションのアイデアを Flutter に部分的に取り入れて可読性を向上できる余地はありそう。

gskinner — The Flutter Vignettes

gskinner の Flutter ホームページ

letsar/overflow_view: A widget displaying children in a line until there is not enough space and showing a the number of children not rendered.

Using the BLoC pattern for clean Flutter apps, theory and a practical example | by Antonello Galipò | Flutter Community | Sep, 2020 | Medium

BLoC pattern というか、package:bloc の解説でした。package:state_notifier 他の一連の package の動向が目立ちますが、package:bloc も人気があります。

MVU-Inspired State Management for Flutter | by Diego Esmerio | The Startup | Sep, 2020 | Medium

またなんか出てきた。とくに心惹かれませんでした。私も最近、状態管理 package を作って すでに pub package 化して公開しているので、そのうち宣伝します。

【Flutter×Firebse】非エンジニアがパワーリフター向けアプリをリリースした話【個人開発】 — Qiita

同意 >「多分動くと思うからリリースしようぜ」 この精神大事。

Flutter アプリのスクショを極力自動で撮る(Riverpod 使用・メソッドの濫用あり) — Qiita

情報源

https://twitter.com/ntaoo が、follow させていただいている方々

最新の情報を中心にしますが、少し古めでも私が見つけた際に有益と判断した情報も載せていきます。情報の網羅性の高さは不明です。継続を重視して省力化しています。

  • 公式情報は優先順位最高にして載せます。
  • それら以外の情報は、私の関心に基づいて適当に間引きます。
  • 基礎は、https://dart.dev/codelabs , https://flutter.dev/docs , Udemy などのオンラインビデオトレーニングコース、または書籍などで体系的に学んで習得しましょう。

--

--