SlideShare a Scribd company logo
Intro to Kotlin
Prepared by Shady Selim
For GDG Minia DevFest
On 9/10/2017
GDG
Minia +
@Kotlin.Cairo #Kotlin #DevFestMENA
Speaker Bio
• Official Google Speaker
• GDG Helwan Founder & Leader
• Kotlin Cairo User Group Founder
• Mentor in Udacity Nanodegree
• Mobile & Web Evangelist
• Technology savvy
• Think tank
• UI/UX freak
www.linkedin.com/in/shadyselim/
@dr_Shady_Selim
2
+
Who created Kotlin?
• IntelliJ IDEA
• PhpStorm
• ReSharper
• PyCharm
• RubyMine
• … others
3
+
What is Kotlin?
4
+
Why Kotlin Now?
5
+
6
+
Is Kotlin Really new?
7
+
Why Should I care!!?
• Statically typed programming language targeting the JVM
• Support for functional and OO paradigms
• Pragmatic, safe, concise, great Java interop
• Free and open-source
• Drastically reduce the amount of boilerplate code
• Lambda expression
• Avoid entire classes of errors such as null pointer exceptions
• Java 9 is …
8
+
The Strengths of Kotlin
• Modeling the data of your application concisely and expressively
• Creating reusable abstractions using functional programming
techniques
• Creating expressive domain-specific languages (DSL)
• Java interop ensures that all existing Java frameworks can be used
• No rewrite required to start using Kotlin in existing codebase
• Existing investment is fully preserved
9
+
Java Model Example
10
+
Java Model Example, cont.
11
+
Java Model Example, cont.
12
+
Java Model Example, cont.
13
+
Kotlin Model Example, cont.
14
+
The Strength Points
15
+
• In addition to all what was mentioned
• Extensions
• Anko (Commons, Layouts, SQLite, & Coroutines)
• No new
• No semi colon
• Smart casting
• Great IDE and tooling supports
• Variables (val vs. var)
• functions
Do you like reactive programming?
16
+
You will not miss your frameworks or libraries
17
+
You will not miss your frameworks or libraries
18
+
You will not miss your frameworks or libraries
19
+
You will not miss your frameworks or libraries
20
+
kotlin.link
21
+
Resources
• https://kotlinlang.org/
• https://m.signalvnoise.com/kotlin-its-the-little-things-8c0f501bc6ea
• https://www.jetbrains.com/
• https://www.slideshare.net/intelliyole/kotlin-why-do-you-care
• https://github.com/ReactiveX/RxKotlin
• https://spring.io/blog/2016/02/15/developing-spring-boot-applications-
with-kotlin
• https://www.slideshare.net/makingx/spring-kotlin
• https://kotlin.link/
• http://www.overrideandroid.info/2017/04/kotlin-do-more-with-less-
code.html
22
+
Questions!?
23
+

More Related Content

What's hot (20)

