~/talk

Powering Worldwide Learning with Kotlin Multiplatform

Talkat droidcon SF 2019 · 2019-11-18..11-19· [android, kotlin, web-platform]
links:none on file
slides:none on file

Quizlet adopts Kotlin Multiplatform to share its core “secret sauce” across iOS, Android and web for over 50 million monthly users, converting the JavaScript grader into a grading logic library, running it against tens of millions of real submissions with zero discrepancies. Android sees much faster execution and APK size nearly halves compared to the previous J2V8 JS runtime; iOS using Kotlin Native shows ~25x speedups, while Kotlin/JS is ~3x slower in browser but still millisecond-fast.

AI-written summary · about

  1. 0:00Introduction and speaker background
  2. 1:16Quizlet's mission and product evolution
  3. 3:01The challenge of mobile app development
  4. 8:57Why shared code became necessary
  5. 9:19Industry approaches to code sharing
  6. 14:55Why Quizlet chose to share secret sauce
  7. 16:20First attempt: JavaScript for mobile apps
  8. 19:10Lessons from JavaScript shared code
  9. 22:20Introduction to Kotlin Multiplatform
  10. 25:34Quizlet's Kotlin Multiplatform vision
  11. 26:35How expect/actual works in KMP
  12. 28:23Evaluating KMP at Quizlet
  13. 29:05Porting grading logic to Kotlin
  14. 31:34Testing Kotlin JS grader thoroughly
  15. 33:20Web team challenges with KMP
  16. 35:28Performance comparison with JavaScript
  17. 36:10Android integration and benefits
  18. 37:15Kotlin Native for iOS
  19. 38:18Challenges with Kotlin Native
  20. 41:06Performance boost on iOS
  21. 41:46Why KMP was the right choice
  22. 42:48Engineer experience with Kotlin
  23. 43:30When to use Kotlin Multiplatform
~/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.