Closed2

続・Flutter Null Safety 対応

公式のマイグレーション手順のとおりにやるといいと思いきや意外にそうでもなかったのでメモ

  1. dart migrate コマンド実行時、SDK のバージョンは 2.12.0 未満 を利用するようにしないといけない(ここで先行して sdk: ">=2.12.0 <3.0.0" とすると後述のマイグレーションツールが動かなかった
  2. 実行環境の Flutter は 2.x にアップグレードする
  3. dart migrate コマンドには、--no-sound-nullsafety を付ける。(付けないと動かなかった
  4. これで ブラウザ上でマイグレーションツールが起動するので、利用する。

所感

マイグレーションツールによる修正案はかなり大味(基本的に nullable に倒す)なので、コード量が多い場合は吟味は難しいと思う。ひとまずビルドがとおることを優先して(全適用)、あとから nullable を排除していくほうが良さそう。

余談

本業のアプリはそこそこコードベースの量があったので、3人かかりで数日かかりました。

アクティブなパッケージはかなり Null Safety 対応が進んでいる印象だが、Starが多くても非アクティブなものだと対応がないものもある。Issue や PR を確認して進んでなさそうであれば PR 出してあげるとよい。

例 :

https://github.com/davigmacode/flutter_smart_select/pull/82
このスクラップは2021/04/08にクローズされました
ログインするとコメントできます