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

Second best time to speak "Kotlin" is NOW

Second best time to speak "Kotlin" is NOW

A casual talk about an introduction to Kotlin, sharing my personal journey and why Android developers in Pakistan and even other devs should care about Kotlin. Android devs have to adopt Kotlin and it is scary that some folks in the local community are still evaluating. I also tried to discuss common challenges and some proposed solutions about how to deal with them. Bottom line is that the more you use Kotlin, the more you love it!

Wahib Ul Haq

April 12, 2019
Tweet

More Decks by Wahib Ul Haq

Other Decks in Programming

Transcript

  1. otlin What the hype? Why should you care?

  2. None
  3. Wahib-Ul-Haq

  4. Wahib-Ul-Haq

  5. Wahib-Ul-Haq

  6. Wahib-Ul-Haq Android + Developer Advocate @

  7. Wahib-Ul-Haq Android + Developer Advocate @ Munich (Germany)

  8. Wahib-Ul-Haq Android + Developer Advocate @ Munich

  9. Wahib-Ul-Haq Android + Developer Advocate @ Munich =

  10. None
  11. None
  12. https://insights.stackoverflow.com/survey/2019

  13. None
  14. None
  15. Kotlin was unveiled in July 2011 for the first time

    and open-sourced in 2012
  16. Kotlin was unveiled in July 2011 for the first time

    and open-sourced in 2012 First official release of v1.0.0 in 2016 and v1.3.30 happened yesterday
  17. Kotlin was unveiled in July 2011 for the first time

    and open-sourced in 2012 First official release of v1.0.0 in 2016 and v1.3.30 happened yesterday Kotlin is developed by JetBrains, the creators of IntelliJ IDEA
  18. Kotlin was unveiled in July 2011 for the first time

    and open-sourced in 2012 First official release of v1.0.0 in 2016 and v1.3.30 happened yesterday Kotlin is developed by JetBrains, the creators of IntelliJ IDEA Primary development is from a team of JetBrains programmers based in Saint Petersburg, Russia
  19. Kotlin was unveiled in July 2011 for the first time

    and open-sourced in 2012 First official release of v1.0.0 in 2016 and v1.3.30 happened yesterday Kotlin is developed by JetBrains, the creators of IntelliJ IDEA Primary development is from a team of JetBrains programmers based in Saint Petersburg, Russia The name comes from Kotlin Island, near St. Petersburg (Hint: Java)
  20. None
  21. "One language finally got everything right!" ~ Andrey Breslav

  22. Kotlin is a statically typed programming language that runs on

    JVM
  23. Kotlin is a statically typed programming language that runs on

    JVM Kotlin is null safe and offers 100% Java interoperability
  24. Kotlin is a statically typed programming language that runs on

    JVM Kotlin is null safe and offers 100% Java interoperability Kotlin could be referred as improvised form of Java
  25. Kotlin is a statically typed programming language that runs on

    JVM Kotlin is null safe and offers 100% Java interoperability Kotlin could be referred as improvised form of Java Kotlin is an inherently concise language with a functional programming style
  26. Kotlin is a statically typed programming language that runs on

    JVM Kotlin is null safe and offers 100% Java interoperability Kotlin could be referred as improvised form of Java Kotlin is an inherently concise language with a functional programming style Kotlin uses aggressive type inference to determine the type
  27. Kotlin is a statically typed programming language that runs on

    JVM Kotlin is null safe and offers 100% Java interoperability Kotlin could be referred as improvised form of Java Kotlin is an inherently concise language with a functional programming style Kotlin uses aggressive type inference to determine the type Supports Extension Functions
  28. Kotlin is a statically typed programming language that runs on

    JVM Kotlin is null safe and offers 100% Java interoperability Kotlin could be referred as improvised form of Java Kotlin is an inherently concise language with a functional programming style Kotlin uses aggressive type inference to determine the type Supports Extension Functions Designed keeping Java developers in mind
  29. Why Android Devs are so excited about it?

  30. None
  31. Source: https://hype.codes/kotlin-vs-java

  32. Why Android Devs are so excited about it? At Google

    I/O 2017, Google announced first-class support for Kotlin on Android. Kotlin is not a FAD!
  33. Why Android Devs are so excited about it? At Google

    I/O 2017, Google announced first-class support for Kotlin on Android. Kotlin is not a FAD! Less code, better readability
  34. Why Android Devs are so excited about it? At Google

    I/O 2017, Google announced first-class support for Kotlin on Android. Kotlin is not a FAD! Less code, better readability Supreme tooling support in Android Studio
  35. Why Android Devs are so excited about it? At Google

    I/O 2017, Google announced first-class support for Kotlin on Android. Kotlin is not a FAD! Less code, better readability Supreme tooling support in Android Studio Improved crash rate (Remember NullPointerExceptions?)
  36. Why Android Devs are so excited about it? At Google

    I/O 2017, Google announced first-class support for Kotlin on Android. Kotlin is not a FAD! Less code, better readability Supreme tooling support in Android Studio Improved crash rate (Remember NullPointerExceptions?) Renewed excitement around experimentation and innovation
  37. Makes it easier to read Swift code

  38. None
  39. None
  40. Employability + Growth

  41. None
  42. None
  43. None
  44. If you are an undergrad student, use Kotlin in your

    semester projects or side projects
  45. Challenges when adopting Kotlin in Android teams

  46. Not enough support from Manager/Team Lead/Rest of the team

  47. Not enough support from Manager/Team Lead/Rest of the team Not

    enough time to learn and switch
  48. Not enough support from Manager/Team Lead/Rest of the team Not

    enough time to learn and switch Client doesn’t care/not paying for the improvement so why take the pain?
  49. Not enough support from Manager/Team Lead/Rest of the team Not

    enough time to learn and switch Client doesn’t care/not paying for the improvement so why take the pain? Risk of massively increasing technical debt
  50. Proposed Strategy

  51. Organise Internal Workshops / Course / Side project with your

    team
  52. Organise Internal Workshops / Course / Side project with your

    team Start writing/migrating Unit Tests in Kotlin
  53. Organise Internal Workshops / Course / Side project with your

    team Start writing/migrating Unit Tests in Kotlin If you touch a class (bug fix or refactor), consider migrating it to Kotlin
  54. Organise Internal Workshops / Course / Side project with your

    team Start writing/migrating Unit Tests in Kotlin If you touch a class (bug fix or refactor), consider migrating it to Kotlin Once you are somewhat confident, write all new features in Kotlin
  55. Organise Internal Workshops / Course / Side project with your

    team Start writing/migrating Unit Tests in Kotlin If you touch a class (bug fix or refactor), consider migrating it to Kotlin Try to get a feature/project to implement independently Once you are somewhat confident, write all new features in Kotlin
  56. Is Kotlin attractive for only Android devs?

  57. None
  58. Source: https://kotlinconf.com

  59. Multi-platform Source: https://blog.novoda.com

  60. Multi-platform and Code Sharing Source: https://blog.novoda.com

  61. Kotlin for Data Scientists Source: https://kotlinconf.com

  62. Next Steps

  63. None
  64. Going with Java is going to create a legacy system

    from the day one
  65. Going with Java is going to create a legacy system

    from the day one Sooner or later you would be converting the codebase to Kotlin
  66. Going with Java is going to create a legacy system

    from the day one Sooner or later you would be converting the codebase to Kotlin Why not just start with Kotlin from the get-go?
  67. The more you use it, the more you love it!

  68. https://www.coursera.org/learn/kotlin-for-java-developers (Paid Course) https://developer.android.com/kotlin/resources (Android) http://talkingkotlin.com (Podcast) http://www.kotlinweekly.net (Medium Weekly

    Newsletter) https://kotlinlang.org/docs/reference/ (Official Documentation) https://twitter.com/kotlin (Official twitter handle)
  69. Thank you! Any questions? @wahibhaq wahibhaq.com

  70. One more thing...

  71. Join us on Community of 150+ Pakistani Android Developers from

    all over the world
  72. bit.ly/androiddevs-pakistan