Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prototype bindings for Firefox Desktop platform (C++) consumers #269

Closed
linabutler opened this issue Sep 10, 2020 · 2 comments
Closed

Prototype bindings for Firefox Desktop platform (C++) consumers #269

linabutler opened this issue Sep 10, 2020 · 2 comments

Comments

@linabutler
Copy link
Member

linabutler commented Sep 10, 2020

Once we have our ADR for platform consumers (#268), we’ll want to make a prototype. I don’t have many details to add here yet, since we don’t know how we’ll approach this—that’s what the ADR is for! 😁

I think we can reuse the core of #255. The RustBuffer serialization machinery is going to be useful here as well, except instead of serializing WebIDL-specific types like mozilla::dom::Nullable, dom::Record, and dom::Sequence, we can serialize mozilla::Maybe, mozilla::HashMap, and nsTArray, respectively. We’ll also need to generate some code for exposing functions, records, and objects to C++, too, like we do for Swift, Kotlin, and Python.

Good news: because we’re only generating a C++ API, and not any IDLs, I suspect we can land this in Desktop quicker than whatever we do for JS.

┆Issue is synchronized with this Jira Task
┆Issue Number: UNIFFI-18

@linabutler linabutler changed the title Prototype C++ bindings for platform consumers Prototype bindings for Firefox Desktop platform (C++) consumers Sep 10, 2020
@linabutler
Copy link
Member Author

Let's leave this open, but backburner it for now. Kate and Ana would like to focus on front-end experiments first, and figure out a story for platform later. Since the Nimbus team doesn't have any platform consumers yet, we'd be on the hook for maintaining Nimbus, the C++ bindings, and the actual experiments themselves, which doesn't feel like the right thing.

#285 was helpful for figuring out how a pure-C++ API would look, but it's not worth our time to push on that since Nimbus doesn't need it right away.

@rfk
Copy link
Collaborator

rfk commented Aug 2, 2021

Closing old Gecko issues and consolidating them under #991

@rfk rfk closed this as completed Aug 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants