FAQ
Get answers to some of your common Quarkus questions.
Quarkus稳定吗?
是的,我们认为Quarkus是稳定的。请记住,Quarkus应用程序使用的95%的特性都是由Hibernate ORM, Eclipse Vert.x, Netty, RESTEasy等生态系统提供的。这些库是坚如磐石的 :)
您可以访问 code.quarkus.io 查看特定扩展是否为 stable (默认) or preview。
什么是Quarkus扩展?
Quarkus的主要目标之一是易于扩展和构建一个充满活力的生态系统。
可以将Quarkus扩展视为您的项目依赖项。扩展可以配置、引导并将框架或技术集成到您的Quarkus应用程序中。它们还做了所有繁重的工作,为GraalVM提供正确的信息,以便应用程序本地编译。这将允许第三方项目轻松地利用我们所做的工作,使其更容易瞄准GraalVM。
什么是扩展状态?
扩展在进入Quarkus生态系统时具有不同程度的成熟度。状态提供了你可以依赖的期望。
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.
您可以在 code.quarkus.io 或在扩展 手册中找到扩展状态。
Quarkus团队会接受我的扩展吗?
噢,是的!我们在Quarkus "初始" 团队之外编写了相当多的扩展。
Quarkus是一个开放的生态系统,我们希望看到人们编写应用程序所需的所有扩展。我们正在工作,正如我们所说,允许一个扩展在单独的repo和单独的GAV中发布,从而在Maven repo中独立于Quarkus核心发布。这将大大简化发布过程,期待很快有新消息。
What is GraalVM?
GraalVM 是一个通用的虚拟机,用于运行用各种不同语言编写的应用程序,并提供将JVM字节码编译为原生可执行文件的能力(这个原生可执行文件运行一个名为SubstrateVM的特殊虚拟机)。与传统JVM相比,这些原生可执行文件启动速度更快,使用的内存也少得多,但是并不是所有JVM特性都得到支持,有些特性的限制比一般的要多。
例如,默认情况下,GraalVM中的反射将不能工作,除非类/成员已显式地为反射注册。这通常是通过列出JSON文件中的每个类、方法、字段和构造函数,并将其作为参数传递到原生镜像构建中实现的。显然,除了最简易的项目外,这对于所有项目来说都是相当麻烦的。Quarkus提供了一个框架,可以轻松地处理这些注解,并以编程的方式确定应该注册哪些内容。