Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GooleIOExtended2019_Toan_English.pdf

 GooleIOExtended2019_Toan_English.pdf

A88d9a18fa8d8d5b2b29c5cc3a387931?s=128

Toan Tran

July 27, 2019
Tweet

More Decks by Toan Tran

Other Decks in Programming

Transcript

  1. None
  2. None
  3. Agenda 1. Some background contexts 2. First line of Kotlin

    3. Adoption process 4. Is it easy or not? 5. Lessons learnt 6. Where we are now? 7. Questions
  4. Background contexts (facts) - Starting as MVP project in 5

    months - All Java - “1-man project” - 1+ year since Kotlin official support from Google (May 2017)
  5. First line of Kotlin (1) July 27, 2018

  6. First line of Kotlin (2) July 27, 2018

  7. Adoption - phase 1 - “the honeymoon” - Enjoy the

    language features: data class, extension functions, out-of-the-box lambda support, collection API, Null-safety!!!, immutability support - Bit by bit: testing code, data object - The brevity vs the verbosity - clear winner! - Introduce the language with weighted risks - like you are driving your car at 60 mph
  8. Adoption - phase 2 - “spreading” - New components are

    written in Kotlin - Converting from Java to Kotlin is encouraged (but optional) - Supported by: code review process, pair-programming
  9. Adoption - phase 3 - “acceleration” - First factor: New

    hire with Kotlin filter (Belarus team expanding) - Refactoring: - Convert from java to Kotlin become a mandatory - New components are written in Kotlin as always
  10. Is it easy? 1. Java inter-ops capability 2. Rich API

    collections 3. Reading it in a similar style with Java 4. Functional concepts
  11. Lessons learnt - Pair-programming sessions help the adoption become team-friendly

    and less stressful - Guild to share the knowledge - via Code Review, filling-water talks,
  12. Where we are now?

  13. Questions

  14. Next session - Firechat