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

Android Complexity (Android Heroes Live)

Android Complexity (Android Heroes Live)

Android development can often feel overwhelming – there’s so, so many things to take care of around a single app. Here’s a brief look at all the things* that an Android developer would have to consider, do, and test for in order to create the theoretically perfect application, to serve as a practical checklist for starting your next Android project.

*definitely still not all the things

https://zsmb.co/talks/android-complexity/

4047c64e3a1e2f81addd4ba675ddc451?s=128

Marton Braun

May 21, 2021
Tweet

Transcript

  1. Android Complexity Márton Braun zsmb.co zsmb13

  2. None
  3. Existing product Improve and polish New project Plan and estimate

  4. UX

  5. UX Accessibility (a11y)

  6. UX Accessibility (a11y)

  7. UX Internationalization (i18n) String resources

  8. UX Internationalization (i18n) Date formats String resources

  9. UX Internationalization (i18n) Start of week Date formats String resources

  10. UX Internationalization (i18n) Start of week Date formats String resources

    Right to left
  11. UX Internationalization (i18n) <resources> <plurals name="numberOfSongsAvailable"> <item quantity="one">%d song found.</item>

    <item quantity="other">%d songs found.</item> </plurals> </resources>
  12. UX Internationalization (i18n) <resources> <plurals name="numberOfSongsAvailable"> <item quantity="one">%d song found.</item>

    <item quantity="other">%d songs found.</item> </plurals> </resources>
  13. UX Internationalization (i18n)

  14. UX Dark theme

  15. UX Dark theme

  16. UX Animation

  17. UX Animation

  18. UX Animation

  19. UX Animation

  20. UX Animation

  21. UX Jetpack Compose

  22. UX Jetpack Compose and animations

  23. UX Jetpack Compose and animations

  24. Platform

  25. Platform State restoration Configuration changes

  26. Platform State restoration Configuration changes Orientation

  27. Platform State restoration Configuration changes Orientation Dark mode Language Font

    size
  28. Platform State restoration Configuration changes Process death Orientation Dark mode

    Language Font size
  29. Platform State restoration

  30. Platform Screens

  31. Platform Screens

  32. Platform Screens

  33. Platform Screens

  34. Platform Screens

  35. Platform Screen settings

  36. Platform Screen settings – font size

  37. Platform Screen settings – display size

  38. Platform App shortcuts

  39. Platform App shortcuts

  40. Platform Notifications

  41. Platform Notifications

  42. Platform Notifications

  43. Platform Notifications

  44. Platform Background work

  45. Platform Non-phones

  46. Platform Non-phones

  47. Platform Inputs

  48. Platform Inputs

  49. Platform Inputs

  50. QA

  51. QA Static analysis

  52. QA Unit tests

  53. QA UI tests @Test fun greeterSaysHello() { onView(withId(R.id.name_field)).perform(typeText("Steve")) onView(withId(R.id.greet_button)).perform(click()) onView(withText("Hello

    Steve!")).check(matches(isDisplayed())) }
  54. QA Performance profiling

  55. QA APK size

  56. Tooling

  57. Tooling Language

  58. Tooling Language

  59. Tooling Language

  60. Tooling Version control

  61. Tooling CI/CD

  62. Tooling Alternative stores Amazon Appstore Galaxy Store Huawei AppGallery

  63. Tooling Crash reporting

  64. Tooling Analytics

  65. Existing product Improve and polish New project Plan and estimate

  66. You don’t have to know everything

  67. None
  68. zsmb13 zsmb.co/talks

  69. zsmb.co zsmb13 Android Complexity Márton Braun