- マイクロサービス前提のJavaフレームワークの調査
- Github Compare | Micronaut/Quarkus/Helidon
対象フレームワーク
Micronaut
- 開発元: Object Computing Inc. (Grails作ってた人たち)
Micronaut is a modern, JVM-based, full stack Java framework designed for building modular, easily testable JVM applications with support for Java, Kotlin and the Groovy language.
Quarkus
- 開発元: RedHat
Quarkus is a Cloud Native, (Linux) Container First framework for writing Java applications.
Helidon
- 開発元: Oracle
Project Helidon is a set of Java Libraries for writing microservices.
フレームワーク比較系の情報
まとめ
- Helidonはあまり有力じゃなさそう?
- QuarkusはRedHatがOSSコミュニティにのせつつ強力/戦略的に推進・展開中,これまでのOSSのプラクティスにも乗っかっている
- Micronautは(既存のOSSのプラクティスではなく)独自路線で開発しやすさを提供しようとしている
MicronautとQuarkus
A comparative review of microservice frameworks - Speaker Deck
- P.52〜54に比較表あり
- REST APIやデータアクセス(repository)の書き方が微妙に違う
- Micronautは独自が多い,Quarkusはこれまでのbest-of-breedがベース
QuarkusとHelidon
Quarkus seems like it’s part of a deliberate strategy to draw mindshare for an ecosystem, whereas Helidon feels more like some devs got approval to open source a thing.
- Quarkusは戦略的にエコシステムのせて展開しようとしているが,Helidonはごく一部の開発者が許可をもらってOSSにしてるだけ,という印象
MicronautとHelidon
Helidon 2.0 Features New Web Client, DB Client and Command-Line Tool
Micronaut is a great framework. Currently, it is more feature-rich than Helidon and it supports AOT compilation by design, which makes it a perfect showcase of GraalVM native-image.
Helidon MP, on the other hand, is our “standards” solution. It supports MicroProfile and some Jakarta EE components. Micronaut doesn’t support it because of AOT compilation limitations. We also have Helidon SE, which offers another development experience and allows building fast, reactive, non-blocking services.
We are planning to embrace Micronaut and combine the best of both worlds.
- MicronautとHelidonは統合していくらしい?よくわからん…
MicronautとQuarkusとHelidon MP
Which Java Microservice Framework Should You Choose in 2020? | by Matthias Graf | Better Programming
- 開発しやすさ:Helidonはドキュメンテーションなど含め動かすのが大変だった
- コンパイル時間はどれも同じ,GraalVMのネイティブイメージ生成は230秒〜350秒ぐらいで辛い
- 起動時間,MicronautとQuarkusは早い,ネイティブイメージだと1.39秒(Quarkus)と1.46秒(Micronaut)
- リポジトリは以下
Tagged: #Java #microservices