33 lines
2.7 KiB
Markdown
33 lines
2.7 KiB
Markdown
# servicepoint-binding-uniffi
|
|
|
|
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".
|
|
|
|
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.
|
|
|
|
## 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:
|
|
- 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
|
|
- Panic messages will work (PanicException) |