Mobiconf 2018: Zhixuan Lai
summary
Tinder open-sources Scarlet, a Kotlin library that cuts WebSocket boilerplate to 10 lines of code by generating an interface implementation, using plugins for OkHttp WebSocket, Moshi, RxJava2 or coroutines, plus message and stream adapters. Connection management runs on an immutable state machine with lifecycle and backoff plugins. Scarlet runs in production at Tinder for eight months across thousands of devices, is testable and debuggable, and v2 roadmap adds protocols (Socket.IO, SSE, STOMP, MQTT) and more protocol plugins.
AI-written summary · about
chapters (13)
- 0:00Introduction and fun warm-up
- 1:04WebSocket basics and REST comparison
- 2:32Airline analogy for WebSocket benefits
- 5:57Problems with WebSocket on Android
- 7:23Why Scarlet was created
- 11:31Scarlet’s modular design explained
- 15:32Real-world Bitcoin price demo
- 19:58Scarlet plugins overview
- 23:42Maintaining Scarlet in production
- 26:21State machine architecture
- 31:06Scarlet v2 and future plans
- 32:40Recap and call to action
- 33:26Q&A session
related talks
43mTaming WebSocket with Scarlet
38mTaming WebSocket with Scarlet
43mTaming Websocket with Scarlet
40mLibraries I wish I knew about when I started
32mRoad to modularization
14mReal-Time Communication in Android
57mTransporting Data at Warp Speed: How to Connect Spring Boot Apps Quickly, Powerfully, and Painlessly
23mMoQ: Not Another Tech Demo
