Stacked-Org / stacked

A Flutter application architecture created from real world scenarios
MIT License
957 stars 255 forks source link

[feature]: WebAssembly (Wasm) Support #1105

Open BrunoMiguens opened 4 months ago

BrunoMiguens commented 4 months ago

Is your feature request related to a problem? Please describe.

Currently web_navigation_history.dart uses dart:html which is nt supported by Wasm and should be migrated to package:web - Reference

Describe the solution you would like

Replace the usage of dart:html to use the new web library and support the latest stable Wasm. As far as I could check, it should be a matter of changing the _history.state usage, however, I'm not sure if that is all.

Additional Context

Flutter 3.22

Support for Wasm is now stable!

WebAssembly support for Flutter web is available on the Flutter stable channel.

Dart's next-gen web interop is now stable!

Migrate your packages to package:web and dart:js_interop to make them compatible with Wasm. Read the Requires JS-interop section to learn more.

FilledStacks commented 3 months ago

Thanks @BrunoMiguens for filing this, it's a very requested feature that we'll be adding in.

We're working on some web apps for clients that also want WASM so it'll be in the up next column soon.

BrunoMiguens commented 3 months ago

Thanks, that's is great to know as it looks like there's not a lot of work, from a very high level perspective.

FilledStacks commented 3 months ago

Yup, lots to do there.

I'll be dedicating a few days to it soon.

Schefferbird commented 1 month ago

@FilledStacks Upgrading Get dependency to 4.6.6 solves issues with Stacked Services, where dart:html is removed. My present hiccup when trying to build with --wasm flag.

FilledStacks commented 3 weeks ago

Awesome! Thanks @Schefferbird we'll do that and push and update to the services now

FilledStacks commented 3 weeks ago

Try version 1.5.1 of Stacked services and see if you can compile to WASM @BrunoMiguens