dart-lang / site-www

Source for Dart website
https://dart.dev
Other
959 stars 693 forks source link

☂️ Help Dart developers navigate Dart's platform interop support #5475

Open parlough opened 8 months ago

parlough commented 8 months ago

Overview

This is an overarching project that will continue throughout the year and beyond, as we aim to help Dart developers learn about, understand, use, and build on Dart's evolving platform interoperability support. Over the past few years, Dart's interop story has completely changed, and we're long past the world of using the embedder API or native VM extensions. The interop story for web was more foundational for Dart but is now entering its next generation.

As Dart (and Flutter) target many platforms, this development has occurred in many different forms, in many different places, and across almost a decade, but we're nearing a point where it's all starting to come together. Now we have to help Dart developers actually understand how it comes together and how to take advantage of that in their own projects. A few savvy community members have been following along or picking up the pieces along the way, but now every Dart developer should be able to benefit.

Goal and structure

To be filled in...

Subtasks

The following is an incomplete and in progress list, but groups some related tasks and issues. In no way do each of these have to be resolved as part of this, but they're included here to not get lost or help inspire ideas.

Introduce developers to interoperability and help them determine next steps

Teach developers how to interop with native platforms

Help developers publish packages and plugins that use native interop

Teach developers how to use and/or migrate to Dart's new JS static interop

Document the Wasm platform and any relevant interop functionality

Provide some guidelines and best practices for developers

Enable developers to adapt their app to different platforms

Help developers understand differences between platforms

andycall commented 1 month ago

Teach developers how to interop with native platforms

I’m writing a series of articles to teach Dart developers how to use FFI effectively, aimed at helping those without much native development experience.

Memory Management in Dart FFI How to Debug Your C/C++ Codes in Flutter