Get in Touch

Course Outline

Introduction

Kotlin Basics Refresher

Leveraging Advanced Functions in Kotlin

  • Utilizing Nested Functions to Reuse Functionality in Kotlin
  • Employing Infix Notation to Call Functions in Kotlin
  • Declaring Anonymous Functions in Kotlin
  • Applying the Inline Modifier for Enhanced Efficiency in Kotlin
  • Managing Returns and Local Returns When Working with Advanced Functions in Kotlin
  • Implementing Tail Recursion for Optimization in Kotlin
  • Using Operator Overloading in Kotlin
  • Employing Lambdas with Receivers to Establish Constraints on DSLs in Kotlin
  • Invoking Instances in Kotlin
  • Utilizing Functional Constructs in Kotlin
    • Function Composition
    • Currying
    • Additional Constructs
  • Summary of Advanced Functional Aspects of Kotlin

Exploring Class Scenarios in Kotlin

  • Implementing Fields in Kotlin
  • Using the "lateinit" Modifier in Kotlin
  • Understanding Nested and Inner Classes in Kotlin
  • Defining "Static Methods" in Kotlin via Companion Objects
  • Hiding Class Constructors in Kotlin
  • Marking Classes as Sealed in Kotlin
  • Utilizing Type Aliases in Kotlin
  • Summary of Advanced Features of Kotlin for Classes

Implementing Delegation in Kotlin

  • Grasping the Concept of Member Delegation in Kotlin
  • Delegating Member Functions to Another Class in Kotlin
  • Delegating Properties in Kotlin for Efficient Code Reuse
  • Utilizing Built-in Delegated Properties in Kotlin
  • Delegating Local Properties in Kotlin for Code Reuse
  • Implementing Extension Properties in Classes in Kotlin
  • Summary of the Various Aspects of Delegation in Kotlin

Gaining an In-Depth Understanding of Generics in Kotlin

  • Understanding Generic Constraints
  • Comprehending Variance and Invariance in Generics
  • Using the "out" Modifier to Express Covariance in Generics in Kotlin
  • Expressing Contravariance in Kotlin
  • Exploring the Concepts of Type Projections and Star Projections in Kotlin
  • Summary of Advanced Generics in Kotlin

Metaprogramming in Kotlin

  • Overview of Reflection
  • Using Java Reflection with Kotlin via the Reflection API
  • Utilizing Kotlin's Reflection API
  • Handling Type Erasure in Kotlin
  • Employing Reified Generics in Kotlin
  • Defining Custom Annotations in Kotlin
  • Summary of Metaprogramming and Introspection Techniques in Kotlin

Performing Asynchronous Programming in Kotlin

  • Understanding the Challenges of Asynchronous Programming
  • Implementing Asynchronous Programming and Coroutines in Kotlin
  • Implementing Async and Await in Kotlin Using Coroutines
  • Implementing Yield in Kotlin
  • Understanding the Advantages of Coroutines Over Reactive Extensions
  • Summary of Coroutines in Kotlin

Summary and Conclusion

Requirements

  • A solid understanding of Kotlin fundamentals

Audience

  • Developers seeking to deepen their knowledge of Kotlin programming
 21 Hours

Testimonials (7)

Related Categories