Víctor Bolinches - @vicboma1
An Introduction to Kotlin for Android Development
Capgemini Blue
R 0G 112B 173
VibrantBlue
R 18G 171B 219
DeepPurple
R 43G 10B 61
TechRed
R 255G 48B 76
ZestGreen
R 149G 230B 22
Capgemini Blue (-50%)
R 128G 184B 214
VibrantBlue (-50%)
R 136G 213B 237
BrightPurple
R 109G 100B 204
Orange
R 255G 99B 39
BrightGreen
R 200G 255B 22
Purple
R 126G 57B 186
Green
R 0G 195B 123
DarkGreen
R 21G 99B 107
Aqua
R 15G 153B 156
BrightAqua
R 1G 209B 208
Peach
R 255G 126B 131
LightClaret
R 203G 41B 128
Claret
R 134G 8B 100
Primary
Infographic
Secondary
DarkPurple
R 71G 1B 167
2
Víctor Bolinches
Software Architect - Capgemini S.L.
vicboma1 @vicboma1Victor Bolinches
My Profile
Victor Bolinches
IntroductionOnResume {
Why Kotlin ?From Java to Kotlin
Android StudioExamples
Conclusion Miscellaneous
References
}
Why Kotlin ?OnStart {
Google official languageCompilations
IDE’s
Build Tools
}
Click to insert text
Why Kotlin ?
Click to insert text
Google official language
Click to insert text
Why Kotlin ?
Safe Versatile Interoperable Tool-friendlyStatically typed programming
Language
(JVM 100%)
Concise
Click to insert text
Compilations
Kotlin/JVM Kotlin/JS Kotlin/Native
[ LLVM bitcode ]
Kotlin/Android
Click to insert text
IDE’s
Eclipse Android StudioEclipse NetBeans Android StudioIntelliJ Idea
Click to insert text
Build Tools
GriffonApache Ant Maven Gradle L
From Java to Kotlin
OnCreate { Basics,Null Safety,When, Iterators,Functions, Classes,Closures,Ext Functions,Coroutine
}
Click to insert text
From Java to Kotlin
Click to insert text
Basics - Part 1Java Kotlin
Click to insert text
Basics - Part 2Java Kotlin
Click to insert text
IteratorsJava Kotlin
Click to insert text
When ExpressionJava Kotlin
Click to insert text
FunctionsJava Kotlin
Click to insert text
Classes 1Java Kotlin
Click to insert text
Classes 2Java Kotlin
Click to insert text
ClosuresJava Kotlin
Click to insert text
Ext FunctionJava Kotlin
Click to insert text
CoroutineKotlin
Job
Continuation<T>
Click to insert text
CoroutineKotlin
Blocking
Non Blocking
Android Studio
OnCreate { Installation,Configuration
}
Click to insert text
Installation
Canary Android Studio
Click to insert text
Configuration
Click to insert text
Configuration - Platform
Click to insert text
Configuration - Tools
Click to insert text
Configuration - Update
Click to insert text
Project - Coroutine
Click to insert text
Project - Coroutine
Examples
OnDestroy { RepositorySyntax reviewManager Fragment
}
Click to insert text
Repository
Click to insert text
Syntax review
Kotlin - Activity Life Cycle
Click to insert text
Syntax review
Kotlin - Activity Life Cycle
Click to insert text
Syntax review
Java - Activity
Click to insert text
Syntax review
Kotlin - Activity
Click to insert text
Syntax review
Kotlin - Fragment Life Cycle
Click to insert text
Hello world w/Button
Repository
Click to insert text
Transition Activity
Repository
Click to insert text
Manager Fragment App
Repository
Click to insert text
Manager Fragment App With Ext Functions
Repository
Click to insert text
Manager Fragment App With Ext | High Order | Lambdas Functions
Repository
Click to insert text
Finite State Machine
Repository
Click to insert text
Transition Animation Color w/ Coroutines
Repository
Conclusion
Click to insert text
KoTlin
• Interoperable with Java (100%)
• Reduces Boilerplate code
• Synthetic extension for coding that can add
• Object-Oriented and procedural
• Safety code
• No Semicolon
• No overhead to using code (Systematic boxing and unboxing)
• Expands us skillset
• Perfect Support with Android Studio & Gradle
• Very easy to get started with Android Develop
Click to insert text
Conclusion
Deprecate Java
Miscellaneous
OnPause { Getting Started KotlinKotlin KoansProblems KotlinGameBoy Emulator EnvironmentAnkoKtorAndroid KTX
}
Click to insert text
Getting Started Kotlin
Repository
Click to insert text
Kotlin Koans
Repository
Click to insert text
Problems Kotlin
Repository
Click to insert text
GameBoy Emulator Environment
Repository
Click to insert text
Anko - DSL Library
Repository
Click to insert text
Ktor - Async Server - Client
Repository
Click to insert text
Android KTX
Repository
References
Click to insert text
● https://github.com/vicboma1● https://github.com/vicboma1/Kotlin-Koans● https://github.com/vicboma1/GettingStartedKotlin● https://github.com/vicboma1/Kotlin-Examples-Problems/● https://github.com/vicboma1/GameBoyEmulatorEnvironment● https://github.com/MindorksOpenSource/from-java-to-kotlin● https://kotlin.es/● https://www.upwork.com/hiring/for-clients/kotlin-might-replace-java/● https://gradle.org/docs/● https://developer.android.com/studio/● https://github.com/futurice/android-best-practices● http://ktor.io/● http://arrow-kt.io/● https://github.com/Kotlin/anko● https://github.com/android/android-ktx● https://developer.android.com/ndk/index.html
References
Capgemini Blue
R 0G 112B 173
VibrantBlue
R 18G 171B 219
DeepPurple
R 43G 10B 61
TechRed
R 255G 48B 76
ZestGreen
R 149G 230B 22
Capgemini Blue (-50%)
R 128G 184B 214
VibrantBlue (-50%)
R 136G 213B 237
BrightPurple
R 109G 100B 204
Orange
R 255G 99B 39
BrightGreen
R 200G 255B 22
Purple
R 126G 57B 186
Green
R 0G 195B 123
DarkGreen
R 21G 99B 107
Aqua
R 15G 153B 156
BrightAqua
R 1G 209B 208
Peach
R 255G 126B 131
LightClaret
R 203G 41B 128
Claret
R 134G 8B 100
Primary
Infographic
Secondary
DarkPurple
R 71G 1B 167
With more than 190,000 people, Capgemini is present in over 40 countries and celebrates its 50th Anniversary year in 2017. A global leader in consulting, technology and outsourcing services, the Group reported 2016 global revenues of EUR 12.5 billion. Together with its clients, Capgemini creates and delivers business, technology and digital solutions that fit their needs, enabling them to achieve innovation and competitiveness. A deeply multicultural organization, Capgemini has developed its own way of working, the Collaborative Business Experience™, and draws on Rightshore®, its worldwide delivery model.
About Capgemini
Learn more about us at
www.capgemini.com
This message contains information that may be privileged or confidential and is the property of the Capgemini Group.Copyright © 2017 Capgemini. All rights reserved.
Rightshore® is a trademark belonging to Capgemini.
This message is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.