FAQ
Get answers to some of your common Quarkus questions.
ライセンスは何ですか?
Quarkusは Apache License version 2.0 でライセンスされているオープンソースプロジェクトです。
どこから入手できますか?
QuarkusはMaven Centralで公開されています。必要な which extensions を確認し、pom.xml
にインポートするだけでQuarkusを入手できます。Getting Started guides からQuarkusの体験を始めることをお勧めします。
Quarkusは安定していますか?
はい、Quarkusは安定していると考えています。Quarkusのアプリが使用する機能の95%は、Hibernate ORM、Eclipse Vert.x、Netty、RESTEasyなどのエコシステムによって提供されていることを忘れないでください。これらのライブラリは極めて盤石です:)
code.quarkus.ioにアクセスして、特定のエクステンションが_安定_(デフォルト)か_プレビュー_かを確認できます。
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.
エクステンションステータスは、https://code.quarkus.io[code.quarkus.io] またはエクステンション guides で確認できます。
Quarkusチームは私のエクステンションを受け入れますか?
勿論です! Quarkusの「初期」チームの外部でかなりの数のエクステンションが作成されました。
Quarkusはオープンエコシステムであり、人々がアプリを作成するために必要なすべてのエクステンションが存在することを期待しています。エクステンションを個別のリポジトリと個別のGAVで公開し、Quarkusコアとは独立してMavenリポジトリで公開できるようにするために取り組んでいます。これにより、公開プロセスが大幅に簡素化されます。近いうちのニュースを期待してください。
現在の制限の1つは、エクステンションはOpenJDKとGraalVMの両方のネイティブ実行可能ファイルで機能する必要があるということです。これは、Quarkusユーザーに提供する保証です(アプリのクロスコンパイル)。エクステンションを改善して完全に "Quarked" し、Quarkusの恩恵を受けるための成熟度モデルがあり、すべて段階的に実行されます。 メーリングリスト にアクセスして、アイデアについて話し合い、サポートを受けてください。また、https://quarkus.io/guides/writing-extensions[エクステンション作成ガイド] を読み始めることも、 既存のエクステンション からインスピレーションを得ることもできます。。
What is GraalVM?
GraalVM は、さまざまな異なる言語で記述されたアプリケーションを実行するためのユニバーサル仮想マシンであり、JVMバイトコードをネイティブ実行可能ファイルにコンパイルする機能を提供します(このネイティブ実行可能ファイルは、SubstrateVMと呼ばれる特別な仮想マシンを実行します)。これらのネイティブ実行可能ファイルは、従来のJVMよりもはるかに高速に起動し、使用するメモリーを大幅に削減できますが、すべてのJVM機能がサポートされているわけではなく、一部は通常よりも制限されています。
たとえば、デフォルトでは、クラス/メンバーがリフレクション用に明示的に登録されていない限り、GraalVMでのリフレクションは機能しません。これは通常、すべてのクラス、メソッド、フィールド、コンストラクターをJSONファイルにリストし、これをパラメーターとしてネイティブイメージビルドに渡すことで実現されます。これは、最も些細なプロジェクトを除いて、明らかに非常に面倒になります。 Quarkusは、これらのアノテーションを簡単に回避し、何を登録するかをプログラムで決定できるフレームワークを提供します。