dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.91k stars 4.63k forks source link

User Story: Developers can easily use NuGets with native libraries to build fast wasm projects #44636

Open marek-safar opened 3 years ago

marek-safar commented 3 years ago

Developers would like to be able to easily consume NuGets for use in browser-wasm applications. NuGets which consist of managed libraries only are generally supported as long as they target net5.0+ and avoid APIs marked with the [UnsupportedOsPlatform("browser")] attribute. We need to go beyond that and support NuGet packages that include also native/unmanaged code targeting browser-wasm RID.

Work Items

jkotas commented 3 years ago

Potentially related https://github.com/NuGet/Home/issues/9631

danroth27 commented 3 years ago

Specific libraries with native dependencies that we've heard customer interest in include SkiaSharp and Sqlite.

mattleibow commented 3 years ago

Has there been any updates to this? I see the other AOT issue is pretty long now :)

radical commented 3 years ago

Has there been any updates to this? I see the other AOT issue is pretty long now :)

I'm working on this.

raju-kumar commented 3 years ago

Good to note this is being worked on. This will help us to utilize skiasharp rendering in browser. Looking forward to see this feature in a preview.

jeromelaban commented 3 years ago

I've gone down that path for Uno, if you want to reuse the findings to include in the runtime: https://github.com/unoplatform/Uno.Wasm.Bootstrap#webassembly-module-linking-support, particularly the part with the multi-versioning of emscripten-targets.

Xyncgas commented 3 years ago

hi

Xyncgas commented 3 years ago

came from #5466 dropping in to get notified

artemiusgreat commented 3 years ago

Why was this moved to Triage? At the moment Blazor doesn't have any JS-free charting tool with acceptable real-time performance. Availability of SkiaSharp would be a life-saver.

lewing commented 3 years ago

We're still working on some details but the baseline functionality is in.

jeffhandley commented 2 years ago

@lewing Is this issue ready to close for 6.0.0?

mairaw commented 1 year ago

should this issue be removed from the .NET 6 project?