KOTLIN - GOTO...

20
KOTLIN Ready for Production

Transcript of KOTLIN - GOTO...

Page 1: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

KOTLINReady for Production

Page 2: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

BACKGROUND

• Started in 2010 by JetBrains

• We needed a language

• Concise, Expressive, Toolable, Interoperable… Pragmatic

• Developed under Apache 2 OSS on GitHub

Page 3: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

CURRENT STATE• 1.0 Release on 15th February 2016

• 20+ Developers at JetBrains

• 100+ Committers

• Used in close to 10 Products at JetBrains

• External Companies include Expedia, NBC News Digital, Netflix, Amex amongst others

Page 4: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains
Page 5: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

WHERE CAN I USE IT?

• Anywhere

• Android - Compatible with Java 6. Small runtime

• Similarity to Java/C#/JavaScript/Groovy allows quick ramp-up time

• Interoperability allows gradual adoption

Page 6: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

HOW CAN I USE IT?• Command Line

• Maven

• Gradle

• Kobalt

• Ant

• IntelliJ IDEA

• Android Studio

• Eclipse

• NetBeans

Page 7: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

LET’S SEE SOME CODE

Page 8: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

ANKO

Page 9: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

ANDROID EXTENSIONS

Page 10: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

SPRING BOOT

Page 11: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

KOBALT

Page 12: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

SPEK

Page 13: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

ROADMAP• Coroutines (async/await)

• Data Class Hierarchies

• Type Aliases

• Deconstructing in Lambdas

• Bound Method References

• Local Delegated Properties

• Java 8/9 Support

• JavaScript Support

not a public commitment

Page 14: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

NEXT STEPS

• kotlinlang.org

• try.kotlinlang.org

• Kotlin Koans (online/offline)

Page 15: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

BOOKS

Page 16: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

UPCOMING…

9 Hours of Online Kotlin Course

O’Reilly - November(ish) 2016

Page 17: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

COMMUNITY

Page 18: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

SUMMARY• Pragmatic Language

• Easy Learning Curve

• Interoperability provides low-risk adoption

• Enjoyable

• Kotlin is here to stay

Page 19: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains
Page 20: KOTLIN - GOTO Conferencegotocon.com/dl/goto-cph-2016/slides/HadiHariri_KotlinReadyForProduction.pdf · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains

THANK YOU@hhariri - [email protected]