Course Outline
Introduction
Review of Core Kotlin Concepts
Applying Advanced Functions in Kotlin
- Leveraging Nested Functions to Promote Code Reusability in Kotlin
- Utilizing Infix Notation for Function Calls in Kotlin
- Declaring Anonymous Functions in Kotlin
- Enhancing Efficiency with the Inline Modifier in Kotlin
- Managing Returns and Local Returns in Complex Function Scenarios
- Optimizing Performance Through Tail Recursion in Kotlin
- Applying Operator Overloading Techniques in Kotlin
- Employing Lambdas with Receivers to Define DSL Constraints in Kotlin
- Invoking Instance Methods Effectively in Kotlin
- Working with Functional Constructs in Kotlin
- Function Composition
- Currying
- Additional Functional Patterns
- Overview of Advanced Functional Capabilities in Kotlin
Investigating Class Design Patterns in Kotlin
- Implementing Field Management Strategies in Kotlin
- Applying the "lateinit" Modifier for Flexible Initialization
- Distinguishing Between Nested and Inner Classes in Kotlin
- Creating Static-like Behavior Using Companion Objects
- Concealing Class Constructors for Encapsulation
- Restricting Class Hierarchies with Sealed Classes
- Simplifying Code Readability with Type Aliases
- Summary of Advanced Class-Level Features in Kotlin
Mastering Delegation Strategies in Kotlin
- Grasping the Principles of Member Delegation
- Transferring Member Function Logic to External Classes
- Delegating Properties to Streamline Code Reuse
- Utilizing Standard Delegated Properties Provided by Kotlin
- Managing Local Property Delegation for Improved Maintainability
- Creating Extension Properties to Enhance Class Functionality
- Recap of Delegation Mechanisms in Kotlin
Deep Dive into Kotlin Generics
- Analyzing Generic Type Constraints
- Differentiating Between Variance and Invariance
- Declaring Covariance Using the "out" Modifier
- Defining Contravariance Patterns in Kotlin
- Exploring Type Projections and Star Projections
- Summary of Advanced Generic Applications
Metaprogramming Techniques in Kotlin
- Introduction to Reflection Concepts
- Bridging Java Reflection with Kotlin via the Reflection API
- Leveraging Kotlin’s Native Reflection API
- Mitigating Type Erasure Challenges
- Implementing Reified Generics for Runtime Type Safety
- Designing Custom Annotations for Metadata
- Overview of Metaprogramming and Introspection Methods
Implementing Asynchronous Logic in Kotlin
- Identifying Challenges in Asynchronous Development
- Building Asynchronous Applications with Coroutines
- Applying Async/Await Patterns Using Coroutines
- Implementing Yield Mechanisms for Control Flow
- Evaluating Coroutines vs. Reactive Extensions
- Summary of Coroutine-based Programming
Final Summary and Wrap-up
Requirements
- A solid grasp of Kotlin fundamentals
Target Audience
- Developers seeking to expand their expertise in Kotlin programming
Testimonials (7)
As a Senior Java Engineer and Kotlin novice, I feel the course has given me the tools to start using Kotlin properly for future development projects.
Stewart Coates - DLA PIPER
Course - Advanced Kotlin Programming
Intensity of a course, coverage of topics. Complicated topics are explained on a good level, so even though there are some white spots left in of them (like DSL) -- it won't be hard to go on by myself as I already have a common understanding of basis and at least know how to form my questions to Google.
Alexey Baryshnev - C.T.Co SIA
Course - Advanced Kotlin Programming
A format - lot of new info, but it felt pretty understandable and comfortable to learn, most of it I managed to remember and use when necessary at the next topics.
Alina Karpovich - C.T.Co SIA
Course - Advanced Kotlin Programming
Trainer competence, wide subject knowledge. I have learned a lot new stuff, received valuable comments and answers to my questions.
Ilya Ginter - C.T.Co SIA
Course - Advanced Kotlin Programming
live communication and good answers to questions
Alexander Semyonov - C.T.Co SIA
Course - Advanced Kotlin Programming
Execute exercises in mode online, it is cool. Fast answer about additional questions
Oleg Sushik - C.T.Co SIA
Course - Advanced Kotlin Programming
Positive approach