Czym jest Kotlin?
Definicja i charakterystyka Kotlin
Kotlin to statycznie typowany język programowania działający na maszynie wirtualnej Javy (JVM), który może być również kompilowany do kodu źródłowego JavaScript oraz używany do tworzenia kodu na platformy iOS. Jest to język ogólnego przeznaczenia, który został zaprojektowany, aby być w pełni interoperacyjny z Javą.
Historia rozwoju
Początki: Kotlin został stworzony przez JetBrains, firmę znaną przede wszystkim z tworzenia IntelliJ IDEA, środowiska programistycznego IDE dla Javy. Prace nad językiem rozpoczęły się w 2010 roku, a jego głównym celem było wyeliminowanie niektórych problemów Javy, takich jak nadmierna verbosywność czy problemy z null pointer exceptions.
Nazwa języka pochodzi od wyspy Kotlin, znajdującej się blisko Petersburga, gdzie mieści się jedno z biur JetBrains.
Kluczowe daty:
- 2010 – Rozpoczęcie prac w JetBrains
- Luty 2016 – Oficjalne wydanie Kotlin 1.0 (stabilna wersja gotowa do produkcji)
- 2017 – Google ogłasza oficjalne wsparcie na Android
- 2019 – Kotlin staje się preferowanym językiem dla Android
2. Dlaczego Kotlin? -Demo różnic
Problemy Javy – pokazuję na kodzie
Java – tworzenie prostej klasy Person:
public class Person {
private String name;
private int age;
// Konstruktor
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// Gettery
public String getName() {
return name;
}
public int getAge() {
return age;
}
// toString
@Override
public String toString() {
return "Person{name='" + name + "', age=" + age + "}";
}
// equals i hashCode - jeszcze 20+ linii...
}„To jest 25+ linii kodu tylko żeby stworzyć prostą klasę z dwoma polami!”
Kotlin – to samo w jednej linii:
data class Person(val name: String, val age: Int)„Kotlin automatycznie generuje konstruktor, gettery, toString(), equals(), hashCode() – wszystko w jednej linii!
Null Safety – praktyczny przykład
Java – problem z null:
String getUserName() {
// może zwrócić null
return database.findUser()?.getName();
}
String name = getUserName();
int length = name.length(); // ❌ CRASH jeśli name = null!
// Bezpieczna wersja:
if (name != null) {
int length = name.length();
} else {
// obsłuż null...
}Kotlin – bezpieczne rozwiązanie:
fun getUserName(): String? { // ? oznacza "może być null"
return database.findUser()?.name
}
val name: String? = getUserName()
val length = name?.length ?: 0 // ✅ Bezpiecznie!„W Kotlin kompilator ZMUSZA nas do obsłużenia sytuacji, gdy coś może być null. Eliminuje to 90% crashy aplikacji!”
3. Gdzie używa się Kotlin?
Giganci technologiczni
Z języka Kotlin korzystają giganci technologiczni tacy jak:
📱 Mobile & Apps:
- Google – całe Android SDK, YouTube Music
- Netflix – aplikacja mobilna (150M+ użytkowników)
- Evernote – przepisali całą aplikację na Kotlin
- Pinterest – aplikacje mobilne
🌐 Backend & Services:
- Uber – mikroservisy backend
- Amazon – wewnętrzne narzędzia i serwisy
- Coursera – platforma edukacyjna
Statystyki, które imponują:
- 70%+ nowych projektów Android używa Kotlin
- 500% wzrost popularności w ciągu 3 lat
- 4. miejsce w rankingu „Most Loved Languages” (Stack Overflow 2023)
Platformy – pokazuję możliwości:
🎯 Kotlin = 1 język, 5 platform:
📱 Android → Aplikacje mobilne
🍎 iOS → Kotlin Multiplatform
🌐 Backend → Serwery (Spring Boot)
💻 Desktop → Aplikacje desktopowe
🌍 Web → Frontend (kompilacja do JS)4. Pierwszy program
Android Studio:
- Utwórz nowy projekt Android
- Znajdź MainActivity.kt
- Dodaj kod w funkcji onCreate:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// 🎉 Nasz pierwszy kod Kotlin!
println("Witaj, świecie w Kotlin!")
println("To jest mój pierwszy program!")
// Pokaż zmienne
val imie = "Kotlin"
val wiek = 8 // lat od wersji 1.0
println("Język $imie ma już $wiek lat!")
}
}