Closed2
続・Flutter Null Safety 対応
公式のマイグレーション手順のとおりにやるといいと思いきや意外にそうでもなかったのでメモ
-
dart migrate
コマンド実行時、SDK のバージョンは2.12.0
未満 を利用するようにしないといけない(ここで先行してsdk: ">=2.12.0 <3.0.0"
とすると後述のマイグレーションツールが動かなかった - 実行環境の Flutter は 2.x にアップグレードする
-
dart migrate
コマンドには、--no-sound-nullsafety
を付ける。(付けないと動かなかった - これで ブラウザ上でマイグレーションツールが起動するので、利用する。
所感
マイグレーションツールによる修正案はかなり大味(基本的に nullable に倒す)なので、コード量が多い場合は吟味は難しいと思う。ひとまずビルドがとおることを優先して(全適用)、あとから nullable を排除していくほうが良さそう。
余談
本業のアプリはそこそこコードベースの量があったので、3人かかりで数日かかりました。
アクティブなパッケージはかなり Null Safety 対応が進んでいる印象だが、Starが多くても非アクティブなものだと対応がないものもある。Issue や PR を確認して進んでなさそうであれば PR 出してあげるとよい。
例 :
このスクラップは2021/04/08にクローズされました