SAP / gigya-flutter-plugin

Plugin for easily integrating SAP CDC functionality and flows into your Flutter app.
Apache License 2.0
14 stars 15 forks source link

Web Support #44

Open navaronbracke opened 1 year ago

navaronbracke commented 1 year ago

The extension types language feature is scheduled to ship in Dart 3.3, which is the next stable release for Q1 2024. This is currently available on the Flutter beta channel.

The Gigya SDK provides a web implementation as defined here

Proposal

Add support to the gigya_flutter_plugin using this API so that the plugin also works on the web. Preferably this is done using Dart's JavaScript interop, which is the new way of implementing web specific functionality for plugins.

Methods

Services

Other

Nice to have

navaronbracke commented 1 year ago

@tal-mi I wanted to ask if getting this implemented is still on your radar? As this is adding support for a new platform, I don't think it is high priority, but it would be nice to see this getting further along slowly.

navaronbracke commented 1 year ago

As the inline-class feature has been renamed to extension types, I might hold off on implementing the web specific part of the platform interface. Once we get extension types as a feature (and JS interop supports it), I'll revisit my work here, so that we can migrate to extension types in one go.

I've put what I have already on-hold for now. I'll get in touch with the language team on a timeline for the extension types.

We could also decide to work on the implementation right now, and migrate to extension types once the JS interop API's require us to do so.

navaronbracke commented 1 year ago

FYI: I have finished migrating the Web implementation parts to extension types. Now we wait for that feature to land in a stable release. (Which if I look at the timeline might be at the end of this year, with a Dart 3.3.0 stable release, as 3.2.0 is a dev release)

As the extension type feature specification has been accepted and has had some work done in the analyzer / Common Front-End, I have started migrating the bindings that I already wrote into extension types.

This way I can already try to validate the new bindings. Once the feature has shipped into a Dart stable release, I will bump the minimum Dart version of the plugin accordingly.

Ref: https://github.com/dart-lang/language/blob/main/accepted/future-releases/extension-types/feature-specification.md

navaronbracke commented 8 months ago

@tal-mi Flutter 3.19.0 and Dart 3.3 are available on stable as of today. We can start bringing web support to customers on the stable branch.