Technologia

Kotlin

Oficjalny język Androida. Nowoczesny, bezpieczny, interoperacyjny z Javą. Jetpack Compose dla deklaratywnego UI.

Czym jest Kotlin?

Kotlin to nowoczesny język programowania stworzony przez JetBrains (twórców IntelliJ IDEA). Od 2019 roku jest oficjalnym językiem Androida rekomendowanym przez Google. Kotlin jest w pełni interoperacyjny z Javą — możesz używać obu języków w jednym projekcie.

Kotlin oferuje null safety, coroutines (współbieżność), data classes, extension functions i wiele innych feature'ów, które czynią go bezpieczniejszym i bardziej produktywnym niż Java.

Przykłady kodu

Data classes i null safety

Kotlin data class User( val id: String, val name: String, val email: String, val age: Int, ) { val isAdult: Boolean get() = age >= 18 val displayName: String get() = "$name ($age)" } // Null safety fun greet(user: User?): String { return user?.let { "Cześć, ${it.name}!" } ?: "Cześć, nieznajomy!" } // Sealed class — exhaustive when sealed class Result<out T> { data class Success<T>(val data: T) : Result<T>() data class Error(val message: String) : Result<Nothing>() data object Loading : Result<Nothing>() }

Jetpack Compose — deklaratywny UI

Jetpack Compose @Composable fun ProfileCard(user: User) { var expanded by remember { mutableStateOf(false) } Card( modifier = Modifier .fillMaxWidth() .padding(16.dp) .clickable { expanded = !expanded } ) { Column(modifier = Modifier.padding(16.dp)) { Text( text = user.displayName, style = MaterialTheme.typography.headlineSmall, ) Text( text = user.email, style = MaterialTheme.typography.bodyMedium, color = MaterialTheme.colorScheme.onSurfaceVariant, ) AnimatedVisibility(visible = expanded) { Text("Wiek: ${user.age}") } } } }

Coroutines — współbieżność

Kotlin Coroutines class UserRepository( private val api: UserApi, private val db: UserDao, ) { suspend fun getUsers(): Result<List<User>> { return try { val users = api.fetchUsers() // suspend call db.insertAll(users) // cache locally Result.Success(users) } catch (e: Exception) { val cached = db.getAllUsers() if (cached.isNotEmpty()) Result.Success(cached) else Result.Error(e.message ?: "Unknown error") } } }

Ocena kompetencji

Android natywny
100%
Bezpieczeństwo
94%
Wydajność
90%
Ekosystem
88%
Cross-platform
45%
Łatwość nauki
78%

Co potrafi Kotlin

Aplikacje Android

Oficjalny język Androida. Jetpack Compose, Material 3, Navigation, Room, Hilt.

Jetpack Compose

Deklaratywny UI. Animacje, theming, accessibility. Odpowiednik SwiftUI dla Androida.

Backend (Ktor)

Lekki framework do API. Coroutines, WebSockets, serialization. JVM performance.

Kotlin Multiplatform

Shared business logic między Android, iOS, Web, Desktop. Eksperymentalne, ale obiecujące.

Coroutines

Structured concurrency. Flow (reactive streams), StateFlow, SharedFlow. Lekkie wątki.

Interop z Javą

100% kompatybilność z Javą. Używaj dowolnej biblioteki Java w Kotlin i odwrotnie.

Kiedy wybrać Kotlin?

Idealny gdy: budujesz natywną aplikację Android, potrzebujesz pełnego dostępu do Android API, masz zespół Java/Kotlin, budujesz z Jetpack Compose.

Nie najlepszy gdy: potrzebujesz też iOS (lepiej Flutter), budujesz web app (lepiej TypeScript), potrzebujesz szybkiego MVP na obie platformy (lepiej Flutter).