CodeFest 2018. Дмитирй Грязин (Avito) — Kotlin: новые перспективы кроссплатформенной разработки

16b6c87229eaf58768d25ed7b2bbbf52?s=47 CodeFest
April 09, 2018

CodeFest 2018. Дмитирй Грязин (Avito) — Kotlin: новые перспективы кроссплатформенной разработки

Посмотрите выступления Дмитрия: https://2018.codefest.ru/lecture/1263/

Доклад будет посвящен кроссплатформеной разработке на Kotlin. Расскажу про то какие возможности Kotlin позволяет получить и про то чем Kotlin не является.

16b6c87229eaf58768d25ed7b2bbbf52?s=128

CodeFest

April 09, 2018
Tweet

Transcript

  1. 6.

    Cross-platform 6 Xamarin PhoneGap React Native Intel XDK, Intel MultiOS

    engine Titanium, Ionic, J2ObjC, Mobile Angular, Unity...
  2. 12.
  3. 13.
  4. 29.

    Kotlin native сегодня Могу ли я: - Использовать С-библиотеки? -

    Писать Android-приложения? - Писать iOS-приложения? - Писать Android- / iOS-приложения? 29
  5. 40.

    С-библиотеки cinterop → .klib CPointer<T> CPointer<CPointerVar<ByteVar>> COpaquePointer CValuesRef<T> CValue<T> StableObjPtr

    40 .reinterpret<IntVar>() nativeHeap.alloc nativeHeap.allocArray nativeHeap.free memScoped { }
  6. 41.

    С-библиотеки cinterop → .klib CPointer<T> CPointer<CPointerVar<ByteVar>> COpaquePointer CValuesRef<T> CValue<T> StableObjPtr

    41 .reinterpret<IntVar>() nativeHeap.alloc nativeHeap.allocArray nativeHeap.free memScoped { } staticCFunction { } ...
  7. 47.

    Kotlin native сегодня Могу ли я: - Использовать С-библиотеки? ДА,

    но… - Писать Android-приложения? ДА, но... 47
  8. 52.

    iOS-приложения - CMake + cinterop? - No XCode support. CLion?

    - @ExportObjCClass - @konan.internal.Intrinsic external fun <T : ObjCObjectBase> T.initBy 52
  9. 53.

    Kotlin native сегодня Могу ли я: - Использовать С-библиотеки? ДА,

    но… - Писать Android-приложения? ДА, но… - Писать iOS-приложения? ДА, но… 53
  10. 56.

    Android- / iOS-приложения 56 Common Business logic Android UI iOS

    UI UI libs SDK UI libs SDK View Binding View Binding
  11. 57.

    Android- / iOS-приложения 57 ? Android UI iOS UI UI

    libs SDK UI libs SDK View Binding View Binding
  12. 58.

    Android- / iOS-приложения 58 Android UI iOS UI UI libs

    SDK UI libs SDK View Binding View Binding Network Caching Parsing Models Presentation logic IO / Database
  13. 59.

    Android- / iOS-приложения 59 Android UI iOS UI UI libs

    SDK UI libs SDK View Binding View Binding Network Caching Parsing Models Presentation logic IO / Database
  14. 60.

    Android- / iOS-приложения 60 Android UI iOS UI UI libs

    SDK UI libs SDK View Binding View Binding Models Presentation logic Network Caching Parsing Database Network Caching Parsing Database
  15. 61.

    Android- / iOS-приложения 61 Android UI iOS UI UI libs

    SDK UI libs SDK View Binding View Binding Models Presentation logic Network Caching Parsing Database Network Caching Parsing Database ? ?
  16. 67.

    Kotlin native сегодня Могу ли я: - Использовать С-библиотеки? ДА,

    но… - Писать Android-приложения? ДА, но… - Писать iOS-приложения? ДА, но… - Писать Android- / iOS-приложения? ДА 67
  17. 71.

    Kotlin native сегодня 71 - Multiplatform - Objective-C interop -

    POSIX API, UIKit... - Compile as iOS framework
  18. 72.

    Kotlin native сегодня 72 - Objective-C interop - POSIX API,

    UIKit... - Compile as iOS framework - Multiplatform
  19. 74.

    74