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

Android Complexity (Android Budapest Meetup - March* 2021)

Android Complexity (Android Budapest Meetup - March* 2021)

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

April 01, 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)

  8. UX Internationalization (i18n) String resources

  9. UX Internationalization (i18n) Date formats String resources

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

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

    Right to left
  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) <resources> <plurals name="numberOfSongsAvailable"> <item quantity="one">%d song found.</item>

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

  15. UX Dark theme

  16. UX Dark theme

  17. UX Animation

  18. UX Animation

  19. UX Animation

  20. UX Animation

  21. UX Animation

  22. UX Jetpack Compose?

  23. Platform

  24. Platform Restoration Configuration changes

  25. Platform Restoration Configuration changes Orientation

  26. Platform Restoration Configuration changes Orientation Dark mode Language Font size

  27. Platform Restoration Configuration changes Process death Orientation Dark mode Language

    Font size
  28. Platform Screens

  29. Platform Screens

  30. Platform Screens

  31. Platform Screens

  32. Platform Screen settings

  33. Platform Screen settings – font size

  34. Platform Screen settings – display size

  35. Platform App shortcuts

  36. Platform App shortcuts

  37. Platform Notifications

  38. Platform Notifications

  39. Platform Notifications

  40. Platform Background work

  41. Platform Non-phones

  42. Platform Non-phones

  43. Platform Inputs

  44. Platform Inputs

  45. Platform Inputs

  46. QA

  47. QA Static analysis

  48. QA Unit tests

  49. 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())) }
  50. QA Performance profiling

  51. QA APK size

  52. Tooling

  53. Tooling Language

  54. Tooling Language

  55. Tooling Language

  56. Tooling Version control

  57. Tooling CI/CD

  58. Tooling Alternative stores Amazon Appstore Galaxy Store Huawei AppGallery

  59. Tooling Crash reporting

  60. Tooling Analytics

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

  62. You don’t have to know everything

  63. zsmb13 zsmb.co/talks

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