Overview
Kotlin is a modern, functional and object-oriented programming language based on Java.
In this instructor-led, live training, participants will learn Kotlin programming as they step through the creation of an Android app based on an existing iOS app.
By the end of this training, participants will be able to:
- Understand the fundamental concepts of Kotlin programming by leveraging Swift and iOS knowledge.
- Construct an Android UI using Kotlin.
Audience
- iOS and Swift Developers interested in moving their apps to Android using Kotlin
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Requirements
- Experience with Swift programming
Course Outline
Introduction
Setting Up the Tools for Kotlin
- Using the Command Line Tools
- Installing the JDK for Kotlin
- Installing and Setting Up the IDE: IntelliJ
- Installing the Plugins
Setting Up the Tools for Android Development
- Installing Android Studio
- Starting a New Project
- Setting Up the Emulator
- Setting Up the Library
Setting Up Kotlin in Android
Getting Started with Kotlin and the Kotlin Syntax
- Overview of Kotlin
- Learning the Kotlin Architecture
- Learning the Kotlin Syntax
- Using Key Features of Kotlin
Comparing Similarities and Differences of Kotlin and Swift
- Basics
- Arrays
- Dictionaries
Digging Deep into Programming with Kotlin vs. Swift
- Learning the Types of Classes
- Creating a Class
- Adding Methods to Classes
- Defining Basic Constructors
- Using Named Parameters and Default Values
- Using Open Classes to Allow Inheritance
- Creating, Declaring, and Using Functions in Kotlin
- Using Parameters and Returning a Value
- Creating and Using Interfaces
- Using Enumerations
- Understanding Generics
- Implementing a Generic Stack
- Using Generic Functions
- Using Extension Functions
Working with Java from Kotlin and Vice Versa
Working with the Data Layer
- Overview of the Network Layer
- Using Entities and Endpoints
- Implementing Network Interactors
- GET Articles
- POST Articles
- Finalize
- Setting Up Room for SQLite Database
- Working with Realm Database
- Implementing Common Tasks on the Data Layer
Understanding the Application Life Cycle of Android vs. iOS
- Simple
- Complex
- Threading
Using XML UI Layout
- Overview of Common UI Components Between Apple and Android
- Adding UI Events
- Creating an Activity
- Using the RecyclerView
Troubleshooting
Summary and Conclusion