One implementation to rule them all!
summary
Built a shared Go core exposing a Go + Lua scripting layer (Lua scripts pulled from server) and packaged to mobile with gomobile bridge; Android glue implements Bluetooth and logging in Java. Cross-boundary calls benchmark ~50× slower (string cases worse) with per-call overhead around 1–4 μs, so 50–500 calls add ~0.5–2 ms to a 10–20 s transaction — negligible in practice. Issues: gomobile lacks module support, watch for Go/Java reference cycles and panics, binary SDK ~15 MB.
AI-written summary · about
chapters (11)
- 0:00Introduction and background
- 2:55Problem with initial architecture
- 5:25Requirements and Go selection
- 7:12New architecture with Go
- 10:51Go Mobile and platform bindings
- 13:49Performance overhead analysis
- 17:23Library size and deployment
- 18:26Implementation challenges
- 20:58Lua scripting benefits
- 23:26Results and lessons learned
- 26:19Q&A and closing








