Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kotlin Multiplatform

Kotlin Multiplatform

Avatar for Alex Golenkevich

Alex Golenkevich

June 27, 2019

Other Decks in Programming

Transcript

  1. Кто я? • Я – Голенкевич Алексей, мобильный разработчик в

    EPAM • Занимаюсь мобильной разработкой с 2008 года • Программировал под Windows Mobile, BREW, Blackberry, Palm OS, Android, iOS • С Kotlin познакомился в сентябре 2018 года • Играю в Дартс с 2008 года
  2. = +

  3. • JNI + NDK for Android • Objective-C++ for iOS

    C++ Core C++ Core Android iOS Multiplatform with C++
  4. • JNI + NDK for Android • Objective-C++ for iOS

    C++ Core C++ Core Android iOS Multiplatform with C++
  5. Supported platforms • JVM • JavaScript • iOS • MacOS

    • Android • Windows • Linux • WebAssembly 13
  6. Enterprise Business Rules Application Business Rules Interface Adapters Frameworks &

    Drivers Entities Controllers Use Cases Presenters G atew ays Devices Web External Interfaces DB UI Clean Architecture
  7. Enterprise Business Rules Application Business Rules Interface Adapters Frameworks &

    Drivers Entities Controllers Use Cases Presenters G atew ays Devices Web External Interfaces DB UI Clean Architecture
  8. Kotlin and iOS: Rules • Нет suspend функций • Нет

    абстрактных классов – ошибки в Runtime • Очень аккуратно с многопоточностью • Coroutines только в главном потоке • Как можно меньше генериков • Не менять версии библиотек и Kotlin без нужды • Сначала Андроид!
  9. Kotlin libraries: • HTTP client: Ktor • Serialization: kotlinx.serialization •

    Coroutines: kotlin.coroutines • Date & Time: Klock • Logging: Klogger • DI: Kodeine
  10. Преимущества • Общая кодовая база для business- и presentation- уровней

    • Общий набор тестов • Скорость разработки