SaneCppLibraries icon indicating copy to clipboard operation
SaneCppLibraries copied to clipboard

Web Support Timeline?

Open FaultyPine opened this issue 1 year ago • 1 comments

Hey! Really loving the direction of this library so far. I see in Platform.h that web/emscripten/wasi support is "planned" and that there are a few references to it throughout the codebase. What does the timeline look like on web support? Is that the current focus? Or is that much farther out?

FaultyPine avatar Aug 12 '24 01:08 FaultyPine

Hi @FaultyPine thanks for your words of appreciation for the project! 😄

In the first phases of development emscripten was an officially supported target, so I am pretty confident that all of the core non os specific stuff (Foundations / Containers / Threads / Serialization / Reflection) should not have many problems on that target. Things may have had some minor regressions due to not testing it of course, but that's easy to fix.

Later on I have been giving up on emscripten to increase the development speed and also because I wasn't sure exactly about how some libraries should behave on web targets. Some libraries make absolutely sense to port (SC::Async, SC::Socket), others are probably more difficult to port (SC::Plugin?) and for some I have no idea of the equivalent web tech they could be mapping to (SC::FileSystem, SC::FileSystemIterator, SC::FileSystemWatcher) and I need to figure out the right web APIs to use if they even exist.

Wasi is a different beast as I'm not up to date with the latest defined syscalls and maybe there are many libraries that could be compiled for wasi, but I need to figure it out as well.

I could definitively put together a small emscripten and / or wasi CI build and start keeping track at least of what works and what doesn't work. This would mean adding support for that in SC::Build but maybe the Makefile target could make it not so hard to do! 😆

I have a few questions for you (or for anybody else that may be reading this issue):

  • What libraries would you really like to see earlier than others on such web targets?
  • Would you like to see WASI or Emscripten first?

Pagghiu avatar Aug 12 '24 19:08 Pagghiu