Hacker News new | ask | show | jobs
by kllrnohj 2646 days ago
> There's a large class of apps that don't need to link out to other URLs, don't need CSS engines (if they just need opengl/vulkan for example), and might not need as strict of security as a web page.

Yes, there are, and those uses are already solved with Steam, the Windows Store, Play Store, App Store, etc....

1 comments

"Steam, the Windows Store, Play Store, App Store, etc...."

And there's also your answer. All those are fragmented, proprietary plattforms.

WASI is not.

No, they aren't. They are a variety of distribution mechanisms, which WASI is not and does not contain.

Also, WASI is literally fragmented by design. It does not have a singular target, it instead is a bunch of modules (aka, shared libraries), and what modules you get and how they behave is up to the platform.

Real native has already long since solved distribution, dependency management, and portable abstractions. WASI does not appear to be doing anything interesting, new, or novel here.

Which nonproprietary plattform can I use today, to reach the widest audience?
Not a useful question to ask or answer, as the answer is either anything or nothing depending on how nitpicky you want to get or where you feel like drawing an arbitrary line.

For example do you consider C++ on Windows to be a proprietary platform, even though C++'s STL isn't proprietary? If so, then WASI on Windows must also be proprietary, no? And if you don't consider C++ to be proprietary, then, you know, you can pick just about anything. They almost all have a standard library that abstracts OS differences and are generally portable.

All that aside, .NET Core is MIT license and already exists. So you can literally be non-proprietary, multi-platform, single-binary today with a mature ecosystem, language & library support, and tooling.

Also in the context of shipping apps let's not forget that this isn't really viable on the 2 biggest consumer app platforms, iOS (no JIT) & Android (majority APIs require Java interop), and for games it's also not viable on the other dominant platforms in those markets - Xbox One & PS4.

With C++ you have to compile to a specific plattform. So yes, that works, but is different to WASI, where you compile once and can deploy whereever a runtime exists.

And apart from that, yes .NET is the only alternative I see today. But you don't see the benefits, of a new lower level option, entering the field?

> With C++ you have to compile to a specific plattform.

In a world where CI servers are plentiful, does this actually matter in the slightest?

And aren't you going to end up doing multiple compiles with WASI anyway since the list of required modules for a platform isn't mandatory?

And even if you only use wasi-core, you're still going to be doing platform-specific builds for either the installer to fetch the required runtime or a fat binary that just bundles it. Most likely the latter, like Electron does.

> But you don't see the benefits, of a new lower level option, entering the field?

Not unless it does something new or acknowledges why previous attempts didn't succeed and how this one will be different.

Plans on doing all the same things but years later and with worse tooling isn't exactly a compelling story for why anyone should touch it.