Gone Mobile

91: ListViews and CollectionViews

January 26th, 2024

In this episode, Jon and Allan discuss the challenges and history of implementing lists in mobile apps. They start by addressing a listener question about the difference between CLI commands in MAUI and other UI frameworks. They then dive into the topic of dealing with lists in mobile apps, including the challenges of performance and dynamic sizing. They explore the history of list implementations on different platforms and the limitations of the current CollectionView in MAUI. They also discuss alternative list view controls and the misuse of observable collections in list views. In this episode, Allan and Jon discuss various aspects of building performant lists in mobile apps. They cover topics such as using observable collections for data in motion, optimizing list performance, choosing the right list control, and introduce the Virtualized List View plugin.


Implementing lists in mobile apps can be challenging due to performance and dynamic sizing issues.
The history of list implementations on different platforms, such as ListView, RecyclerView, and UICollectionView, has influenced the current state of CollectionView in MAUI.
The current CollectionView in MAUI tries to do too much and can be complex to use in certain scenarios.
Alternative list view controls, such as Sharpnado and Syncfusion, provide different approaches and features for handling lists in mobile apps.
Observable collections are often misused in list views, leading to performance issues. It is important to use them appropriately and consider using a regular list when the data is not changing frequently. Observable collections are useful for handling data in motion, such as real-time updates or changing distances.
Optimizing list performance should be done based on actual needs and user behavior, rather than prematurely optimizing for potential issues.
Consider the specific requirements of your app when choosing a list control, and don't be afraid to explore alternative solutions like Blazor or web technologies.
The Virtualized List View plugin by Jon is a powerful tool for building performant lists in Xamarin.Forms and can be a great solution for complex scenarios.


  • Hosts: Jon Dick, Allan Ritchie
  • Audio Engineer: Jim Heath


00:00 Introduction and Weather
01:14 Listener Question: CLI Command in MAUI
05:36 Topic: Dealing with Lists in Mobile Apps
19:35 History of List Implementations
25:51 Challenges with Collection View in MAUI
30:17 Alternative List View Controls
35:38 Observable Collections and List Views
39:18 Observable Collection and Data in Motion
46:11 Optimizing List Performance
52:26 Choosing the Right List Control
56:25 Virtualized List View Plugin
01:00:53 Optimizing List Performance (Continued)
01:04:08 Conclusion and Plug-in of the Week

Episode Comments