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

Why aren't we using gRPC? #670

Open
qdot opened this issue Nov 16, 2024 · 1 comment
Open

Why aren't we using gRPC? #670

qdot opened this issue Nov 16, 2024 · 1 comment
Assignees
Labels
Features New things to add to the project question

Comments

@qdot
Copy link
Member

qdot commented Nov 16, 2024

Way back when Buttplug started, flying json over websockets seemed like the best idea 'cause gRPC didn't seem to support the streaming we needed. It does now. There's some issues with flying the connection from the web (maybe doing gRPC over websocket?) but otherwise... might be worth trying in Buttplug v5? Would save everyone the issues with our json schema shit.

@qdot qdot added the Features New things to add to the project label Nov 16, 2024
@qdot qdot self-assigned this Nov 16, 2024
@qdot qdot added the question label Nov 16, 2024
@qdot qdot changed the title Why aren't we just using gRPC? Why aren't we using gRPC? Nov 16, 2024
@blackspherefollower
Copy link
Collaborator

The biggest reason that jumps out at me for keeping with JSON over gRPC is language support. Sure gRPC is available in most of the common general purpose languages (although I really don't recommend trying to put together the build chain to get it working in C++) but a LOT of Buttplug client usage ends up in game mods, some having to be written in the game's specific scripting language or are limited to the environments native capabilities (as in, you're not allowed to load external libraries). JSON and WebSocket support are typically far more common in those environments than gRPC or the ability to load in external libraries.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Features New things to add to the project question
Projects
None yet
Development

No branches or pull requests

2 participants