FAQ
Get answers to some of your common Quarkus questions.
Qual é a sua licença?
Quarkus é um projeto Open Source licenciado sob o https://www.apache.org/licenses/LICENSE-2.0 [Apache License versão 2.0].
Onde posso obtê-lo?
O Quarkus é publicado no Maven Central, confira quais extensões você precisa e basta importá-los em seu 'pom.xml' para obter o Quarkus. Recomendamos que você comece sua experiência com o Quarkus através do nosso Guias de introdução.
Quarkus é estável?
Sim, consideramos o Quarkus estável. Lembre-se que 95% dos recursos que os aplicativos Quarkus usam são fornecidos pelo ecossistema como Hibernate ORM, Eclipse Vert.x, Netty, RESTEasy, etc. Essas bibliotecas são sólidas :)
Você pode ir para code.quarkus.io para ver se uma determinada extensão é stable (padrão) ou preview.
O que é uma extensão do Quarkus?
Um dos principais objetivos do Quarkus é a facilidade de extensibilidade e a construção de um ecossistema vibrante.
Pense nas extensões do Quarkus como suas dependências de projeto. As extensões configuram, inicializam e integram uma estrutura ou tecnologia em seu aplicativo Quarkus. Eles também fazem todo o trabalho pesado de fornecer as informações certas para GraalVM para sua aplicação compilar nativamente. Isso permitirá que os projetos de terceiros aproveitem facilmente o trabalho que fizemos para facilitar o direcionamento do GraalVM.
Quais são os status de extensão?
As extensões têm um grau de maturidade variado quando entram no ecossistema Quarkus. Um status oferece as expectativas nas quais você pode confiar.
Stable: backward compatibility and presence in the ecosystem are taken very seriously. An application can safely rely on these extensions. Extensions not marked as preview or experimental (the majority) are stable.
Preview: backward compatibility and presence in the ecosystem is not guaranteed. Specific improvements might require to change configuration or APIs and plans to become stable are under way. Such extensions are in the middle of their maturation process.
Experimental: early feedback is requested to mature the idea. There is no guarantee of stability nor long term presence in the platform until the solution matures. Such extensions are at the beginning of their maturation process.
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.
Você pode encontrar o status da extensão em code.quarkus.io ou no link da extensão:/guides/[guides].
A equipe do Quarkus aceitará minha extensão?
Oh sim! Tivemos algumas extensões escritas fora da equipe "inicial" do Quarkus.
O Quarkus é um ecossistema aberto e esperamos ver todas as extensões que as pessoas precisam para escrever suas aplicações. Estamos trabalhando enquanto falamos para permitir que uma extensão seja publicada em repositórios separados e GAVs separados e, portanto, publicada em repositórios Maven independentemente do núcleo do Quarkus. Isso simplificará muito o processo de publicação. Aguarde novidades em breve.
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 é uma máquina virtual universal para executar aplicações escritas em várias linguagens diferentes, além de fornecer a capacidade de compilar bytecode JVM para um executável nativo (este executável nativo executa uma máquina virtual especial chamada SubstrateVM). Esses executáveis nativos iniciam muito mais rápido e podem usar muito menos memória do que uma JVM tradicional, no entanto, nem todos os recursos da JVM são suportados, e alguns são mais limitados do que o normal.
Por exemplo, por padrão, o uso de reflexão de classes no GraalVM não funcionará, a menos que uma classe/membro tenha sido explicitamente registrada para reflexão. Isso normalmente é obtido listando cada classe, método, campo e construtor em um arquivo JSON, e passando isso como um parâmetro para a compilação de imagem nativa. Isso obviamente fica bastante complicado para todos, exceto para os projetos mais triviais. O Quarkus fornece uma estrutura que facilita a solução dessas anotações e determina programaticamente o que deve ser registrado.