20
KOTLIN Ready for Production

KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

KOTLINReady for Production

Page 2: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products 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 Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products 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 Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •
Page 5: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products 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 Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

HOW CAN I USE IT?• Command Line

• Maven

• Gradle

• Kobalt

• Ant

• IntelliJ IDEA

• Android Studio

• Eclipse

• NetBeans

Page 7: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

LET’S SEE SOME CODE

Page 8: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

ANKO

Page 9: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

ANDROID EXTENSIONS

Page 10: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

SPRING BOOT

Page 11: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

KOBALT

Page 12: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

SPEK

Page 13: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products 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 Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

NEXT STEPS

• kotlinlang.org

• try.kotlinlang.org

• Kotlin Koans (online/offline)

Page 15: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

BOOKS

Page 16: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

UPCOMING…

9 Hours of Online Kotlin Course

O’Reilly - November(ish) 2016

Page 17: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

COMMUNITY

Page 18: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

SUMMARY• Pragmatic Language

• Easy Learning Curve

• Interoperability provides low-risk adoption

• Enjoyable

• Kotlin is here to stay

Page 19: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •
Page 20: KOTLIN - GOTO Conference · CURRENT STATE • 1.0 Release on 15th February 2016 • 20+ Developers at JetBrains • 100+ Committers • Used in close to 10 Products at JetBrains •

THANK YOU@hhariri - [email protected]