Implementing it wouldn't hurt, especially with a plugin like localstorage. I think it's the best you're going to get if you want multiplatform compatibility.
I finally implemented this cache using async_resource library, using ServiceWorkerResource on the Web and HttpNetworkResource + FileResource on native platforms.
localstorageseems to fit my need. Do you know how it stores data on Android ?dart:io.