Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
scala-cli
Scala CLI is a command-line tool to interact with the Scala language. It lets you compile, run, test, and package your Scala code (and more!)
So does Java! Also, kotlinx.collections is still not stable and I don't think they are intending to make it so any time soon.
I have been using https://github.com/sbt-jib/sbt-jib for some time now, it makes building images very easy.
So does Java! Also, kotlinx.collections is still not stable and I don't think they are intending to make it so any time soon.
once you outgrow scala-cli, you should know sbt has a lot of plugins ( some might say it's ecosystem is the only thing keeping it relevant....) like sbt-native-packager which again does the heavy lifting for you
scala has 2 healthy and pretty complete lib ecosystems : check out typelevel and ZIO. Both are FP oriented, which might not be your cup of tea at first glance but I would encourage you to try em out ! Softest introduction would be to start with the typelevel cats library and build up from there. The excellent Scala with Cats will ease you softly into an FP mindset. It's a bit dated and for scala 2 only but translating to Scala 3 is a very good exercise if you feel so inclined !
now you might ask : what plugin use to do X ? Where do I find them ? Well, maybe you don't ! Sbt can use g8 ( giter8 ) templates to boostrap projects. The official ones can be a bit bare, but anyone can make their own. Try this one from DevInsideYou for example. He also has a YouTube channel which I would highly recommend. If you look around a bit, you'll find a lot of those setup with libs, boilerplate and sometimes even Github Actions CI/CD pipelines
last, resources :) if you are still missing something, try looking on the Scaladex or Scala list of awesome which also links to lot of learning material
sbt can indeed be a bit harsh for beginners. If your aim is not to build a big project, you might want to use scala-cli instead : no complex build script, only command line goodness to run, test, compile and package your code. Yes it supports dockerization. No need for a dockerfile.
last, resources :) if you are still missing something, try looking on the Scaladex or Scala list of awesome which also links to lot of learning material