Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

Server-Side Kotlin with Coroutines

GOTO Conferences via YouTube

Overview

Explore server-side Kotlin with coroutines in this GOTO Chicago 2019 conference talk by Roman Elizarov, Kotlin Libraries Team Lead at JetBrains. Dive into the scalability and reliability challenges of traditional thread-based stacks and learn how to mitigate these issues using Kotlin coroutines. Discover how coroutine-based design naturally avoids common pitfalls of asynchronous programming, including resource management, error handling, and request cancellation. Examine the benefits of using coroutines for writing efficient server-side code on the JVM, and gain insights into topics such as suspending functions, thread pools, CPU-bound code, fine-grained control, and concurrency. Compare asynchronous servers with coroutine-integrated servers, and understand the concept of green threads and fibers. Learn about coroutine scopes, conventions, and how types can serve as documentation and enforcement mechanisms. Conclude with an exploration of returning multiple responses using Kotlin flows.

Syllabus

Intro
Speaker: Roman Elizarov
Old-school client-server monolith
Sizing threads - easy
Complex business logic
What if a service is slow?
Blocks threads
Release the thread
Suspend behind the scenes
Performance!
Integration
Release thread?
Blocking server
Asynchronous server
Server integrated with coroutines
Server not integrated with coroutines
Suspend is efficient
Let's go deeper (with coroutines)
Call stack with coroutines
Thread pools
CPU-bound code
Fine-grained control and encapsulation
Concurrency with async (futures)
Concurrency with coroutines
Without coroutine scope?
Convention
Types as documentation
Types are enforced
Green threads / Fibers
Fibers promise
Solution - shared thread pool
Returning many responses
Where's the catch?
Flow example

Taught by

GOTO Conferences

Reviews

Start your review of Server-Side Kotlin with Coroutines

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.