SlideShare a Scribd company logo
Say Goodbye to Java: Getting
Started With Kotlin for
Android
Adam Magaña
Introduction
Introduction
● Adam Magaña
● Lead Mobile Engineer @ Drund
● Currently spending most of my development time working on our Android
application.
A Quick History of Kotlin
A Quick History of Kotlin
● Created by JetBrains
○ Creator of IntelliJ, the IDE that powers Android Studio
● First release - July 2011
● Latest release (1.1.3) - June 2017
● Official endorsement by Google as first-class language - May 2017
● 8,000+ total releases on GitHub
“We believe Kotlin is an excellent fit for
Android not only because it gives
developers what they want, but also
because it matches the spirit of
Android.”
- Google Developer Product Group
Companies Using Kotlin
Companies Using Kotlin
● Pinterest
● Netflix
● AWS
● Uber
● Square
● Trello
10%
Reduction in total methods after converting Basecamp to Kotlin.
30%
Reduction in total lines of code after converting Basecamp to Kotlin.
Addressing Common Concerns
“But I’m comfortable and experienced
with Java.”
● That’s great!
● You ultimately have to use what you’re most comfortable with.
● BUT “give it 5 minutes” before reacting.
“I don’t want to convert my entire
codebase to a new language.”
● Kotlin can be any percentage of your project.
● Fully compatible with JDK 6.
● 100% interoperable with existing Java code.
“I don’t need Kotlin’s special tools to get
the job done.”
● An experienced developer absolutely doesn’t need Kotlin.
● Much can be accomplished with Java.
● BUT barring architectural/performance issues, why would you want
to have less tools available to you?
“I’m worried about the performance
implications of using Kotlin.”
● Performance is as good as an equivalent Java application.
● Kotlin lambdas often run faster than the same code written in Java.
● Incremental project builds using Kotlin are usually faster.
A Very Small Soapbox
A Very Small Soapbox
● Don’t let anyone, myself included, make you feel inadequate for choosing a
different programming language or platform than them.
● Will there be better alternatives to what you use? Yes.
● Does that mean the service you provide to your users is sub-par? No.
● Is it okay to have differing opinions about certain technologies? Absolutely.
● Important to be supportive.
We’re all in this together.
Setting Up Kotlin in Android
Studio
Setting Up Kotlin in Android Studio
● Extremely easy setup for both major versions of AS
● Plugin for AS 2.3.X
○ Preferences > Plugins > Install JetBrains Plugin
● Baked-in support in AS 3.0.0 (beta)
○ Also includes:
■ A new profiler tool
■ A network/request analyzer (!)
Installing the plugin for AS 2.3.X
Kotlin: The Basics
Kotlin: The Basics - Variable Declarations
Kotlin: The Basics - Function Declarations
Kotlin: The Basics - Class Declarations
Kotlin: The Cool Parts
Kotlin: The Cool Parts - Data Classes (http://bit.ly/2xhvVlh)
Kotlin: The Cool Parts - Elvis Operator
Kotlin: The Cool Parts - Extension Functions
Kotlin: The Cool Parts - Named and Default Arguments
Kotlin: The Cool Parts - When
Kotlin: The Cool Parts - Operator Overloading
Kotlin: The Cool Parts - Object Desctructuring
Kotlin: The Cool Parts - Custom Infix Operators
Kotlin: The Cool Parts - And Much More!
● Lambda functions
● Easier string interpolation
● Simplified getter/setter syntax
● Coroutines
● “Synthetic” plugin to replace findViewById (similar to Butterknife)
Converting Java to Kotlin
Converting Java to Kotlin - Using the Converter
Converting Java to Kotlin - Double Bangs
Converting Java to Kotlin - Companion Objects
Drawbacks To Kotlin
Drawbacks To Kotlin
● It’s new
○ Initial development with Kotlin will be slower
○ Code patterns/anti-patterns not fully flushed out yet
● Java has more robust static analysis tools
● Much smaller developer community than Java’s
● Adds ~727kB to the total size of your project
Over time the benefits
of using Kotlin will
continue to grow.
Give it a try!
Thank you!
Twitter: @adammagana
GitHub: @adammagana

More Related Content

PPTX
Getting Started With Kotlin
PDF
Kotlin for Android devs
PDF
Practical tips for building apps with kotlin
PDF
Save time with kotlin in android development
PDF
Android Architecture Components with Kotlin
PDF
eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017
PDF
eMan Dev Meetup: Kotlin - A Language we should know it exists (part 02/03) 18...
PDF
Introduction to kotlin for android app development gdg ahmedabad dev fest 2017
Getting Started With Kotlin
Kotlin for Android devs
Practical tips for building apps with kotlin
Save time with kotlin in android development
Android Architecture Components with Kotlin
eMan Dev Meetup: Kotlin For Android (part 03/03) 18.5.2017
eMan Dev Meetup: Kotlin - A Language we should know it exists (part 02/03) 18...
Introduction to kotlin for android app development gdg ahmedabad dev fest 2017

What's hot (20)

PDF
Kotlin - Better Java
PDF
Android 101 - Kotlin ( Future of Android Development)
PPT
The Kotlin Programming Language
PDF
A quick and fast intro to Kotlin
PPTX
Introduction to Koltin for Android Part I
PDF
Kotlin: Why Do You Care?
PDF
Kotlin: Challenges in JVM language design
PDF
Kotlin boost yourproductivity
PDF
Kotlin Slides from Devoxx 2011
PDF
Taking Kotlin to production, Seriously
PDF
Kotlin a problem solver - gdd extended pune
PPTX
Fall in love with Kotlin
PDF
Swift and Kotlin Presentation
PDF
Kotlin in action
PDF
Kotlin cheat sheet by ekito
PDF
Kotlin, smarter development for the jvm
PDF
Develop your next app with kotlin @ AndroidMakersFr 2017
PPTX
Kotlin
ODP
From object oriented to functional domain modeling
PDF
Kotlin intro
Kotlin - Better Java
Android 101 - Kotlin ( Future of Android Development)
The Kotlin Programming Language
A quick and fast intro to Kotlin
Introduction to Koltin for Android Part I
Kotlin: Why Do You Care?
Kotlin: Challenges in JVM language design
Kotlin boost yourproductivity
Kotlin Slides from Devoxx 2011
Taking Kotlin to production, Seriously
Kotlin a problem solver - gdd extended pune
Fall in love with Kotlin
Swift and Kotlin Presentation
Kotlin in action
Kotlin cheat sheet by ekito
Kotlin, smarter development for the jvm
Develop your next app with kotlin @ AndroidMakersFr 2017
Kotlin
From object oriented to functional domain modeling
Kotlin intro
Ad

Similar to Say Goodbye To Java: Getting Started With Kotlin For Android Development (20)

PDF
Kotlin for android development
PDF
Learn Kotlin and Build Robust Android Apps with Bcoder.pdf
PDF
A short introduction to the Kotlin language for Java developers
PDF
Kotlin for Android
PDF
Why You Should Go with Kotlin for Android App Development.pdf
PDF
Is this Swift for Android? A short introduction to the Kotlin language
PPTX
Introduction to Kotlin
PDF
Kotlin - A Beginner’s Guide__________________
PDF
Programming with Kotlin
PPTX
Kotlin- Programming Language For Modern Multi-Platform Applications
PDF
Developers’ mDay u Banjoj Luci - Duško Bajić, Kotlin User Group Bosnia – Kotl...
PPTX
Kotlin for Android - Goto Copenhagan 2019
PPTX
Intro to kotlin
PDF
Kotlin introduction
PPTX
Kotlin - A Programming Language
PDF
Transitioning Android Teams Into Kotlin
PPTX
Android Development Presentation[1].pptx
PPTX
Introduction to Kotlin Language and its application to Android platform
PPTX
Android with kotlin course
Kotlin for android development
Learn Kotlin and Build Robust Android Apps with Bcoder.pdf
A short introduction to the Kotlin language for Java developers
Kotlin for Android
Why You Should Go with Kotlin for Android App Development.pdf
Is this Swift for Android? A short introduction to the Kotlin language
Introduction to Kotlin
Kotlin - A Beginner’s Guide__________________
Programming with Kotlin
Kotlin- Programming Language For Modern Multi-Platform Applications
Developers’ mDay u Banjoj Luci - Duško Bajić, Kotlin User Group Bosnia – Kotl...
Kotlin for Android - Goto Copenhagan 2019
Intro to kotlin
Kotlin introduction
Kotlin - A Programming Language
Transitioning Android Teams Into Kotlin
Android Development Presentation[1].pptx
Introduction to Kotlin Language and its application to Android platform
Android with kotlin course
Ad

Recently uploaded (20)

PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Essential Infomation Tech presentation.pptx
PDF
AI in Product Development-omnex systems
PPTX
Transform Your Business with a Software ERP System
PDF
Digital Strategies for Manufacturing Companies
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Odoo POS Development Services by CandidRoot Solutions
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
System and Network Administration Chapter 2
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
ai tools demonstartion for schools and inter college
PPTX
L1 - Introduction to python Backend.pptx
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Essential Infomation Tech presentation.pptx
AI in Product Development-omnex systems
Transform Your Business with a Software ERP System
Digital Strategies for Manufacturing Companies
How to Migrate SBCGlobal Email to Yahoo Easily
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
2025 Textile ERP Trends: SAP, Odoo & Oracle
Reimagine Home Health with the Power of Agentic AI​
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Understanding Forklifts - TECH EHS Solution
Odoo POS Development Services by CandidRoot Solutions
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
System and Network Administration Chapter 2
Softaken Excel to vCard Converter Software.pdf
ai tools demonstartion for schools and inter college
L1 - Introduction to python Backend.pptx
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...

Say Goodbye To Java: Getting Started With Kotlin For Android Development

  • 1. Say Goodbye to Java: Getting Started With Kotlin for Android Adam Magaña
  • 3. Introduction ● Adam Magaña ● Lead Mobile Engineer @ Drund ● Currently spending most of my development time working on our Android application.
  • 4. A Quick History of Kotlin
  • 5. A Quick History of Kotlin ● Created by JetBrains ○ Creator of IntelliJ, the IDE that powers Android Studio ● First release - July 2011 ● Latest release (1.1.3) - June 2017 ● Official endorsement by Google as first-class language - May 2017 ● 8,000+ total releases on GitHub
  • 6. “We believe Kotlin is an excellent fit for Android not only because it gives developers what they want, but also because it matches the spirit of Android.” - Google Developer Product Group
  • 8. Companies Using Kotlin ● Pinterest ● Netflix ● AWS ● Uber ● Square ● Trello
  • 9. 10% Reduction in total methods after converting Basecamp to Kotlin.
  • 10. 30% Reduction in total lines of code after converting Basecamp to Kotlin.
  • 12. “But I’m comfortable and experienced with Java.” ● That’s great! ● You ultimately have to use what you’re most comfortable with. ● BUT “give it 5 minutes” before reacting.
  • 13. “I don’t want to convert my entire codebase to a new language.” ● Kotlin can be any percentage of your project. ● Fully compatible with JDK 6. ● 100% interoperable with existing Java code.
  • 14. “I don’t need Kotlin’s special tools to get the job done.” ● An experienced developer absolutely doesn’t need Kotlin. ● Much can be accomplished with Java. ● BUT barring architectural/performance issues, why would you want to have less tools available to you?
  • 15. “I’m worried about the performance implications of using Kotlin.” ● Performance is as good as an equivalent Java application. ● Kotlin lambdas often run faster than the same code written in Java. ● Incremental project builds using Kotlin are usually faster.
  • 16. A Very Small Soapbox
  • 17. A Very Small Soapbox ● Don’t let anyone, myself included, make you feel inadequate for choosing a different programming language or platform than them. ● Will there be better alternatives to what you use? Yes. ● Does that mean the service you provide to your users is sub-par? No. ● Is it okay to have differing opinions about certain technologies? Absolutely. ● Important to be supportive.
  • 18. We’re all in this together.
  • 19. Setting Up Kotlin in Android Studio
  • 20. Setting Up Kotlin in Android Studio ● Extremely easy setup for both major versions of AS ● Plugin for AS 2.3.X ○ Preferences > Plugins > Install JetBrains Plugin ● Baked-in support in AS 3.0.0 (beta) ○ Also includes: ■ A new profiler tool ■ A network/request analyzer (!)
  • 21. Installing the plugin for AS 2.3.X
  • 23. Kotlin: The Basics - Variable Declarations
  • 24. Kotlin: The Basics - Function Declarations
  • 25. Kotlin: The Basics - Class Declarations
  • 27. Kotlin: The Cool Parts - Data Classes (http://bit.ly/2xhvVlh)
  • 28. Kotlin: The Cool Parts - Elvis Operator
  • 29. Kotlin: The Cool Parts - Extension Functions
  • 30. Kotlin: The Cool Parts - Named and Default Arguments
  • 31. Kotlin: The Cool Parts - When
  • 32. Kotlin: The Cool Parts - Operator Overloading
  • 33. Kotlin: The Cool Parts - Object Desctructuring
  • 34. Kotlin: The Cool Parts - Custom Infix Operators
  • 35. Kotlin: The Cool Parts - And Much More! ● Lambda functions ● Easier string interpolation ● Simplified getter/setter syntax ● Coroutines ● “Synthetic” plugin to replace findViewById (similar to Butterknife)
  • 37. Converting Java to Kotlin - Using the Converter
  • 38. Converting Java to Kotlin - Double Bangs
  • 39. Converting Java to Kotlin - Companion Objects
  • 41. Drawbacks To Kotlin ● It’s new ○ Initial development with Kotlin will be slower ○ Code patterns/anti-patterns not fully flushed out yet ● Java has more robust static analysis tools ● Much smaller developer community than Java’s ● Adds ~727kB to the total size of your project
  • 42. Over time the benefits of using Kotlin will continue to grow.
  • 43. Give it a try!

Editor's Notes

  • #9: Highly recommend the pinterest engineering blog for insights on how they use Kotlin
  • #11: Dan Kim, Basecamp, developer happiness Overheard Nick talk about Ruby Dan compares Kotlin it to the way people feel about Ruby
  • #28: Made for classes are strictly used as data containers.