I maintain 2 packages on pub:
-
The first one is a “pure” Dart package with no dependencies on packages made by other people. I only relied on the Dart’s API. No problems at all in the migration! A smooth transition. It was just a matter of replacing
@required
withrequired
. I was also able to create some moreconst
constructors thanks tolate final
. -
The other package of mine relies on a package made by another person. He hasn’t migrated to null safety yet so I’m “stuck” because I have to wait for him. A part from this issue, I was able to easily migrate most of the code too!
I never used null
and tried to follow Dart’s best practices as much as possible so in order to compile new code under null safety was literally a matter or replacing @required
with required
and recompile.
I am very satisfied. On the Flutter side, the situation is mostly the same since I only had to:
- Replace
@required
withrequired
- Add some
?
here and there to fix some changes made on the API (such as Navigator)
There have been other minor “issues” (if we can call those “issues”) but the migration page on the Flutter doc covered them all! I’d give a 8/10 overall.
Thanks much for the feedback @albertodev01, great to hear that it went well. cc @leafpetersen fyi