Professional Documents
Culture Documents
Kotlin
Kotlin
Developer
Community and Speed and
Familiarity and
Ecosystem Efficiency
Expertise
Native / Hybrid
( If we pick Kotlin as the programming language )
o Define
Mapping (Empathy and User journey )
Brainstorm session
o Ideate
Information Architecture
User flows
Design
• User Interface Design :
o Prototyping
Low-fi wireframe
Usability testing
Eye tracking
o Handoff
• Kotlin was designed to be concise, expressive, and interoperable with existing Java
code, making it well-suited for developing modern applications for the ( JVM ), Android
and other platforms
• Kotlin is generally preferred over other languages used for Android development
because it is concise, null-safe, and interoperable.
Multi-paradigm
Object-oriented
Procedural
block structured
Declarative
Generic
Reflective
Concurrent
Timeline
2010 - project 2016 -kotlin 2017 -official 2018 -kotlin 2020 -kotlin 2021 -kotlin 2022 -kotlin 2023 -kotlin
started 1.0 on Android 1.3 1.4 1.6 1.8 1.9
Contribution
IntelliJ IDEA
Development
Tools
JetBrains Fleet
Multiplatform library
Architecture
Architecture
• Compile Kotlin into bytecode which can run on JVM. This bytecode is exactly equal to the byte
code generated by the Java .class file.
• Whenever Kotlin targets JavaScript, the Kotlin compiler converts the .kt file into ES5.1 and
generates a compatible code for JavaScript.
• Kotlin compiler is capable of creating platform basis compatible codes via LLVM.
• Kotlin Multiplatform Mobile (KMM) is used to create multiplatform mobile applications with
code shared between Android and iOS.
• The recent version of Kotlin is 1.9 was released in July 2023, 1.9.0 was released on July 6,
2023.
Environment Setup
• Kotlin runs on the Java Virtual Machine, you must install JDK and set the path in the
local system environment variable.
• Build Tools:
• Gradle
• Maven
• Ant
Programming Advantages
Apps Build Using Kotlin
• Pinterest
• Postmates
• Corda
• Coursera
• Uber
• Trello
• Gradle
Pros of kotlin
• More reliable
• Ease in maintenance
• Increase productivity
Cons of kotlin
• MockK: MockK is mocking library for Kotlin that allows developers to create mock objects for the
testing.
• Kluent: Kluent is an assertion library for Kotlin that provides a fluent API for writing expressive and
readable assertions.
• Kotlinx.benchmark: Kotlinx.benchmark is a Kotlin library that provides support for writing benchmarks
and performance tests.
Deployment