Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Yupiik Fusion is a modern, high-performance web framework built on top of GraalVM. It’s designed to provide a streamlined and efficient way to develop web applications.

License

NotificationsYou must be signed in to change notification settings

yupiik/fusion

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fusion?color=00b2ef&label=Last%20Release&logoColor=00b2ef&logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAACAAAAAqCAYAAADS4VmSAAAAAXNSR0IArs4c6QAABGdJREFUWEedmF2I3FQUx%2F9nZrYzq7ttMtuK32B90WpFEbtUW2T7UqqbjIgM%2BKQP%2BmAfBUEFP0H7oo%2BiIgg%2BqRUqk%2BwWRXTFj9UWoVIp7UN1H9QitTvJMtpOd3dydDI7k9zk3syd5C25557zO1%2F3I4S8z3xzJzp0MpweBDfioanf86iiPJPCOY7HwlzbzKUr1yQ4XgAgOZdhm4VRHcoLIHrft5ojCqMDiKF%2FGlQkcOfNgecjQowGcKS5ByX6NmUsDrXOe%2FFw9TvdVIwGEDdUNiawn%2F4NDR0%2BP4HKWCtPFPQBXP8EmO9UGonDEf0My7hLJwr6AHEDqjzryCSo9ACEtuM%2FYVevl3rneH8D2LoxptWWugBR2w2r8hGjMBxAaDt6BrbxRmZuHf81gJ%2FXLchsgEbzQRDN6SobyMWhmWdRq86roLMB4ooKVMWs4Q0Uuf4jYP4kfKfONKytxwdjR1vbsL5%2BXgdcDeD6J8G8U6vtukLJ2hDb8hdYxh2yKKgBsorJ9QJwYjMiMKzEZqRRkHKAhrcKwliPmC7ANrYN6A%2Bf2oTKtZelOW1%2FUUK93oml6RKYK%2BE7Yw01c1NyXhpggSto%2BZe0Qh%2FgMQBFFPC%2BlvykMY4Zasch0gBC4RUfx%2BzmDwYT5lem0Ql%2BTBkTWjW4HfbUqVhHvALgRRWgCDDXmkGw%2FpWWN%2BXLE9h%2FdW8z%2BtQzUETUIVkFWSjtw%2BzkQt%2BGCBD3pG2UUKcon43mCRBpbkZYhGXeF9UNj6PiX5Q5FgE4zUWAdmt5n2czEtLEP8Cu3huWeCxX6vVenHwadnWHtAsc7zcAN43iRA9gmAGNftZ05A8A18UBCQtcQstf06JmfhS16kdS7%2FsfHf9ZgA9p6Zs0xkjwngsHUNvyWeTNch0ofKxUpiIRNiO6BzXjp4Fow38OxK9HXZC8YDAfRK36dio1JaOCB0i%2BAiZBjvx1FcbKn8MyxWOZ670MxkviQuR4vwLYnnKG2QeRsfG9A9ssZYY%2Ba9BpXgRoPCVCWOwVoXvhFnDxtFLHsFOQTirS1rfDNpbSS3HD64Agv2JR8VZYm88MKcJ9AH8plWEEqJlFMQVq%2Bq8B3K8Y%2Fga2KY45XrfQ7s6Ea%2F9zBeo3RBud5IIJzPmmePJZ2QUOjuXKf6GzA0FpL8DvqjpJTIG7%2FCq48EIoTPQULOMdwXCyY%2BRU6eO4cDrCDCyzG92eGaUBWeE5%2FlsAH8yMBvMh1KrRqbgvrFhNIwDXOwfGNdJQOZ4PYMtIaWAso2b2LynJHxrHYZvTsQgwwfG7Px16T9f7bi0E3FQbDZ4ECu%2BF490lmuhDpWz%2FIiuJgmQzoiWAox1N1LoK2yyHn5zlJ2IA0dnf9dfArFq0ugeYK%2BOOSgAkfhBcWKYt1osCoC%2Fk%2BsfAvCszbbZJQwCC3bCnojNgXJsqAkmLzsoBIDgqBRkAuP5ZMN88EGqfK6N%2B22omvS5AX8nCUgUtI74IfQ%2Fb3DP8cqqiGBVAoSc%2FQFiIG%2F8K825W%2F%2Bv4D2sg4qMfRFPFAAAAAElFTkSuQmCC
Github CI
Reproducible Builds

Yupiik Fusion is a modern, lightweight Java framework designed to quickly build efficient, modular, and maintainable applications with ease built on top of GraalVM. Leveraging powerful features like dependency injection, easy RESTful API creation, and seamless JSON-RPC support, Fusion streamlines development and boosts developer productivity.

🚀 Key Features

  • Simplicity: Minimum magic needed to make your development workflow smooth and nice.

  • Modularity: Lightweight and modular architecture that lets you choose exactly what your application needs.

  • Dependency Injection: Intuitive and reflectionless DI model that simplifies component management and improves maintainability.

  • JSON-RPC & REST API: Effortlessly build JSON-RPC or REST APIs for modern web applications.

  • CLI Application Support: Quickly create robust and maintainable Command-Line Interface (CLI) applications.

  • Cloud-Native Ready: Ideal for containerized applications running in Kubernetes or cloud environments.

  • Native: Built on top of GraalVM for easy native build.

  • Efficient Resource Handling: Supports streaming and low memory usage for high-performance scenarios.

