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

Kotlin Multiplatform - Uma visão geral

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Kotlin Multiplatform - Uma visão geral

Avatar for Douglas Carvalho

Douglas Carvalho

September 10, 2020

Other Decks in Programming

Transcript

  1. Kotlin • Início do desenvolvimento em 2010 pela JetBrains •

    Em 2016 foi lançada a versão 1.0 • Em 2017 suportada oficialmente pela Google no Android • Open Source • Concisa, segura, interoperável e tool-friendly. • Orientada a Objetos com características Funcionais.
  2. JVM JS Native Java-6 Java-8 Android Art / Dalvik Browser

    Node iOS Mac Linux Windows Android/NDK Wasm Outros
  3. Kotlin Native • iOS (arm32, arm64, simulator x86_64) • macOS

    (x86_64) • watchOS (arm32, arm64, x86) • tvOS (arm64, x86_64) • Android (arm32, arm64, x86, x86_64) • Windows (mingw x86_64, x86) • Linux (x86_64, arm32, arm64, MIPS, MIPS little endian) • WebAssembly (wasm32)
  4. Kotlin Multiplatform • Code sharing 
 (Android, iOS, JVM, JavaScript

    and Native) • Multiplatform libraries • Platform-specific libraries and tools • Alpha 31/08/2020
  5. Libraries Multiplatform Ktor - HTTP client Kotlinx.Coroutines - assincronismo multiplatforma

    Kotlinx.IO - IO multiplatforma Kotlinx.Serialization - jSON, Protobuf, CBOR, Hocon and Properties SQLiter (Touchlab) - wrapper nativo para a biblioteca C++ do SQLite SQDelight (Square) - geração de código de acesso a banco de dados a partir do SQL multiplatform-settings (russhwofl) - key-value storage for Android (SharedPreferences) e iOS (NSUserDefaults)
  6. Multiplatform Ou Cross-platform? "Shared UI is a history of pain

    and failure. Shared logic is the history of computers.” -Kevin Galligan
  7. iOS

  8. Plugins Android Studio e Xcode • Android Studio Kotlin Multiplatform

    Mobile Wizard + Run and Debug on iOS Simulator • Xcode Kotlin Native Xcode Support Debug + View data + Highlighting
  9. Mono-repo Pros • Poucas mudanças no Android • Desenvolvimento local

    (debug) Cons • Dois sistemas de build para o iOS • CI • Necessita de sincronismo entre as plataformas
  10. Multi-repo Pros • CI é rápida • Encoraja cobertura de

    testes unitários • Permite assincronismo entre as plataformas Cons • Breaking changes • Precisa de um bom setup de CD • Debugging precisa de configuração