servicepoint-binding-uniffi/README.md

33 lines
2.7 KiB
Markdown
Raw Normal View History

# servicepoint-binding-uniffi
2024-11-23 17:38:50 +01:00
2024-05-12 01:49:38 +02:00
In [CCCB](https://berlin.ccc.de/), there is a big pixel matrix hanging on the wall. It is called "Service Point
Display" or "Airport Display".
2024-05-12 00:03:10 +02:00
This crate contains bindings for multiple programming languages, enabling non-rust-developers to use the library.
Also take a look at the main project [README](https://git.berlin.ccc.de/servicepoint/servicepoint/src/branch/main/README.md) for more
information.
2025-02-16 15:13:46 +01:00
## Supported languages
| Language | Support level | Repo | Notes |
|-----------|---------------|---------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------|
| .NET (C#) | Full | [servicepoint-binding-csharp](https://git.berlin.ccc.de/servicepoint/servicepoint-binding-csharp) | see dedicated section |
| Ruby | Working | | LD_LIBRARY_PATH has to be set, see example project |
| Python | Tested once | | Required project file not included. The shared library will be loaded from the script location. |
| Go | untested | | Code generation works |
| Kotlin | untested | | Code generation works |
| Swift | untested | | Code generation works |
## Note on stability
This library is still in early development.
You can absolutely use it, and it works, but expect minor breaking changes with every version bump.
## Notes on differences to rust library
- Performance will not be as good as the rust version:
2025-02-16 15:13:46 +01:00
- most objects are reference counted.
- objects with mutating methods will also have a MRSW lock
- You will not get rust backtraces in release builds of the native code
2025-02-16 15:13:46 +01:00
- Panic messages will work (PanicException)