Closed xerial closed 1 year ago
Hi, I'm researching alternative frameworks for web development in Scala, as I want to move away from Akka, which would include Play and Lagom.
A few weeks ago, I've come to know Airframe and the possibility to move to Scala 3 caught my attention.
I see this is not completed but much of the work is done already. So I want to ask if you think it should be ok to start a new project in Airframe using Scala 3 only.
@deabreu I understand the issues around Finagle (no Scala 3 support) or Akka (adopted business license).
For Scala 3, Netty or gRPC backend of airframe-http will be promising (and the basic functionalities are already working in Scala 3), but it's not production ready at this moment. I'm trying to implement the remaining pieces such as https://github.com/wvlet/airframe/pull/2689, for supporting all of the functionalities in Scala 3
@takezoe @shimamoto @exoego @yuokada All of the Scala 3 migration work has been completed! Thank you for all of your contributions so far.
Although the documentation needs some updates around the new RxRouter and RxFilter usage, I'm still expecting to have some interface changes while building real applications using Scala 3. I'll update the doc once these new interfaces for Scaal 3 become stable. Especially, Netty-based HTTP server backend and Rx-based filters have not been battle-tested yet.
Around Scala.js, fastOptJs, npm-bundler, building facade manually become obsolete, and we now can use YARN, fastLinkJS, Vite.js, scalablyTyped, etc., which enable seamless integration with the JS ecosystem. https://www.scala-js.org/doc/tutorial/scalajs-vite.html I'll dig into how to set up projects using these new standards.
@deabreu Airframe 23.5.0 has been released. Scala 3 is now fully supported. Example RPC server and client with Netty backend https://github.com/wvlet/airframe/tree/master/examples/rpc-examples/hello-rpc
Scala 3 (dotty)
new A with DISupport {}
code~ https://github.com/lampepfl/dotty/issues/10931