Flutter 1.22 のアップデート内容メモ

iOS14対応

iOS14向けの開発を行う場合は詳しくはこちら

flutter.dev

その他iOS向け

  • iOSの新しい SF Symblosフォントをサポート
    • cupertino_iconを1.0.0以上にすることで新しいアイコンが適用される

Android 11

2つの新機能のサポートあり

  • notchやカットアウト、waterfallディスプレイに対応したinsetを公開
    • MediaQueryやSafeAreaのAPIを使用することで対応可能
  • ソフトウェアキーボードのアニメーションがなめらかに

Universe Button (Buttonの拡張)

今までButtonのカスタムをする場合は少しやりにくかったですが、Materialの仕様が拡張され、新しいスタイルのボタンを作ることが可能になった

FlatButton -> TextButton RaisedButton -> ElevatedButton OutlineButton -> OutlinedButton

今までのButtonが使えなくなるわけではなく、新しいボタンとそれにあったスタイル定義をすることができるようにあった感じ?

PlatformViewの改善

  • google_map_flutterやwebview_flutterを正式リリース
  • FlutterアプリにネイティブのViewをホストする方法のサンプルはこちら

Navigator 2.0

Design Docs: docs.google.com

解説記事なども上がってたので後でよむ

medium.com

プレビューリリース

  • Androidの状態復元機能
  • スムーズなスクロールパフォーマンス
    • 入力のディスプレイ周波数と表示のディスプレイ周波数が異なる場合でもパフォーマンスの低下を防ぐために、resamplingEnabled フラグを追加
    • これをtrueにするとパフォーマンス低下を防ぎ、なめらかなスクロールを体験することができる(今後はデフォルトで設定されるようになる)

開発ツール関連

2020年 8月振り返り

早いもので前回の振り返りからもう6ヶ月も経っていました。

atsumo.hatenablog.com

3月ぐらいから8月までの振り返り 世の中的にも個人としても大きな変化があった半年でした。

転職した

内定者バイトとかインターンとか含めると約13年所属していたサイバーから卒業しました。 意思決定したときには、コロナがここまでの猛威をふるうものだとも思わず… 結局最終出社のときには基本リモートになっており、長らくお世話になったに方々に対面での挨拶ができず、申し訳無さというか残念な気持ちでの卒業となってしまいました。 副業という形で関わらせていただいているので、卒業といいつつも関わらせてもらってます。

6月末ぐらいから SmartDriveにJoinし、引き続きアプリ周りとかをやっています。 移動データの価値創造みたいな結構難しい部分ではあるものの、自動車界隈が100年に一度の変革期と言われてたりするので、チャンスと可能性は感じながら日々仕事してます。 smartdrive.co.jp

働き方がだいぶ変わった

自分がSmartDriveに入社したときには、ほぼ完全リモート体制になっており、自分が入社してから物理出社したのは3回ぐらいです。 正直まだ顔も名前も一致しない状態でのリモートは戸惑うことも多く色々と大変?ですが、時間の使い方はかなり有効に使えてる気がしています。 9月からはお試しとして一旦週1物理出社になり、対面でのコミュニケーションのありがたさを感じつつ、しっかりと関係値を作り上げてリモートでも力発揮できるようにしないとなと思いながら仕事しています。

そして今までは10:00 ~ 19:00での時間固定の業務時間でしたが、転職後はフレックスタイムになりました。 フレックスを経験するまでは、MTGの時間とかどうするんだよ?どうやって調整するんだろう?とか、いろいろとうまくいくのか不安でしたが、 予定が入ってたらその時間にいればいいし、逆もしかりという感じで、よしなにうまくいくものなのだなと思いました。 どうしても予定があって抜けなければ行けない時間がある場合などは、予めその時間にはいないことを周知しておけばいいし、全然どうにでもなるもんなんだなと。 うちみたいな共働きで、子育て世代には本当にありがたいなと思ってます。

Flutterをやり始めた

少人数で素早くプロダクトを作りたいということで Flutter を採用し、Flutter漬けの毎日を送っています。

atsumo.hatenablog.com

自分がちゃんとやり始めたからそう見える部分もあるのかもしれないですが、Flutter流行ってる感を日々感じてますw ありがたいことに日本語のブログとかもちらほら出てきてたりとか、アーキテクチャ周りの記事とかも増えてきていたり、プロダクトでもFlutter採用事例とかも増えてきている?気がしています。 自分も存在をアピールするためにも、ちゃんとアウトプットしないといけないよなとは思いつつ、全然できてません。

Flutterの案件で面白いものがありましたらぜひお声がけください!(すぐに対応できるかわからないですがw)

デザインエンジニア領域

CAにいたときデザインエンジニア領域を何かしらやりたいと思っていたのですが、正直今もそこをできているかと言われるとできてないです。 今の会社ではデザインエンジニア領域が重要になる組織フェーズでもない気がするので、インプットしつつも組織にフィットしたソリューションとして使えるものであれば取り組もうかなと思ってるぐらいです。 FlutterやJetpackComposeやSwiftUIなど宣言的UIで、UIを作る場合のデザインデータとの実装の間部分に関しては、今後いろいろできそうだなと思いながらも、デザイン制作過程から実装部分での生産性向上へのアクションはどこかのタイミングでやりたいなとは思ってます。

まとめ

2月に振り返ったときは、キャリアについて一通り悩み追えて、転職を決断ぐらいのタイミンでした。 今は自分が下した決断が良かったと思えるように、チャンスと可能性をものにできるようにいろいろと試行錯誤しつつ頑張っていこうと思います。

FlutterのLocationのプラグインのメモ(android視点)

pub.dev

- FusedLocationProviderClientを使用して位置情報を取得

flutterlocation/FlutterLocation.java at master · Lyokone/flutterlocation · GitHub

  • default は5000msに1回
    • changeSettingsでintervalやaccuracyなどを設定可能
  • Permission

pub.dev - FesedLocationProviderClientを使用(Android) - 無理やりLocationManagerを使用する設定も存在する - iOSはCLLocationManager - LocationOptionsでinterval, distanceFilter, accuracy指定可能

pub.dev - FusedLocationProviderClient - Intervalは 2000millsec - PermissionHandlerを内包

pub.dev

2020年にFlutterを始める上で読んだ記事まとめ

はじめに

最近Flutterでの置き換え実装やFlutterの新規案件が増えてきている気がしているので、自分がお世話になった記事や動画、サンプルなどをまとめてみました。

少し自分の考えを書いていますが、基本的には参考にさせていただいた記事のリンクになります。

基本

アーキテクチャ

awesome/sample

読み物/動画系

その他

Flutter 便利そうなものメモ

ライブラリ

freezed

Kotlinのdata classとかになれてると、FlutterでDataクラスみたいなものを作りたいときになにげに不便だったので、 これは便利 copyWith だったりを勝手にはやしてくれる

pub.dev

state_notifier

そもそも自分がFlutterを始めたのが最近ですが、最近state_notifierがいいみたいな記事やtweetをよく見かけて、 自分でも作ってみたところchange_notifierよりもスコープがわかりやすかったのでこちら事足りるなと思いこちらを使ってたりする。 pub.dev