sbt-native-image VS Finatra

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

sbt-native-image

Plugin to generate native-image binaries with sbt (by scalameta)

Finatra

Fast, testable, Scala services built on TwitterServer and Finagle (by twitter)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
sbt-native-image Finatra
5 1
243 2,270
0.8% 0.1%
3.4 5.8
4 months ago about 2 months ago
Scala Scala
- Apache License 2.0
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.

Finatra

Posts with mentions or reviews of Finatra. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-12-08.
  • Is Scala and Play Framework dying?
    5 projects | /r/scala | 8 Dec 2021
    Two alternatives for service frameworks come to mind. Finatra, the tried-and-tested service framework built and maintained by Twitter. Alternatively, ZIO (and its broader ecosystem) is a rising start that fully embraces functional programming and all its incredible benefits.

What are some alternatives?

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

Play - The Community Maintained High Velocity Web Framework For Java and Scala.

Scalatra - Tiny Scala high-performance, async web framework, inspired by Sinatra

Finagle - A fault tolerant, protocol-agnostic RPC system

sbt-native-packager - sbt Native Packager

Colossus - I/O and Microservice library for Scala

sangria - Scala GraphQL implementation

Reactive - A simple FRP library and a web UI framework built on it

Chaos - A lightweight framework for writing REST services in Scala.

peregine - Async lightweight Scala web framework

youi - Next generation user interface and application development in Scala and Scala.js for web, mobile, and desktop.

Xitrum - Empty Xitrum project skeleton, like the one created by "rails new"

Play Pagelets - A module for the Play Framework to build highly modular applications