Comments (2)
We recently saw mls because it aligns with work we are planning to do and was quite excited to see uniffi used there, then saw your name attached to it and it all made sense :)
In general, this sounds great. Some of these symbols probably do need to be "public" because they are referenced from other modules, but I'm fairly confident our test suite will cover all these cases - but they can probably be "hidden" (whatever that means for the specific binding in question). You mention sub-modules which might work well for some of the bindings - but yeah, we'd almost certainly take PRs for this.
from uniffi-rs.
We recently saw mls because it aligns with work we are planning to do and was quite excited to see uniffi used there, then saw your name attached to it and it all made sense :)
Nice! π I'm excited too about this effort to bring more MLS to platforms like Android and iOS with the bindings created here!
In general, this sounds great. Some of these symbols probably do need to be "public" because they are referenced from other modules,
Yeah, I don't think we can avoid exposing some parent classes here and there. In Android, we will eventually make the library available via Android Jetpack, and I understand that we have certain API guidelines for this. I'm not sure exactly what this means and if it restricts us in what we can leave public in the generated API.
We have played with the idea of writing a shim API on top of the auto-generated API coming out of UniFFI β but it would of course be ideal to avoid this as much as possible to make maintenance reasonable.
You mention sub-modules which might work well for some of the bindings - but yeah, we'd almost certainly take PRs for this.
Excellent! Then I'll start investigating what is possible and send some PRs to update the output.
from uniffi-rs.
Related Issues (20)
- Async Callback / Async Trait HOT 8
- Make ForeignBytes Mutable. HOT 1
- Version our documentation
- Foreign-implemented async traits
- Feature Request: Add SwiftLint disable in generated Swift file HOT 3
- Suggestion: generate permissive, C-compatible enums
- Deriving uniffi::Error on enum with variant with unnamed fields produces confusing errors HOT 2
- Custom Types from external crate do not generate correct binding function signature when used in exports HOT 8
- Traitβs associated types support HOT 5
- Errors declared in external crate can't be thrown. HOT 1
- Using module_name or package_name with external types causes invalid code to be generated. HOT 6
- Documented attribute macro `uniffi::method` is missing HOT 2
- enum/error types are ambiguous HOT 10
- Instantiating AndroidSystemCleaner causes crash on Android 13
- `Lift` / `LiftRef` error with bad compilation error for large enums HOT 3
- Allow foreign implementations of PartialEq, Eq, Hash etc traits HOT 5
- UniFFI generated Swift code fails to compile "Swift 6" mode - due to mutation of shared state.
- uniffi-rs 0.27 throw error with Constructor return type must be Arc<Self> HOT 20
- [tests]: error: consecutive declarations on a line must be separated by ';' HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uniffi-rs.