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

Droidcon 2021 Summary

Droidcon 2021 Summary

Droidcon 2021 Summary

* Women in Computer Science
* Droidcon superstar Chet Haase
* Slow Builds are a tech debt
* Idiomatic Unit Testing - Kotlin
* Jetpack Compose - testing
* ATD - Automated Test Devices
* Jetpack compose - lottiefiles
* Josef Raska - Module
* Flutter Animations
* Don't kill my app

3d83f31339d239abcc55f869e5f30348?s=128

bkosarzycki

November 08, 2021
Tweet

Transcript

  1. Insert date here Droidcon 2021 summary @bkosarzycki

  2. Droidcon Berlin 2021 2

  3. Women in Computer Science 3

  4. Women in Computer Science Margaret Hamilton She was director of

    the Software Engineering Division of the MIT Instrumentation Laboratory, which developed on-board flight software for NASA's Apollo program. Kathleen Booth Kathleen Booth wrote the first assembly language and designed the assembler and autocode for the first computer systems at Birkbeck College, University of London Barbara Liskov Liskov has led many significant projects, including the Venus operating system, a small, low-cost timesharing system; the design and implementation of CLU; The syntax of CLU was based on ALGOL, Argus, the first high-level language to support implementation of distributed programs and to demonstrate the technique of promise pipelining; and Thor, an object-oriented database system. Ada Lovelace Methematician. Ada Lovelace emphasised the difference between the Analytical Engine and previous calculating machines, particularly its ability to be programmed to solve problems of any complexity Grace Hopper Hopper's belief that programs should be written in a language that was close to English (rather than in machine code or in languages close to machine code, such as assembly languages) was captured in the new business language, and COBOL went on to be the most ubiquitous business language to date. 4
  5. 5 Droidcon superstar Chet Haase

  6. 6

  7. build cache 7

  8. Gradle profile 8

  9. Gradle doctor 9 Nelson Osacky, Soundcloud -

  10. Gradle doctor 10

  11. Gradle doctor 11 What about our 16 GB mackbooks?

  12. Gradle doctor 12

  13. Gradle doctor 13 Check how many daemons you’re using:

  14. Gradle doctor 14 Check how many daemons you’re using:

  15. Gradle doctor 15 Check Java home:

  16. build cache 16

  17. build cache 17

  18. Gradle doctor 18 More about Gradle doctor here:

  19. build cache 19 MORE INFO: https://speakerdeck.com/runningcode/what-is-the-android-cache-fix-plugin-and-why-do-i-need-t o-solve-my-own-cache-misses?slide=14 https://medium.com/@cesarmcferreira/using-gradle-build-cache-server-73d7680baf2a https://stackoverflow.com/questions/60528123/how-to-disable-gradles-local-build-cache-but-keep -remote-cache-enabled

  20. Idiomatic Unit Testing - Kotlin Similar to: https://phauer.com/2018/best-practices-unit-testing-kotlin/#recap-what-is-idiomatic-kotlin-c ode TLDR:

    don’t use static variables; favour val instead of var and try to write common logic between test suites 20
  21. Jetpack Compose 21

  22. Jetpack Compose 22

  23. Jetpack Compose - samples 23 https://github.com/android/compose-samples

  24. Jetpack Compose - testing 24 - don’t have to put

    Id’s - jetpack preview performance has been greatly improved
  25. Jetpack Compose - testing 25

  26. Jetpack Compose - testing - we can add additional tags

    for testing 26
  27. Jetpack Compose - useUnmergedTree - then we can ui-test using

    these tags more here: https://developer.android.com/jetpack/compose/semantics 27
  28. Jetpack Compose - testing 28

  29. ATD - Automated Test Devices 29

  30. ATD - Automated Test Devices API for Android Emulators: 30

    Gradle Managed Devices (GMD) - more info here
  31. ATD - Automated Test Devices 31

  32. Jetpack compose - lottiefiles ? Do you know any alternative

    to lottiefiles which can be used with Compose? > you don’t need one - Lottie already supports Compose LINK 32 dependencies { implementation 'com.airbnb.android:lottie-compose:1.0.0-alpha02' }
  33. Josef Raska - Module Rules [gradle] Reference: https://github.com/jraska/modules-graph-assert/blob/master/presentation/REFERENCES.md GRAPH ASSERT

    plugin 33
  34. Josef Raska - Module Rules [gradle] 34

  35. Josef Raska - Module Rules [gradle] 35 SAMPLE

  36. Josef Raska - Module Rules [gradle] 36

  37. Flutter: Animation examples 37

  38. Flutter: Animation examples 38

  39. Flutter: Animation examples 39

  40. Flutter: Animation examples 40

  41. Flutter: Animation examples Emily Fortuna - Animation - Flutter Europe

    https://www.youtube.com/watch?v=wnARLByOtKA 41
  42. Flutter: Animation examples Web app: https://roszkowski.dev/animations/ Pdf: https://github.com/orestesgaolin/ animations_samples/blob/master/docs/ presentation.pdf

    42
  43. Don’t kill my app 43

  44. Don’t kill my app - benchmark 44

  45. Android 12 - Exoplayer 45 https://github.com/google/ExoPlayer/releases/tag/r2.16.0

  46. Android 12 - Exoplayer 46

  47. THANK YOU @bkosarzycki