🔧 Getting Started

To quickly get started with Yupiik Fusion, add the core dependencies to your Maven project:

<dependencies>    <dependency>        <groupId>io.yupiik.fusion</groupId>        <artifactId>fusion-build-api</artifactId>        <version>${fusion.version}</version>        <scope>provided</scope>    </dependency>    <dependency>        <groupId>io.yupiik.fusion</groupId>        <artifactId>fusion-processor</artifactId>        <version>${fusion.version}</version>        <scope>provided</scope>    </dependency>    <dependency>        <groupId>io.yupiik.fusion</groupId>        <artifactId>fusion-api</artifactId>        <version>${fusion.version}</version>    </dependency></dependencies>

🚦 Quickstart Example

Creating a Simple REST API

Add Json and HttpServer dependencies:

<dependency>    <groupId>io.yupiik.fusion</groupId>    <artifactId>fusion-json</artifactId>    <version>${fusion.version}</version></dependency><dependency>    <groupId>io.yupiik.fusion</groupId>    <artifactId>fusion-http-server</artifactId>    <version>${fusion.version}</version></dependency>

Create REST Endpoint:

importio.yupiik.fusion.framework.api.scope.ApplicationScoped;importio.yupiik.fusion.framework.build.api.http.HttpMatcher;importio.yupiik.fusion.http.server.api.HttpException;importio.yupiik.fusion.http.server.api.Request;importio.yupiik.fusion.http.server.api.Response;importio.yupiik.fusion.json.JsonMapper;@ApplicationScopedpublicclassProductEndpoint {privatefinalProductServiceproductService;privatefinalJsonMapperjsonMapper;publicProductEndpoint(finalJsonMapperjsonMapper,finalProductServiceproductService) {this.jsonMapper =jsonMapper;this.productService =productService;    }@HttpMatcher(methods ="GET",path ="/product",pathMatching =HttpMatcher.PathMatching.EXACT)publicList<Product>findAllProduct(finalRequestrequest) {returnproductService.findProducts();    }@HttpMatcher(methods ="GET",path ="/product/",pathMatching =HttpMatcher.PathMatching.STARTS_WITH)publicProductfindProduct(finalRequestrequest) {finalvarid =request.path().split("/")[2];returnproductService.findProduct(id);    }@HttpMatcher(methods ="POST",path ="/order",pathMatching =HttpMatcher.PathMatching.EXACT)publicResponsecreateOrder(finalRequestrequest,finalOrderorder) {// custom response craftingreturnResponse.of()                .status(201)                .header("content-type","application/json")                .body(jsonMapper.toString(orderService.createOrder(order)))                .build();    }}

JSON-RPC Support

Easily create JSON-RPC APIs.

Add dependencies:

<dependency>    <groupId>io.yupiik.fusion</groupId>    <artifactId>fusion-json</artifactId>    <version>${fusion.version}</version></dependency><dependency>    <groupId>io.yupiik.fusion</groupId>    <artifactId>fusion-jsonrpc</artifactId>    <version>${fusion.version}</version></dependency>
importio.yupiik.fusion.framework.api.scope.ApplicationScoped;importio.yupiik.fusion.framework.build.api.jsonrpc.JsonRpc;importio.yupiik.fusion.http.server.api.Request;importio.yupiik.fusion.json.JsonMapper;importjava.util.Map;@ApplicationScopedpublicclassJsonRpcEndpoint {privatefinalProductServiceproductService;publicJsonRpcEndpoint(finalProductServiceproductService) {this.productService =productService;    }@JsonRpc(value ="fusion.examples.product.findAll",documentation ="Fetch all product available")publicList<Product>findAllProduct(finalRequestrequest) {returnproductService.findProducts();    }@JsonRpc(value ="fusion.examples.product.findById",documentation ="Find a product by id")publicProductfindProduct(finalRequestrequest,finalStringid) {returnproductService.findProduct(id);    }}

The full examples can be found on the GitHub project:

📖 Documentation

Comprehensive documentation is available at:

🖥️ Contributing

We warmly welcome contributions!

  • Fork the repository

  • Submit your enhancements via pull requests

  • Createissues

  • Opendiscussions

Build

Pre-requisite: Apache Maven >= 3.8 and Java >= 17.

📜 License

Yupiik Fusion is released under the Apache License, Version 2.0. See the LICENSE file for more details.

©️ Copyright

Copyright © 2025 Yupiik.

🌟Simplify your Java applications with Yupiik Fusion. 🌟

About

Yupiik Fusion is a modern, high-performance web framework built on top of GraalVM. It’s designed to provide a streamlined and efficient way to develop web applications.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Languages


[8]ページ先頭

©2009-2025 Movatter.jp