~/talk

KotlinX Libraries

Talkat KotlinConf 2023 · 2023-04-12..04-14· Granbeurszaal· [kotlin]
slides:none on file

A multi‑platform chat app is built with Ktor websockets and Compose Multiplatform to demo concrete libraries: kotlinx.serialization compiler plugin generates no‑reflection serializers, polymorphism requires explicit tags or sealed hierarchies, and coroutines use MutableSharedFlow with replay on server to broadcast events while client code uses cold flow and StateFlow (state updates dedupe by reference). Date/time uses use Instant not LocalDateTime for moments and rendering by zone, and Immutable persistent lists reduce recomposition in UI; the sample works and is on GitHub.

AI-written summary · about

  1. 0:00Start
  2. 5:58Serialization library components
  3. 6:50Start small: serialize one event
  4. 8:19Why doesn't it work with supertype?
  5. 9:44Solution: sealed hierarchy
  6. 10:40KotlinX.Serialization: Summary
  7. 12:43Underlying mechanics: Flows
  8. 14:57Client network layer: sending event
  9. 16:22Server: broadcasting event
  10. 17:58Handling new connection
  11. 22:50Client network layer: observing flow of events
  12. 24:11Client UI layer: building state flow of all events
  13. 29:01The main types
  14. 31:37Grouping messages by time intervals
  15. 35:31The same puzzler
  16. 38:01Benefits of using Immutable Collections
  17. 39:15Composable State Change Example
  18. 44:21Check the Chat Application!
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.