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

Pragmatic Flexible UI

Pragmatic Flexible UI

“Um… can a UI library allow its consumers to control look and feel of the UI entirely, not just the theming aspect, and yet rely on the shared code to bind data to UI elements?” Yes, this is possible through a View ID Map solution. In this session, I will share my experience of working for a shared library, how “View ID Map” solution allowed the library to make UI flexible enough, so that the consuming apps could implement UI that conforms to their brand.

Sunitha Burri

August 15, 2019
Tweet

More Decks by Sunitha Burri

Other Decks in Technology

Transcript

  1. Apps are Solving the Same Problem over and over again!

    Networking code to fetch content UI Rendering Persistence Error Handling Testing
  2. Summary Implement Custom View • Default Layout • Publish View

    Id Contract • Add capability to take in a custom layout Consumer of Custom View • Custom Layout following View Id Contract • Create Custom View by passing Custom Layout
  3. Summary Implement Custom View • Default Layout • Publish View

    Id Contract • Add capability to take in a custom layout Consumer of Custom View • Custom Layout following View Id Contract • Create Custom View by passing Custom Layout • Do not include any views that are unnecessary for consumer • Get hold of any consumer specific views and bind data/handle events
  4. Summary onCreateViewHolder() - keep track of Custom View in View

    holder - Default layout/Custom layout onBindViewHolder() - delegate binding of data to custom view through View holder
  5. Focus on Performance App cold start time UI rendering issues

    Track perf metrics Automation testing that covers all possibilities
  6. Sharing to What Extent? Looking way forward in to Future

    Enhancements Supporting Instant apps!