FAQ
Get answers to some of your common Quarkus questions.
ライセンスは何ですか?
Quarkusは Apache License version 2.0 でライセンスされているオープンソースプロジェクトです。
どこから入手できますか?
Quarkus is published in Maven Central. We recommend you start your Quarkus experience with our Getting Started guides or by downloading a scaffolded application from code.quarkus.io.
Quarkusは安定していますか?
Yes, we consider Quarkus stable. Quarkus is used in production by a wide range of organizations (see some user stories). Remember 95% of the features Quarkus apps use are provided by the ecosystem like Hibernate ORM, Eclipse Vert.x, Netty, RESTEasy, etc. These libraries are rock solid :)
You can go to quarkus.io/extensions to see if a particular extension is stable (default) or preview.
Quarkusエクステンションとは何ですか?
Quarkusの主な目標の1つは、拡張性の容易さと活気のあるエコシステムの構築です。
Quarkusエクステンションはプロジェクトの依存関係だと考えてください。エクステンションは、フレームワークまたはテクノロジーをQuarkusアプリケーションに構成、起動、および統合します。また、アプリケーションをネイティブにコンパイルするために、GraalVMに適切な情報を提供するという面倒な作業もすべて行います。これにより、サードパーティのプロジェクトは、GraalVMをターゲットにしやすくするために我々が行った作業を簡単に利用できるようになります。
エクステンションステータスとは何ですか?
エクステンションは、Quarkusエコシステムに入る際に、さまざまな成熟度を持ちます。ステータスは、信頼度の期待値を提供します。
安定:下位互換性とエコシステムでの存在感が非常に重要視されています。アプリケーションはこれらのエクステンションに安全に依存できます。プレビューまたは実験的(大部分)としてマークされていないエクステンションは安定しています。
プレビュー:下位互換性とエコシステム内での存在感は保証されません。特定の改善には、構成またはAPIの変更が必要になる場合があり、_安定_になる計画が進行中です。このようなエクステンションは、成熟プロセスの途中です。
実験的:アイデアを成熟させるために、早期のフィードバックが必要です。ソリューションが成熟するまで、プラットフォーム内での安定性や長期的な存在は保証されません。このようなエクステンションは、成熟プロセスの初期段階にあります。
Deprecated: backward compatibility and presence in the ecosystem is not guaranteed. Such extensions are likely to be replaced or removed in a future version of Quarkus.
You can find the extension status on quarkus.io/extensions or in the extension guides.
Quarkusチームは私のエクステンションを受け入れますか?
勿論です! Quarkusの「初期」チームの外部でかなりの数のエクステンションが作成されました。
Quarkusはオープンエコシステムであり、人々がアプリを作成するために必要なすべてのエクステンションが存在することを期待しています。エクステンションを個別のリポジトリと個別のGAVで公開し、Quarkusコアとは独立してMavenリポジトリで公開できるようにするために取り組んでいます。これにより、公開プロセスが大幅に簡素化されます。近いうちのニュースを期待してください。
The one current restriction is that extensions should work in both OpenJDK and GraalVM native executables. That is the guarantee we give Quarkus users (a cross compilation for their app). We have a maturity model to improve an extension to be fully "Quarked" and benefit from Quarkus, all done in incremental steps. Just hop on our mailing list to discuss your ideas and get help. And you can start reading our Writing extensions guide as well or more simply get inspiration from the existing ones.
What is GraalVM?
GraalVM は、さまざまな異なる言語で記述されたアプリケーションを実行するためのユニバーサル仮想マシンであり、JVMバイトコードをネイティブ実行可能ファイルにコンパイルする機能を提供します(このネイティブ実行可能ファイルは、SubstrateVMと呼ばれる特別な仮想マシンを実行します)。これらのネイティブ実行可能ファイルは、従来のJVMよりもはるかに高速に起動し、使用するメモリーを大幅に削減できますが、すべてのJVM機能がサポートされているわけではなく、一部は通常よりも制限されています。
たとえば、デフォルトでは、クラス/メンバーがリフレクション用に明示的に登録されていない限り、GraalVMでのリフレクションは機能しません。これは通常、すべてのクラス、メソッド、フィールド、コンストラクターをJSONファイルにリストし、これをパラメーターとしてネイティブイメージビルドに渡すことで実現されます。これは、最も些細なプロジェクトを除いて、明らかに非常に面倒になります。 Quarkusは、これらのアノテーションを簡単に回避し、何を登録するかをプログラムで決定できるフレームワークを提供します。