~/talk

Building a production ready Chat SDK using Jetpack Compose

Talkat Mobius 2021 Moscow · 2021-11-22..11-25· [android, frontend-architecture]
links:none on file
slides:none on file

Built the world's first Jetpack Compose Chat SDK, implemented in a few months while Compose was still in beta and launched day one of 1.0. The SDK uses three component layers — screen / bound / stateless — binds to viewmodels, exposes slot APIs, modifiers and action handlers, and supplies a ChatTheme for global colors and shapes. Lazy lists use keys and Compose’s recomposition to avoid heavy diffs. Team measures at least 2x faster UI development versus XML and reports no production stability or performance issues; source and docs live on GitHub.

AI-written summary · about

  1. 0:00Start
  2. 4:59Building a Production Ready Chat Sdk Using Jetpack Compose
  3. 7:43Why Jetpack
  4. 12:27Is Compose Ready To Use in Production
  5. 13:31Accompanist Libraries
  6. 16:39Component Types
  7. 17:29Bound Components
  8. 18:22Stateless Components
  9. 20:22Message List
  10. 21:05Viewmodel
  11. 22:03Item Content Function
  12. 22:28Customizing the Item Content Function
  13. 24:35Loading and Pagination State
  14. 25:44Miscellaneous
  15. 29:28Bottoms-Down Approach
  16. 30:06Lack of Examples
  17. 30:35Best Practices
  18. 31:19Concerns
  19. 31:30Dynamically Size Components
  20. 32:21Message List Optimization
  21. 33:06Deep Customization
  22. 34:06Nested Components
  23. 41:41Action Handlers
  24. 43:19Ui Customizations
  25. 43:36Slot Integrations
  26. 44:05Label
  27. 45:22Chat Theme
  28. 47:01Resources
  29. 50:11Building Newer Features in Compose
~/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.