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

Droidcon Online 2020 quick summary

Droidcon Online 2020 quick summary

This is a quick summary of interesting talk I visited during Droidcon Online 2020. This year the conference was different - due to covid-19. Nevertheless there were some thing worth mentioning!

bkosarzycki

October 26, 2020
Tweet

More Decks by bkosarzycki

Other Decks in Programming

Transcript

  1. @bkosarzycki KOTLIN JETPACK Flutter PRs / Digital Nomad / Developer

    life etc. reactive programming / coroutines Security Compose Word cloud – Droidcon 2020
  2. #JETPACK Jetpack navigation - what benefits jetpack navigation gives us

    for multi- module projects Tahsin Dane Ahmet Safa Orhan @bkosarzycki
  3. Jetpack navigation – dynamic feature navigation https://developer.android.com/guide/navig ation/navigation-dynamic https://medium.com/google-developer- experts/exploring-dynamic-feature-

    navigation-on-android-c803bdbbca9b - uses Android App Bundles - reduces initial download size of the app - "Play feature Delivery" (link) - download feature modules on demand @bkosarzycki
  4. SplitInstallRequest .newBuilder() .addModule("pictureMessages") .build() splitInstallManager .startInstall(request) .addOnSuccessListener { sessionId ->

    ... } .addOnFailureListener { exception -> ... } splitInstallManager .deferredInstall(listOf("promotionalFilters")) Jetpack navigation – dynamic feature navigation @bkosarzycki
  5. Kotlin multiplatfom – real world examples & performance analysis @bkosarzycki

    #LANG - ups & downs of kotlin-multiplatform development
  6. Kotlin coroutines – transition & interoperability with rxjava @bkosarzycki #LIBRARY

    - blog: kotlinx-coroutines-rx2 - when migrating from rxjava (project refactoring) - when you want to use Kotlin coroutines in Java (cannot [yet] be used directly)
  7. Kotlin coroutines – transition & interoperability with rxjava @bkosarzycki #LIBRARY

    Structured concurrency is a programming paradigm aimed at improving the clarity, quality, and development time of a computer program by using a structured approach to concurrent programming. The core concept is the encapsulation of concurrent threads of execution (here encompassing kernel and userland threads and processes) by way of control flow constructs that have clear entry and exit points and that ensure all spawned threads have completed before exit. The concept is analogous to structured programming, which introduced control flow constructs that encapsulated sequential statements and subroutines. Such encapsulation allows errors in concurrent threads to be propagated to the control structure's parent scope and managed by the native error handling mechanisms of each particular computer language. It allows control flow to remain readily evident by the structure of the source code despite the presence of concurrency. To be effective, this model must be applied consistently throughout all levels of the program-- otherwise concurrent threads may leak out, become orphaned, or fail to have runtime errors correctly propagated.
  8. https://dev.to/kpgalligan/series/3739 https://github.com/touchlab/KNConcurrencySamples Practical Kotlin Native Concurrency Series https://dev.to/touchlab #LANG @bkosarzycki

    Droidcon NYC in Kotlin multiplatform - source code + live coding LINK Kotlin multiplatform - TOUCHLAB - app development, workshops, trainings
  9. #SECU ASK QUESTIONS: https://community.guardsquare.com/ @bkosarzycki Effects of Kotlin on byte

    code & app security - We've extended our open source code optimizer ProGuard and our protection software DexGuard to fully support Kotlin - new open source tool to view the Kotlin metadata hiding inside your apps
  10. #SECU ASK QUESTIONS: https://community.guardsquare.com/ @bkosarzycki Effects of Kotlin on byte

    code & app security - example of DexGuard removing kotlin compiler metadata for enhanced security
  11. https://android-developers.googleblog.com/2020/09/prefer- storing-data-with-jetpack.html Jetpack DataStore – replaces Android SharedPrefs - (Y)

    async access via coroutines Flow - (X) no synchronous access - has transactions - data migration from SharedPrefs is possible Coroutines flow #JETPACK Jetpack DataStore Google DataStore CodeLab - https://codelabs.developers.google.com/codelabs/android- preferences-datastore/#0 https://youtu.be/lKOsI4gh9Z8?t=44 @bkosarzycki
  12. #LANG https://www.youtube.com/watch?v=FRCASfAMXoQ - Google is full-in Kotlin for Android -

    docs & trainings are in preparation - 70% of pro-devs use Kotlin on Android Kotlin 1.4 Live Online event – October 12-15, 2020 @bkosarzycki