Flutter engine based ui framework

Sebastiaan Koppe mail at skoppe.eu
Thu Jan 16 09:21:32 UTC 2020

On Tuesday, 14 January 2020 at 15:01:06 UTC, Dukc wrote:
> On Tuesday, 14 January 2020 at 12:01:05 UTC, Ola Fosheim 
> Grøstad wrote:
>> Yes, although it makes more sense to do all the UI stuff in 
>> Dart and instead use other languages as "service providers".
> I'm sceptical of that. I do basically the same with Bridge.Net 
> (with the difference that big part of "services" code is also 
> in C#). This isn't a design decision, the architechture is this 
> way because spasm didn't exist yet when I started, D was added 
> later.
> And I can tell you that interfacing D-borne wasm with 
> Bridge.Net is a low of work. D code can't take or pass 
> JavaScript objects directly due to how WASM is designed, only 
> their indexes if they are positioned in a purpose-built global 
> array.

Isn't that what the webidl bindings generator does? It takes the 
definitions and generates D bindings and wrappers, JS code and 
glues everything together. You can add your own webidl files to 
generate D and JS glue code to interface with other things. 
(Although with Bridge.NET you have to take into account how they 
transpile C# to JS, complicating matters, but given a JS wrapper 
around Bridge.NET it might be possible).

With my (unfinished) typescript binding generator I am doing the 
same thing as from webidl, but instead it is based on typescript 
files, so you can interface D with typescript libraries (or JS 
libraries with ts typings).

> This means that if you want to call your D functions in any 
> easily readable way, you have to develop an automatic interface 
> template in the ui language - introspection capabilites of D 
> will not help.

Calling D functions isn't so well supported in my webidl bindings 
generator, except for delegates which are used for callbacks. But 
we can definitely fix that.

More information about the Digitalmars-d mailing list