This document discusses Kotlin, a programming language for modern multi-platform applications. It provides background on Kotlin, including its history and why it was created. Real-world applications of Kotlin at companies like Pinterest, Uber and Coursera are also highlighted. The document concludes by comparing Kotlin to Java and providing an example of Kotlin code using an extension function.
2. Agenda
› Background
› What is Kotlin?
› History of Kotlin
› Why Kotlin?
› Applications
› Real-world applications of Kotlin
› Future Goals
› Kotlin vs Java
› Example Code
3. AIMDek Technologies
› 45+ member team
› 150+ years of cumulative experience
› Designed & delivered 40+ projects
› Over 65% repeat business
› Adherent to best practices
› Defined processes
› Implemented solutions to various industries, healthcare, automotive, sports & fitness,
manufacturing, eCommerce, education & insurance.
7. Background
PROBLEMS WITH JAVA:
› Missing modern functions ( Properties, higher-order
functions)
› Null safety ( NullPointerException)
› Boilerplate code
› Features specific to JDK (and Android API)
8. What Is Kotlin?
› Named after an island in St. Petersburg
› Programming language
› Based on the JVM
› Compact, modern and statically typed
› Open source
› Created by JetBrains
› Built into Android Studio and IntelliJ IDEA
› Used by JetBrains internally
9. History of Kotlin
› Project Kotlin was unveiled in July 2011
› Kotlin 1.0 was released in February 2016
› Google announced Kotlin to be its official
programming language in 2017
10. Why Kotlin?
› Concise: Drastically reduces the amount of boilerplate code
› Safe: Avoids entire classes of errors such as null pointer
exceptions
› Interoperable: Leverage existing libraries for the JVM,
Android and the browser
› Tool-friendly: Choose any Java IDE or build from the
command line
11. Applications:
› Everywhere where Java is used
› Android Development
› Replacement of JavaScript
› Web development and server side development
› Data science, replacing Scala and Python
13. Future Goals:
› iOS Applications (reusing code with Android)
› Embedded systems/IoT (Arduino)
› Data Analysis
› Server-side and Microservices (low footprint executables)
› Game Development
14. Kotlin vs Java
What Kotlin Has That Java Does Not?
› Lambda expressions + Inline functions = Performant custom control structures
› Extension-functions
› Null-safety
› Smart casts
› String templates
› Properties
› Primary constructors
› First-class delegations
15. Kotlin vs Java
What Kotlin Has That Java Does Not?
› Type interface for variable and property-types
› Singletons
› Declaration-site variance and Type projections
› Range expressions
› Operator overloading
› Companion objects
› Data classes
› Coroutines
› Separate interfaces for read-only and mutable connections
20. Conclusion:
› The very typical Kotlin trait is that it isn’t really introducing anything new into
programming languages family. Instead it uses everything that was already available in a
really awesome way
› We at AIMDek, facilitate app development services which are customer-centric and future
proof! Get in touch with us right now to transform your visions into realities