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

Intro to Kotlin Workshop: #GoogleUdacityIndiaScholars Edition

Intro to Kotlin Workshop: #GoogleUdacityIndiaScholars Edition

An Intro to Kotlin workshop hosted for the Google Udacity India Scholars program.

The workshop gives a brief overview of what Kotlin is, where it can be used, common questions/concerns, and then some introductory coding exercises that can be completed within IntelliJ or Android Studio.

Workshop Materials: https://github.com/n8ebel/Intro-to-Kotlin
YouTube Stream Link: https://www.youtube.com/watch?v=TkTnw7eKgJI

Nate Ebel

July 06, 2018
Tweet

More Decks by Nate Ebel

Other Decks in Programming

Transcript

  1. Intro to Kotlin

    View Slide

  2. What is Kotlin?
    @n8ebel 2

    View Slide

  3. What is Kotlin?
    ”Statically typed programming language
    for modern multiplatform applications”
    @n8ebel 3

    View Slide

  4. What is Kotlin?
    — A more modern, alternative to Java for Android
    — A JVM-compatible server-side language
    — A potential cross-platform solution
    @n8ebel 4

    View Slide

  5. Where Did Kotlin
    Come From?
    @n8ebel 5

    View Slide

  6. Where Did Kotlin Come From?
    — Developed by JetBrains
    — Open Source
    — Announced in 2011
    @n8ebel 6

    View Slide

  7. Why Might You
    Care?
    @n8ebel 7

    View Slide

  8. Why Might You Care?
    — 100% compatible with Java
    — Safer & more concise
    — Used for JVM, Android, JavaScript, and Native
    @n8ebel 8

    View Slide

  9. Why Might You Care?
    — Modern language features for Android developers
    — Fully supported in multiple IDEs
    — Both object-oriented & functional constructs
    @n8ebel 9

    View Slide

  10. Kotlin for Android
    @n8ebel 10

    View Slide

  11. Kotlin for Android
    — Officially supported language for Android
    — Examples & tooling being updated
    — New libraries specifically for Kotlin
    — FAQ
    @n8ebel 11

    View Slide

  12. Server-Side Kotlin
    @n8ebel 12

    View Slide

  13. Server-Side Kotlin
    — Build JVM-compatible server-side applications
    — Works with existing JVM tools such as Spring
    — Deploy to Amazon Web Services, Google Cloud
    Platform, etc
    — FAQ
    @n8ebel 13

    View Slide

  14. Kotlin for
    JavaScript
    @n8ebel 14

    View Slide

  15. Kotlin for JavaScript
    — Write Kotlin that targets JavaScript
    — Targets ECMAScript 5.1
    — Still a work in progress
    — FAQ
    @n8ebel 15

    View Slide

  16. Kotlin Native
    @n8ebel 16

    View Slide

  17. Kotlin Native
    — Compile to run without any VM
    — Share business logic
    — Target Windows, Linux, MacOS, iOS, Android
    — FAQ
    @n8ebel 17

    View Slide

  18. ”Wow! That sounds
    great. How do I get
    started?”
    @n8ebel 18

    View Slide

  19. Get Started With Kotlin
    — Kotlin Koans
    — REPL
    — IntelliJ or Android Studio
    — Convert Java to Kotlin
    @n8ebel 19

    View Slide

  20. Hello Kotlin
    @n8ebel 20

    View Slide

  21. Common
    Questions
    FAQ
    @n8ebel 21

    View Slide

  22. Why learn Kotlin?
    @n8ebel 22

    View Slide

  23. Is Kotlin just for
    Android?
    @n8ebel 23

    View Slide

  24. Will Kotlin replace
    Java?
    @n8ebel 24

    View Slide

  25. Is Kotlin relevant
    for web
    development?
    @n8ebel 25

    View Slide

  26. Should I be
    learning Java or
    Kotlin?
    @n8ebel 26

    View Slide

  27. Resources
    @n8ebel 27

    View Slide

  28. Resources
    Udacity Courses
    — Kotlin Bootcamp for Programmers
    — Kotlin for Android Developers
    @n8ebel 28

    View Slide

  29. Resources
    Misc
    — Kotlin Weekly Newsletter
    — Book: Kotlin in Action
    — Book: Kotlin for Android Developers
    @n8ebel 29

    View Slide

  30. Resources
    Misc
    — Video: 8 Ways to Try Kotlin
    — Video: 7 Resources to Learn Kotlin
    — My YouTube Playlist
    @n8ebel 30

    View Slide

  31. Let’s Keep
    Learning Kotlin !
    @n8ebel 31

    View Slide

  32. Contact Me
    Nate Ebel
    Twitter: @n8ebel
    YouTube: Nate Ebel
    Blog: n8ebel.com
    Medium: n8ebel
    @n8ebel 32

    View Slide