Android Complexity

Android Complexity

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

4047c64e3a1e2f81addd4ba675ddc451?s=128

Marton Braun

July 24, 2020
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) Start of week Date formats String resources

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

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

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

  11. UX Animation

  12. UX Animation

  13. UX Animation

  14. UX Animation

  15. UX Animation

  16. UX Dark theme

  17. UX Dark theme

  18. Platform

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

    Font size
  20. Platform Screens

  21. Platform Screens

  22. Platform Screens

  23. Platform Screen settings

  24. Platform Screen settings

  25. Platform Screen settings

  26. Platform App shortcuts

  27. Platform Notifications

  28. Platform Notifications

  29. Platform Notifications

  30. Platform Non-phones

  31. Platform Non-phones

  32. Platform Inputs

  33. QA

  34. QA Static analysis

  35. QA Unit tests

  36. 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())) }
  37. QA Performance profiling

  38. QA APK size

  39. Tooling

  40. Tooling Version control

  41. Tooling CI/CD

  42. Tooling Crash reporting

  43. Tooling Analytics

  44. Tooling Alternative stores Amazon Appstore Galaxy Store Huawei AppGallery

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

  46. You don’t have to know everything

  47. zsmb13 zsmb.co/talks

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