Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between Quarkus and Thorntail?

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".

like image 881
Libor Krzyzanek Avatar asked Mar 07 '19 12:03

Libor Krzyzanek


3 Answers

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.

like image 120
Tomas Hofman Avatar answered Dec 21 '22 17:12

Tomas Hofman


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

like image 45
Ramiz Avatar answered Dec 21 '22 17:12

Ramiz


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.

like image 21
Muhammad Hewedy Avatar answered Dec 21 '22 17:12

Muhammad Hewedy