6

Could you please provide more detailed difference between Quarkus and Thorntail?

This would help when considering between these two when building a new "Java cloud native app".

Emma
  • 27,428
  • 11
  • 44
  • 69
Libor Krzyzanek
  • 131
  • 1
  • 9

3 Answers3

10

What Quarkus has over Thorntail:

  • Capability to create native executables, which gives you massive improvements in startup time and memory footprint. This can be critical for cloud deployments.
  • Even with the usual executable JAR, Quarkus is still going to have significantly smaller memory footprint (thanks to the dead code elimination), and faster startup time (because lot's of initialization work that's normally done on run-time was moved to built-time).
  • Live coding (akka hot swapping code) - best I've seen so far.
  • Better integration testing capabilities.

Advantages of Thorntail over Quarkus:

  • Thorntail is mature, while Quarkus only just released the first Beta. This is only issue in very short term obviously.
  • Compatibility with other Java libraries is going to be less of a problem in Thorntail, in a sense that:

    • there's a higher chance that a library will work out-of-the-box in Thorntail, than there's a chance that it will work out-of-the-box in Quarkus,
    • if it's not working out-of-the-box, it's gonna be easier to make it work with Thorntail than to make it work with Quarkus.

    It should be said however that Quarkus team made an amazing job of preparing an impressive list of extensions which covers probably everything one could wish for(?)

Conceptually Quarkus may choose to stay "lighter" in some cases. E.g. the CDI implementation in Quarkus is a subset of the CDI spec, in order to remain leaner and faster.

Tomas Hofman
  • 138
  • 1
  • 4
  • 3
    Just to add a precision: if you use plain JVM mode, libraries will work out of the box too. It's when you're compiling to native that you might have issues. But if so, raise an issue on GitHub and we will take a look/consider adding an extension for this library. – Guillaume Smet Mar 08 '19 at 15:54
  • 2
    Also worth reading: https://thorntail.io/posts/thorntail-community-announcement-on-quarkus/ – geoand Mar 18 '19 at 08:38
  • Also to be mentioned: quarkus is built to be production ready - every release. – alexander Oct 02 '19 at 13:43
6

see https://thorntail.io/posts/thorntail-community-announcement-on-quarkus/ (from Mar 11, 2019)

particularly in Conclusion:

Quarkus is the latest evolution of our efforts in developing a framework for microservices, and serverless, that began back in 2015 with 2.x.

and

During the next 18 months we will ensure existing Thorntail users have a smooth transition over to either Quarkus or WildFly.

that is, if you are evaluating thorntail vs quarkus for a new microservice project, you should choose quarkus, ihmo

Ramiz
  • 429
  • 8
  • 10
1

Quarkus is a putting-all-together framework (resteasy, hibernate, and more) (comparable with spring boot and dropwizard).

Thorntail (known previously as wildly-swarm) is :

Enable deconstructing the WildFly AS and pasting just enough of it back together with your application to create a self-contained executable jar.

Muhammad Hewedy
  • 29,102
  • 44
  • 127
  • 219