Nucleus
Ecosystem

Trente ans de bibliothèques matures, natives à votre application

Les applications Nucleus tournent sur la JVM, donc chaque bibliothèque de Maven Central s'ajoute avec une dépendance Gradle ; cette page regroupe les choix desktop courants par tâche.

Les applications Nucleus tournent sur la JVM : votre code partage un process et un tas mémoire avec n'importe quelle bibliothèque publiée sur Maven Central. Pas de pont FFI, pas de daemon hors process, pas de build natif par plateforme à maintenir — une bibliothèque, c'est une ligne implementation dans build.gradle.kts. Cette page regroupe par tâche les bibliothèques que vous utiliserez le plus souvent sur le desktop.

IA et machine learning

Faites tourner l'inférence en local, appelez des modèles distants ou embarquez un LLM dans l'application.

  • DJL — Deep Java Library, serving de modèles multi-engine.
  • ONNX Runtime Java — inférence ONNX.
  • LangChain4j — briques pour agents, RAG et tool-use.
  • llama.cpp via bindings FFM — inférence LLM locale.
  • TensorFlow Java — le portage JVM de TensorFlow.

Recherche et indexation

Lucene est le moteur derrière Elasticsearch, Solr et OpenSearch. Vous pouvez l'embarquer directement au lieu de faire tourner un service séparé.

  • Apache Lucene — recherche full-text embarquée.
  • OpenSearch client, Elasticsearch client — se connectent aux clusters.
  • Tantivy via JNI — moteur full-text en Rust.
  • Quickwit — recherche cloud-native.

Données et analytique

Moteurs colonnaires, in-process ou distribués : tout est disponible sur la JVM.

  • Apache Arrow — format colonnaire en mémoire.
  • DuckDB JDBC — OLAP embarqué.
  • Apache Parquet — format colonnaire sur disque.
  • jOOQ — builder SQL type-safe.
  • Apache Spark — in-process pour des volumes de données moyens.

Documents et parsing

Analysez les fichiers que les utilisateurs glissent dans l'application, sans appeler de binaires natifs.

  • Apache Tika — plus de 1000 formats.
  • Apache PDFBox — lecture et écriture de PDF.
  • Apache POI — documents Office.
  • Jsoup — parsing HTML.
  • commonmark-java — Markdown.

Imagerie et vision

Le traitement d'image et la vision par ordinateur tournent dans le même process que votre UI Compose.

  • BoofCV — vision par ordinateur en Java.
  • JavaCV — bindings OpenCV.
  • TwelveMonkeys — plus de 40 formats d'image.
  • Skia — rendu 2D GPU, déjà présent dans le process Compose.
  • FFmpeg via JavaCV — vidéo.

Réseau et RPC

Clients et serveurs HTTP, frameworks RPC et media temps réel sont tous sur la JVM.

  • Netty — I/O asynchrone.
  • Ktor — client et serveur HTTP en Kotlin.
  • gRPC Java — framework RPC.
  • OkHttp — client HTTP.
  • WebRTC Java — media temps réel.

Pour HTTP en particulier, Nucleus fournit les modules native-ssl et native-http, qui branchent le trust store du système d'exploitation dans n'importe quel client (java.net.http, OkHttp, Ktor). Les proxies d'entreprise et les autorités de certification installées par l'utilisateur sont pris en compte sans configuration supplémentaire.

Le reste de Maven Central

Chaque autre artefact de Maven Central — environ 500 000 bibliothèques — s'utilise aux mêmes conditions : une ligne de dépendance Gradle, comme votre framework de test. Pas de pont FFI, pas de compilation native, pas de mainteneurs par OS.

Où Nucleus s'arrête

Deux besoins desktop courants n'ont pas de module Nucleus, parce que des bibliothèques existantes les couvrent déjà :

Le plugin Gradle Nucleus livre les métadonnées de reachability GraalVM pour FileKit, donc il fonctionne sous Native Image sans configuration manuelle.

Et ensuite