MacWire
s2gen
MacWire | s2gen | |
---|---|---|
6 | 1 | |
1,253 | 16 | |
0.0% | - | |
7.1 | 0.0 | |
3 days ago | over 1 year ago | |
Scala | Scala | |
Apache License 2.0 | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
MacWire
-
typelevel
Coming back to ZIO, besides learning the operators which ZIO has, there is not much to it and you have to embrace calling ZIO.x everywhere. The Layers in ZIO 2.0 are excellent and I believe that the creators want to trick us to write good OOP and we are one macro away from Springs Autowire. Perhaps even macwire is up to speed already, I didn't check for a long time.
-
Why no scala native IOC containers?
You can have IoC without using a DI framework. You just pass the arguments manually. I've found that it works really well. If however that's not your preference there are a couple DI frameworks in scala such as: https://github.com/softwaremill/macwire and https://izumi.7mind.io/distage/index.html
-
Which would be the scala way of building a modular/plugin based architecture application?
Implement the application around https://github.com/softwaremill/macwire and hope the wiredInModule feature (which support dynamic loading) would be ported to Scala 3 soon.
-
Macwire alternatives for scala 3
Arguing for Macwire in Scala 3 is moot anyway, because it won't be available there: https://github.com/softwaremill/macwire/commit/e9281111d78a1beeb8950f367be18cbb67aef9fe
-
Structuring Code with ZIO & ZLayers
One easy reason is that macwire won't be available for Scala 3 (https://github.com/softwaremill/macwire#scala3) 😉
s2gen
-
Macwire alternatives for scala 3
I can confirm that it's pretty good. I already migrated my site generator to it: https://github.com/denisftw/s2gen
What are some alternatives?
Scala-Guice - Scala extensions for Google Guice
scala-ssh - Remote shell access via SSH for your Scala applications
DIStage - Productivity-oriented collection of lightweight fancy stuff for Scala toolchain
scala-debugger
Airframe - Essential Building Blocks for Scala
Scalan - Generic framework for development of domain-specific compilers in Scala
SubCut - Scala Uniquely Bound Classes Under Traits
media4s - Scala command-line wrapper around ffmpeg, ffprobe, ImageMagick, and other tools relating to media.
Scaldi - Lightweight Scala Dependency Injection Library
PureConfig - A boilerplate-free library for loading configuration files
Grafter
ScalaSTM - A library-based Software Transactional Memory (STM) for Scala, coupled with transactional sets and maps