swave icon indicating copy to clipboard operation
swave copied to clipboard

Problem: swave is not usable from scala.js

Open sirthias opened this issue 9 years ago • 2 comments

Especially synchronous pipelines/graphs, which don't need to dispatch onto any Executors (which aren't readily available in a non-JVM environment), should work nicely with scala.js.

Solution: enable scala.js support by modifying the build setup and properly separating dependencies.

sirthias avatar Jun 22 '16 07:06 sirthias

I guess the biggest challenge will be to dig around the jctools integration.

  • TimerWheel could be converted to scala
  • reactive streams api can be converted to scala
  • typesafe config could somewhat be replaced by shocon on the js side (not yet released, part of akkajs)
  • not sure if there is a scala-logging version for scalajs

Did some experiments on https://github.com/sirthias/swave/compare/master...danielwegener:scalajs (currently blocked by missing Config.getBytes in shocon)

danielwegener avatar Jul 26 '16 22:07 danielwegener

Cool, thank you, Daniel! My initial thought with this was to not offer the async parts at all on the JS side, so no timerwheel and no jctools. As you say the RS-API and scala-logging are easy to reimplement and if there is replacement for typesafe-config then it all comes to down to organizing the project code in a way that allows for an efficient dev process with little to no duplication between the JVM and JS sides of swave.

sirthias avatar Jul 27 '16 07:07 sirthias