News for hackers. Stuff that matters.
Re:Extensible WASM Applications with Go by apitman on Friday February 14, 2025 @01:09PM (#43051217)
I'm not aware of any tech other than wasm that I could be using to implement decent-auth: https://github.com/lastlogin-net/decent-auth

Things like JVM and .NET are great, but not designed to be embedded other languages.

Re:Extensible WASM Applications with Go by pjmlp on Friday February 14, 2025 @01:40PM (#43051576)
Dynamic libraries come to mind.
Re:Extensible WASM Applications with Go by apitman on Friday February 14, 2025 @07:44PM (#43054692)
You have to recompile for every architecture and OS, and no security features.
Re:Extensible WASM Applications with Go by neonsunset on Friday February 14, 2025 @04:39PM (#43053349)
.NET does support embedding:

- As full runtime i.e. hostfxr https://learn.microsoft.com/en-us/dotnet/core/tutorials/netc... (supplementary: https://github.com/StudioCherno/Coral)

- As a dynamic library via DNNE with full runtime: https://github.com/AaronRobinsonMSFT/DNNE

- As either dynamic (easy) or static (hard) native library: https://github.com/dotnet/samples/tree/main/core/nativeaot/N...

There are a few community projects which build on top of these to provide a more seamless integration with other languages.

Re:Extensible WASM Applications with Go by apitman on Saturday February 15, 2025 @09:13AM (#43058629)
That's actually really cool, thanks for sharing. Does seem pretty low level and niche though.
Re:Extensible WASM Applications with Go by neonsunset on Saturday February 15, 2025 @11:53AM (#43059981)
It is very popular in gamedev space whenever using C# as a high-performance scripting language.

You are right to say this is low-level though, but low-level scenarios are not as niche for .NET platform as they are for other languages in this category.

Re:Extensible WASM Applications with Go by marwis on Monday February 17, 2025 @04:23AM (#43076873)
You can embed JVM with JNI_CreateJavaVM(): https://docs.oracle.com/javase/7/docs/technotes/guides/jni/s...

It is used used by projects like Postgres PL/Java, LibreOffice and various native Java launchers/wrappers