21
OTLIN Ready for Production

Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

OTLINReady for Production

Page 2: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

BACKGROUND

• Started in 2010 by JetBrains

• We needed a language

• Concise, Expressive, Toolable, Interoperable… Pragmatic

• Developed under Apache 2 OSS on GitHub

Page 3: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

WHAT IS KOTLIN

• Static Language

• Targeting JVM/JavaScript and Native

Page 4: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

CURRENT STATE• 1.0 Release on 15th February 2016

• 40+ 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 5: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

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: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

HOW CAN I USE IT?• Command Line

• Maven

• Gradle

• Kobalt

• Ant

• IntelliJ IDEA

• Android Studio

• Eclipse

• NetBeans

Page 7: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

LET’S SEE SOME CODE

Page 8: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

ANKO

Page 9: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

ANDROID EXTENSIONS

Page 10: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

SPRING BOOT

Page 11: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

KOBALT

Page 12: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under
Page 13: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

COMING IN 1.1• Coroutines (async/await)

• Data Class Hierarchies

• Type Aliases

• Deconstructing in Lambdas

• Bound Method References

• Local Delegated Properties

• Java 8/9 Support

• JavaScript Support

Page 14: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

NEXT STEPS

• kotlinlang.org

• try.kotlinlang.org

• Kotlin Koans (online/offline)

Page 15: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

BOOKS

Page 16: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

O’REILLY COURSE

Introduction to Kotlin (5 Hours)Advanced Kotlin Programming (3 Hours)

Page 17: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

COMMUNITY

Page 18: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

KOTLINCONF

Page 19: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

SUMMARY• Pragmatic Language

• Easy Learning Curve

• Interoperability provides low-risk adoption

• Enjoyable

• Kotlin is here to stay

Page 20: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under
Page 21: Ready for Production - GOTO Conference · • Started in 2010 by JetBrains • We needed a language • Concise, Expressive, Toolable, Interoperable… Pragmatic • Developed under

THANK YOU@hhariri - [email protected]