Welcome! This is the official development roadmap for BinaryRPC.
This project reached #1 on Hacker News on July 12, 2025 — thank you all for the incredible feedback. 🙏
We're currently working on delivering a faster, leaner, and more developer-friendly core.
Goal: Strip down all unnecessary dependencies and provide a clean, production-ready, plug-and-play core.
- Remove
folly,glog,gflagsdependencies completely - Replace
F14Mapwithabsl::flat_hash_map - Introduce a minimal RAII-friendly
ThreadPoolimplementation - Add basic error-handling macros and assertions
- Clean CMake targets with options like
-DBINARYRPC_BUILD_EXAMPLES=ON
- Simplified Payload API:
payload["key"]with type inference -
payload.has("key"),.as<T>(),.toJson()sugar syntax - Optional custom handler registration with variadic template helper
- Single-header
binaryrpc.hppversion (core only, no QoS)
- Add
vcpkg.jsonmanifest to lock dependency versions - Package as
binaryrpc-coreandbinaryrpc-full - CMake install targets &
find_packagesupport
Goal: Provide alternative transport backends beyond WebSockets.
-
TransportInterfaceabstraction (WebSocket, Raw TCP, QUIC) - Add Raw TCP backend (epoll-based)
- Graceful fallback from WebSocket to Raw TCP
- Optional TLS (OpenSSL wrapper, cert pinning support)
- Start QUIC research (experimental branch)
Goal: Empower developers to debug and measure performance easily.
- Internal latency measurement (per message)
- Integrated Benchmark Tool (BinaryRPC vs gRPC testbed)
- CPU and memory usage stats (optional)
- Build GitHub Actions CI job to run benchmarks on PRs
Goal: Foster a strong developer community around BinaryRPC.
- Define public plugin interface (e.g., for logging, auth)
- Open Discussions for feature voting
- Add good-first-issue tags to GitHub Issues
- Publish a “Build Your First Real-time App with BinaryRPC” tutorial
- Create a Discord/Matrix or GitHub Discussions board
- QUIC Transport Backend (through msquic or ngtcp2)
- Binary serialization option (e.g., Flatbuffers or custom)
- Actor-style task scheduling layer (optional)
- Codegen from
.rpcschema files (TBD) - Language bindings: Python, Rust, Go, etc.
BinaryRPC is designed for:
- Real-time systems: multiplayer games, dashboards, financial feeds
- Low-latency environments: sub-millisecond response time
- Minimal footprint: no reflection, no slow abstraction soup
- Explicit over magic: if you see it, you can debug it.
Thanks to everyone who supported the project on Hacker News.
Your feedback directly shapes this roadmap — feel free to open a Discussion or submit an Issue if you want to help!
Stay tuned,
— Efecan