sbt-native-image VS Distribution

Compare sbt-native-image vs Distribution and see what are their differences.

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
sbt-native-image Distribution
5 1
245 255
1.2% 0.4%
3.4 7.9
5 months ago 8 months ago
Scala
- MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

sbt-native-image

Posts with mentions or reviews of sbt-native-image. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-09-13.
  • Scala.js AWS Lambda, using Scala 3
    6 projects | /r/scala | 13 Sep 2022
    Take a look at sbt-native-image or sbt-native-packager for building the native image.
  • GraalVM native-image with Scala 3 reflection hell
    3 projects | /r/scala | 9 Jan 2022
    The reason seems to be Scala 3's new encoding for lazy vals, where a reflective access to a variable called bitmap takes place. To demonstrate this, I took the http4s g8 template, set it up with Scala 3.1.0, added sbt native-image, started the nativeImageRunAgent and ran a single request against GET /joke. After stopping the server, the native-image run agent generated the reflective configs that are required for this path of execution. Comparing the generated Scala 2.13 with the Scala 3 configs, yields a bloated version for Scala 3 that contains these additional rules:
  • Is Scala and Play Framework dying?
    5 projects | /r/scala | 8 Dec 2021
    Sbt plugin: https://github.com/scalameta/sbt-native-image
  • Native Image Compilation for A Purely Functional Example Application
    2 projects | /r/scala | 15 Aug 2021
    IIRC, the sbt-native-image plugin can abstract that away, too: https://github.com/scalameta/sbt-native-image#nativeimagerunagent https://github.com/scalameta/sbt-native-image
  • SBT error when running package application: java.lang.RuntimeException: No main class detected.
    3 projects | /r/scala | 9 Jun 2021
    Assembly, however, has some disadvantages so you may also want to look into other alternatives like sbt-native-packager. You may even want to produce a binary using sbt-native-image (which uses GraalVM under the hood) so your users do not need to install anything at all, not even a JRE.

Distribution

Posts with mentions or reviews of Distribution. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-09-13.
  • Scala.js AWS Lambda, using Scala 3
    6 projects | /r/scala | 13 Sep 2022
    You can use https://github.com/ScalablyTyped/Distribution to generate types from AWS SDK for Typescript. Don't know how does it work with Scala 3, though.

What are some alternatives?

When comparing sbt-native-image and Distribution you can also consider the following projects:

sbt-native-packager - sbt Native Packager

sn-bindgen - Scala 3 native binding generator + libclang facade

zio-microservice - ZIO-powered microservices via HTTP and other protocols.

aws-sdk-scalajs-facade - A complete set of Scala.js type facade for aws-sdk-js

sbt-assembly - Deploy über-JARs. Restart processes. (port of codahale/assembly-sbt)

LogoRRR - A simple and straightforward log viewer that displays the events of interest in a clear and concise visual manner so that you can identify them faster.

Finatra - Fast, testable, Scala services built on TwitterServer and Finagle

feral - Feral cats are homeless, feral functions are serverless

tapir - Declarative, type-safe web endpoints library

scala-3-lazy-reflective-access - Showcase of GraalVM native-image's configuration bloating up with Scala 3

dotty - The Scala 3 compiler, also known as Dotty.