ScalaPB
sbt-revolver
Our great sponsors
ScalaPB | sbt-revolver | |
---|---|---|
3 | 2 | |
1,282 | 840 | |
0.9% | -0.2% | |
9.0 | 3.1 | |
8 days ago | about 1 year ago | |
Scala | Scala | |
Apache License 2.0 | Apache License 2.0 |
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.
ScalaPB
-
Friction-less scala - Tell us what is causing friction in your day-to-day life with Scala
I've had great experience with ScalaPB and even better with fs2-grpc (which builds on top of ScalaPB).
-
Working with polymorphic data models in a REST API
One way I've solved this is to use Protobuf contracts to serialize json with ScalaPB. They have a way implementing oneof that keeps each object individual and separate. Even if you don't decide to use PB, you can take some inspiration from the implementation.
-
Scala 3.0 serialization
You could try out protocol buffers. Not sure how stable it is, but I noticed they have a Scala3 version of their runtime library. (Disclaimer: I have not tried it out myself)
sbt-revolver
-
Tooling question
Another thing to look into is sbt-revolver, this will shorten the turnaround time on whatever machine is running sbt. I remember it being pretty helpful when I was working with scala.js. Good luck!
-
Friction-less scala - Tell us what is causing friction in your day-to-day life with Scala
SBT. It's not because of the pseudo-scala config language, that looks especially alien next to braceless Scala 3 code. Or the weird symbolic operators. The big problem is correctness; in almost every project I've had to use spray-resolver because I've encountered weird bugs because SBT reuses the same dirty JVM. I really thing Drip would help here. I'll keep using SBT because it has the best Scala ecosystem support and great plugins like sbt-crossproject. It would also be great to be able to write build.sbt files in modern, regular Scala.
What are some alternatives?
scodec - Scala combinator library for working with binary data
coursier - Pure Scala Artifact Fetching
ScalaBuff - the scala protocol buffers (protobuf) compiler
sbt-play-scalajs - SBT plugin to use Scala.js along with any sbt-web server.
µPickle - uPickle: a simple, fast, dependency-free JSON & Binary (MessagePack) serialization library for Scala
sbt-dependency-graph - sbt plugin to create a dependency graph for your project
Pickling
sbt-docker - Create Docker images directly from sbt
Scrooge - A Thrift parser/generator
xsbt-web-plugin - Servlet support for sbt
Avro4s - Avro schema generation and serialization / deserialization for Scala
sbt-scala-js-map - A Sbt plugin that configures source mapping for Scala.js projects hosted on Github