Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/duchess-rs/duchess

Silky smooth Java-Rust interop
https://github.com/duchess-rs/duchess

Last synced: 3 days ago
JSON representation

Silky smooth Java-Rust interop

Awesome Lists containing this project

README

        

# Duchess: silky smooth Java integration

[][Zulip]
[][Coverage]

Duchess is a Rust crate that makes it easy, ergonomic, and efficient to interoperate with Java code.

## TL;DR

Duchess permits you to reflect Java classes into Rust and easily invoke methods on Java objects. For example the following Java code...

```rust
Logger logger = new log.Logger();
logger.addEvent(
Event.builder()
.withTime(new Date())
.withName("foo")
.build()
);
```

...could be executed in Rust as follows:

```rust
let logger = log::Logger::new().execute()?;
logger
.add_event(
log::Event::builder()
.with_time(java::util::Date::new())
.with_name("foo")
.build(),
)
.execute()?;
```

## Curious to learn more?

Check out the...

* The [examples](https://github.com/duchess-rs/duchess/tree/main/test-crates/duchess-java-tests/tests/ui/examples)
* The [tutorials](https://duchess-rs.github.io/duchess/tutorials.html) chapter

## Curious to get involved?

Look for [issues tagged with good first issue][] and join the [Zulip][]. For more information on how to develop duchess,
see [Contributing][]. You may also be able to improve test [coverage].

[issues tagged with good first issue]: https://github.com/duchess-rs/duchess/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22
[Zulip]: https://duchess.zulipchat.com/
[Contributing]: CONTRIBUTING.md
[Coverage]: https://duchess-rs.github.io/duchess/coverage