Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kotlin/Android programming for Swift/iOS develo...

Kotlin/Android programming for Swift/iOS developers 101

Talking about how to start to write Android applications using Kotlin programming language and previous iOS development experience.
#oleksiiholub #hungryroot #iosdevelopment #iosmeetup #kotlindevelopment #androiddevelopment
Oleksii Holub (Ukraine, Kyiv) works as a Mobile Software Developer. In this speech, he talks about how to start Android application development from the iOS developer perspective.
"Kotlin/Android programming for Swift/iOS developers 101" internal Hungryroot meetup was held on 22.02.2022 in Zoom.
Video: https://youtu.be/SOaxcYsis5Q

Avatar for Oleksii Holub

Oleksii Holub

February 22, 2022
Tweet

More Decks by Oleksii Holub

Other Decks in Programming

Transcript

  1. A G E N D A O L E K

    S I I H O L U B , 2 0 2 2 - WHERE TO BEGIN - LANGUAGE(S) / WHAT’S SIMILAR - DEVELOPER TOOLS - WHAT’S DIFFERENT - REAL PROJECT IN ANDROID STUDIO
  2. W H E R E T O B E G

    I N O L E K S I I H O L U B , 2 0 2 2 - https://developer.android.com/studio - https://kotlinlang.org - https://developer.android.com/guide
  3. W H E R E T O B E G

    I N O L E K S I I H O L U B , 2 0 2 2 I DO NOT RECOMMEND THIS 2014 BOOK ON TOPIC
  4. L A N G U A G E ( S

    ) O L E K S I I H O L U B , 2 0 2 2 - JAVA VS KOTLIN 
 - ANDROID WORKS ON JVM - JAVA KNOWLEDGE IS OK BUT IT’S NOT REQUIRED FOR THE ANDROID DEVELOPMENT JUMP START - KOTLIN IS COMPILED INTO JAVA BYTE CODE - KOTLIN IS FULLY SUPPORTED BY GOOGLE - BOTH LANGUAGES ARE ALMOST FULLY INTERCHANGEABLE - IDE CONTAINS KOTLIN LINTER
  5. L A N G U A G E ( S

    ) O L E K S I I H O L U B , 2 0 2 2 - JAVA VS KOTLIN 
 - ANDROID WORKS ON JVM - JAVA KNOWLEDGE IS OK BUT IT’S NOT REQUIRED FOR THE ANDROID DEVELOPMENT JUMP START - KOTLIN IS COMPILED INTO JAVA BYTE CODE - KOTLIN IS FULLY SUPPORTED BY GOOGLE - BOTH LANGUAGES ARE ALMOST FULLY INTERCHANGEABLE - IDE CONTAINS KOTLIN LINTER
  6. L A N G U A G E ( S

    ) O L E K S I I H O L U B , 2 0 2 2 - JAVA VS KOTLIN 
 - ANDROID WORKS ON JVM - JAVA KNOWLEDGE IS OK BUT IT’S NOT REQUIRED FOR THE ANDROID DEVELOPMENT JUMP START - KOTLIN IS COMPILED INTO JAVA BYTE CODE - KOTLIN IS FULLY SUPPORTED BY GOOGLE - BOTH LANGUAGES ARE ALMOST FULLY INTERCHANGEABLE - IDE CONTAINS KOTLIN LINTER
  7. L A N G U A G E ( S

    ) O L E K S I I H O L U B , 2 0 2 2 - JAVA VS KOTLIN 
 - ANDROID WORKS ON JVM - JAVA KNOWLEDGE IS OK BUT IT’S NOT REQUIRED FOR THE ANDROID DEVELOPMENT JUMP START - KOTLIN IS COMPILED INTO JAVA BYTE CODE - KOTLIN IS FULLY SUPPORTED BY GOOGLE - BOTH LANGUAGES ARE ALMOST FULLY INTERCHANGEABLE - IDE CONTAINS KOTLIN LINTER
  8. L A N G U A G E ( S

    ) O L E K S I I H O L U B , 2 0 2 2 - JAVA VS KOTLIN 
 - ANDROID WORKS ON JVM - JAVA KNOWLEDGE IS OK BUT IT’S NOT REQUIRED FOR THE ANDROID DEVELOPMENT JUMP START - KOTLIN IS COMPILED INTO JAVA BYTE CODE - KOTLIN IS FULLY SUPPORTED BY GOOGLE - BOTH LANGUAGES ARE ALMOST FULLY INTERCHANGEABLE - IDE CONTAINS KOTLIN LINTER
  9. L A N G U A G E ( S

    ) O L E K S I I H O L U B , 2 0 2 2 - JAVA VS KOTLIN 
 - ANDROID WORKS ON JVM - JAVA KNOWLEDGE IS OK BUT IT’S NOT REQUIRED FOR THE ANDROID DEVELOPMENT JUMP START - KOTLIN IS COMPILED INTO JAVA BYTE CODE - KOTLIN IS FULLY SUPPORTED BY GOOGLE - BOTH LANGUAGES ARE ALMOST FULLY INTERCHANGEABLE - IDE CONTAINS KOTLIN LINTER
  10. L A N G U A G E ( S

    ) O L E K S I I H O L U B , 2 0 2 2 - JAVA VS KOTLIN 
 - ANDROID WORKS ON JVM - JAVA KNOWLEDGE IS OK BUT IT’S NOT REQUIRED FOR THE ANDROID DEVELOPMENT JUMP START - KOTLIN IS COMPILED INTO JAVA BYTE CODE - KOTLIN IS FULLY SUPPORTED BY GOOGLE - BOTH LANGUAGES ARE ALMOST FULLY INTERCHANGEABLE - IDE CONTAINS KOTLIN LINTER
  11. VA R I A B L E A N D

    C O N S TA N T O L E K S I I H O L U B , 2 0 2 2 KOTLIN SWIFT
  12. F U N C T I O N O L

    E K S I I H O L U B , 2 0 2 2 KOTLIN SWIFT
  13. C L A S S / P R O P

    E R T Y / F U N C T I O N O L E K S I I H O L U B , 2 0 2 2 KOTLIN SWIFT
  14. P R O T O C O L / G

    E N E R I C F U N C T I O N O L E K S I I H O L U B , 2 0 2 2 KOTLIN SWIFT
  15. L A M B D A / F U N

    C T I O N T Y P E O L E K S I I H O L U B , 2 0 2 2 KOTLIN SWIFT
  16. E X T E N S I O N O

    L E K S I I H O L U B , 2 0 2 2 KOTLIN SWIFT
  17. C O L L E C T I O N

    / A R R AY O L E K S I I H O L U B , 2 0 2 2 KOTLIN SWIFT
  18. C O L L E C T I O N

    / M A P O L E K S I I H O L U B , 2 0 2 2 KOTLIN SWIFT
  19. O N L I N E K O T L

    I N P L AY G R O U N D O L E K S I I H O L U B , 2 0 2 2 https://clicklo.net/qqvqs
  20. D E V E L O P E R T

    O O L S O L E K S I I H O L U B , 2 0 2 2 IDE IS ANDROID STUDIO
  21. D E V E L O P E R T

    O O L S O L E K S I I H O L U B , 2 0 2 2 BUILD AUTOMATION TOOL GRADLE
  22. D E V E L O P E R T

    O O L S O L E K S I I H O L U B , 2 0 2 2 LAYOUT EDITOR
  23. D E V E L O P E R T

    O O L S O L E K S I I H O L U B , 2 0 2 2 DECLARATIVE UI FRAMEWORK IS CALLED “JETPACK COMPOSE”
  24. D E V E L O P E R T

    O O L S O L E K S I I H O L U B , 2 0 2 2 ANDROID EMULATOR
  25. D E V E L O P E R T

    O O L S O L E K S I I H O L U B , 2 0 2 2 MOST POPULAR ANDROID STUDIO HOT KEYS CMD + F - SEARCH ON PAGE CMD + R - SEARCH AND REPLACE ON PAGE CTRL + SHIFT + F - SEARCH IN PROJECT OPT + CMD + L - INDENT SELECTED CODE PIECE
  26. W H AT ’ S D I F F E

    R E N T O L E K S I I H O L U B , 2 0 2 2 Activity
  27. W H AT ’ S D I F F E

    R E N T O L E K S I I H O L U B , 2 0 2 2 Activity Activity THERE MAY BE MORE THAN ONE ACTIVITY IN THE APP
  28. W H AT ’ S D I F F E

    R E N T O L E K S I I H O L U B , 2 0 2 2 Activity Activity Intent NO DIRECT DATA TRANSFER, INTENT IS THE CONNECTOR
  29. W H AT ’ S D I F F E

    R E N T O L E K S I I H O L U B , 2 0 2 2 Activity Intent MainApplication SIMILAR TO APPDELEGATE, BUT NOT EVEN INCLUDED IN PROJECT BY DEFAULT Activity
  30. W H AT ’ S D I F F E

    R E N T O L E K S I I H O L U B , 2 0 2 2 Activity Fragment FRAGMENTS ARE LIKE CONTAINER VIEW CONTROLLERS OR VIEW CONTROLLERS OR VIEWS
  31. W H AT ’ S D I F F E

    R E N T O L E K S I I H O L U B , 2 0 2 2 ACTIVITIES AND FRAGMENTS HAVE LIFECYCLE SIMILAR TO VIEWCONTROLLERS
  32. W H AT ’ S D I F F E

    R E N T O L E K S I I H O L U B , 2 0 2 2 Activity Fragment Fragment ACTIVITY MAY HOLD A NUMBER OF FRAGMENTS, THEIR LIFECYCLE DEPENDS ON PARENT ACTIVITY Activity Fragment Fragment Fragment Fragment
  33. W H AT ’ S D I F F E

    R E N T O L E K S I I H O L U B , 2 0 2 2 Activity : CONTEXT CONTEXT IS GOD OBJECT RESPONSIBLE FOR UI REFERENCES
  34. W H AT ’ S D I F F E

    R E N T O L E K S I I H O L U B , 2 0 2 2 https://material.io/components
  35. R E A L P R O J E C

    T O L E K S I I H O L U B , 2 0 2 2 https://github.com/alexth/Test-Android-App
  36. R E A L P R O J E C

    T O L E K S I I H O L U B , 2 0 2 2 LET’S CHECK HOW ANDROID STUDIO LOOKS LIKE