PDF
[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所
Kenichi Kambara
 
PDF
Kotlin & Arrow the functional way
Thoughtworks
 
PDF
Kotlin tlv
Boris Farber
 
PDF
Kotlin & arrow: the functional way
nluaces
 
PPTX
Kotlin - A Programming Language
Mobio Solutions
 
PPTX
Intro to Kotlin
Shady Selim
 
PDF
Golang from Scala developer’s perspective
Sveta Bozhko
 
PDF
[INNOVATUBE] Tech Talk #3: Golang - Takaaki Mizuno
Nexus FrontierTech
 
PPTX
Modern Programming Languages - An overview
Ayman Mahfouz
 
PDF
Kotlin from-scratch
Franco Lombardo
 
PPTX
Golang
Michael Blake
 
PDF
Using kotlin for server side development
선옥 장
 
PDF
An introduction to go programming language
Technology Parser
 
PDF
Golang #5: To Go or not to Go
Oliver N
 
PPT
A First Look at Google's Go Programming Language
Ganesh Samarthyam
 
PPTX
Agile Tools for PHP
philipjting
 
PDF
Voxxed Athens 2018 - Why Kotlin?
Voxxed Athens
 
PDF
Log cat kotlindsl
sanaebadi1
 
PPTX
ATO 2014 - So You Think You Know 'Go'? The Go Programming Language
John Potocny
 
[Kotlin勉強会] Hello Kotlinの次におさえたいKotlinの勘所
Kenichi Kambara
 
Kotlin & Arrow the functional way
Thoughtworks
 
Kotlin tlv
Boris Farber
 
Kotlin & arrow: the functional way
nluaces
 
Kotlin - A Programming Language
Mobio Solutions
 
Intro to Kotlin
Shady Selim
 
Golang from Scala developer’s perspective
Sveta Bozhko
 
[INNOVATUBE] Tech Talk #3: Golang - Takaaki Mizuno
Nexus FrontierTech
 
Modern Programming Languages - An overview
Ayman Mahfouz
 
Kotlin from-scratch
Franco Lombardo
 
Using kotlin for server side development
선옥 장
 
An introduction to go programming language
Technology Parser
 
Golang #5: To Go or not to Go
Oliver N
 
A First Look at Google's Go Programming Language
Ganesh Samarthyam
 
Agile Tools for PHP
philipjting
 
Voxxed Athens 2018 - Why Kotlin?
Voxxed Athens
 
Log cat kotlindsl
sanaebadi1
 
ATO 2014 - So You Think You Know 'Go'? The Go Programming Language
John Potocny
 

Similar to Intro to Kotlin Minia GDG DevFest 2017 (20)

PPTX
Intro to Kotlin
Shady Selim
 
PDF
Kotlin for android development
Jalpesh Vasa
 
PDF
Introduction to Android with Kotlin: Дончо Минков (Telerik Academy)
PlovDev Conference
 
PDF
DevNight #1 (Kotlin) @ The Brick Space
Jedsada Tiwongvokul
 
PDF
Kotlin introduction
Joaquin Diez
 
PPTX
Kotlin Overview
Ekta Raj
 
PPTX
Kotlin- Programming Language For Modern Multi-Platform Applications
AIMDek Technologies
 
PPTX
Kotlin
Ravi Pawar
 
PPTX
Understand What and Why Kotlin.pptx
Ankitkumar822995
 
PDF
9054799 dzone-refcard267-kotlin
Zoran Stanimirovic
 
PDF
Kotlin tutorial
truck
 
PPTX
Kotlin in industry
Ahmad Arif Faizin
 
PDF
Kotlin in Action, Second Edition (MEAP V09) Svetlana Isakova
zemelduffys
 
PDF
Kotlin Programming Language | Edureka
Edureka!
 
PDF
Kotlin for Android
Han Yin
 
PDF
Kotlin Programming Concise Expressive And Powerful Theophilus Edet
lucekananie
 
PDF
Kotlin Indepth A Guide To A Multipurpose Programming Language For Serverside ...
bunecosurumi
 
PPTX
Introduction to Kotlin
T.M. Ishrak Hussain
 
PDF
Introduction to Kotlin JVM language
Andrius Klimavicius
 
PDF
A Review Paper on Kotlin Programming Language
ijtsrd
 
Intro to Kotlin
Shady Selim
 
Kotlin for android development
Jalpesh Vasa
 
Introduction to Android with Kotlin: Дончо Минков (Telerik Academy)
PlovDev Conference
 
DevNight #1 (Kotlin) @ The Brick Space
Jedsada Tiwongvokul
 
Kotlin introduction
Joaquin Diez
 
Kotlin Overview
Ekta Raj
 
Kotlin- Programming Language For Modern Multi-Platform Applications
AIMDek Technologies
 
Kotlin
Ravi Pawar
 
Understand What and Why Kotlin.pptx
Ankitkumar822995
 
9054799 dzone-refcard267-kotlin
Zoran Stanimirovic
 
Kotlin tutorial
truck
 
Kotlin in industry
Ahmad Arif Faizin
 
Kotlin in Action, Second Edition (MEAP V09) Svetlana Isakova
zemelduffys
 
Kotlin Programming Language | Edureka
Edureka!
 
Kotlin for Android
Han Yin
 
Kotlin Programming Concise Expressive And Powerful Theophilus Edet
lucekananie
 
Kotlin Indepth A Guide To A Multipurpose Programming Language For Serverside ...
bunecosurumi
 
Introduction to Kotlin
T.M. Ishrak Hussain
 
Introduction to Kotlin JVM language
Andrius Klimavicius
 
A Review Paper on Kotlin Programming Language
ijtsrd
 
Ad

More from Shady Selim (20)

PPTX
What is Kotlin Multiplaform? Why & How?
Shady Selim
 
PDF
Kotlin native for iOS and Android
Shady Selim
 
PPTX
Introduction on Mobile development
Shady Selim
 
PDF
Game development using Flutter
Shady Selim
 
PPTX
I/O 2019 android updates
Shady Selim
 
PPTX
Kotlin for android 2019
Shady Selim
 
PPTX
What's new in android 2018 (dev fest)
Shady Selim
 
PPTX
Intro to Flutter
Shady Selim
 
PPTX
Intro to kotlin 2018
Shady Selim
 
PDF
The magic of flutter
Shady Selim
 
PPTX
Kotlin for Frontend & Backend Web development
Shady Selim
 
PPTX
Firebase
Shady Selim
 
PPTX
Android content provider explained
Shady Selim
 
PPTX
Design for Web and Mobile
Shady Selim
 
PPTX
Towards a better higher education system by Shady Selim
Shady Selim
 
DOCX
Android Programing Course Material Labs
Shady Selim
 
DOCX
Android Programing Course Material
Shady Selim
 
PPTX
Cross mobility
Shady Selim
 
PPTX
Mobile apps types + Responsice Vs. Adaptive
Shady Selim
 
PPTX
Grow your business with player analytics ben frenkel & Shady Selim
Shady Selim
 
What is Kotlin Multiplaform? Why & How?
Shady Selim
 
Kotlin native for iOS and Android
Shady Selim
 
Introduction on Mobile development
Shady Selim
 
Game development using Flutter
Shady Selim
 
I/O 2019 android updates
Shady Selim
 
Kotlin for android 2019
Shady Selim
 
What's new in android 2018 (dev fest)
Shady Selim
 
Intro to Flutter
Shady Selim
 
Intro to kotlin 2018
Shady Selim
 
The magic of flutter
Shady Selim
 
Kotlin for Frontend & Backend Web development
Shady Selim
 
Firebase
Shady Selim
 
Android content provider explained
Shady Selim
 
Design for Web and Mobile
Shady Selim
 
Towards a better higher education system by Shady Selim
Shady Selim
 
Android Programing Course Material Labs
Shady Selim
 
Android Programing Course Material
Shady Selim
 
Cross mobility
Shady Selim
 
Mobile apps types + Responsice Vs. Adaptive
Shady Selim
 
Grow your business with player analytics ben frenkel & Shady Selim
Shady Selim
 
Ad

Recently uploaded (20)

PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PPTX
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PPTX
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
PPTX
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
PDF
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
Milwaukee Marketo User Group - Summer Road Trip: Mapping and Personalizing Yo...
bbedford2
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
Empowering Asian Contributions: The Rise of Regional User Groups in Open Sour...
Shane Coughlan
 
Build It, Buy It, or Already Got It? Make Smarter Martech Decisions
bbedford2
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Empower Your Tech Vision- Why Businesses Prefer to Hire Remote Developers fro...
logixshapers59
 

Intro to Kotlin Minia GDG DevFest 2017

  • 1. Intro to Kotlin Prepared by Shady Selim For GDG Minia DevFest On 9/10/2017 GDG Minia + @Kotlin.Cairo #Kotlin #DevFestMENA
  • 2. Speaker Bio • Official Google Speaker • GDG Helwan Founder & Leader • Kotlin Cairo User Group Founder • Mentor in Udacity Nanodegree • Mobile & Web Evangelist • Technology savvy • Think tank • UI/UX freak www.linkedin.com/in/shadyselim/ @dr_Shady_Selim 2 +
  • 3. Who created Kotlin? • IntelliJ IDEA • PhpStorm • ReSharper • PyCharm • RubyMine • … others 3 +
  • 6. 6 +
  • 7. Is Kotlin Really new? 7 +
  • 8. Why Should I care!!? • Statically typed programming language targeting the JVM • Support for functional and OO paradigms • Pragmatic, safe, concise, great Java interop • Free and open-source • Drastically reduce the amount of boilerplate code • Lambda expression • Avoid entire classes of errors such as null pointer exceptions • Java 9 is … 8 +
  • 9. The Strengths of Kotlin • Modeling the data of your application concisely and expressively • Creating reusable abstractions using functional programming techniques • Creating expressive domain-specific languages (DSL) • Java interop ensures that all existing Java frameworks can be used • No rewrite required to start using Kotlin in existing codebase • Existing investment is fully preserved 9 +
  • 11. Java Model Example, cont. 11 +
  • 12. Java Model Example, cont. 12 +
  • 13. Java Model Example, cont. 13 +
  • 14. Kotlin Model Example, cont. 14 +
  • 15. The Strength Points 15 + • In addition to all what was mentioned • Extensions • Anko (Commons, Layouts, SQLite, & Coroutines) • No new • No semi colon • Smart casting • Great IDE and tooling supports • Variables (val vs. var) • functions
  • 16. Do you like reactive programming? 16 +
  • 17. You will not miss your frameworks or libraries 17 +
  • 18. You will not miss your frameworks or libraries 18 +
  • 19. You will not miss your frameworks or libraries 19 +
  • 20. You will not miss your frameworks or libraries 20 +
  • 22. Resources • https://kotlinlang.org/ • https://m.signalvnoise.com/kotlin-its-the-little-things-8c0f501bc6ea • https://www.jetbrains.com/ • https://www.slideshare.net/intelliyole/kotlin-why-do-you-care • https://github.com/ReactiveX/RxKotlin • https://spring.io/blog/2016/02/15/developing-spring-boot-applications- with-kotlin • https://www.slideshare.net/makingx/spring-kotlin • https://kotlin.link/ • http://www.overrideandroid.info/2017/04/kotlin-do-more-with-less- code.html 22 +