Gone Mobile
00:00:00
/
01:10:28

104: The one about XAML!

April 26th, 2024

The conversation covers topics related to coffee-making methods and the use of XAML in app development. The hosts discuss their preferences for coffee machines and the process of making coffee. They also delve into the use of converters in XAML and the debate between putting logic in the view model or the view. The conversation explores the use of converters, extensions, and behaviors in XAML and their potential drawbacks. It also discusses the benefits of using compiled bindings and the importance of declaring data types in XAML for improved performance. The conversation touches on the use of XAML in Blazor and the potential future of XAML in web development. In this conversation, Jon and Allan discuss various optimization techniques for Xamarin.Forms and .NET MAUI apps. They cover topics such as compiled bindings, the performance impact of converters in collection views, optimizing XAML layouts, and the use of third-party libraries like Sharpnado CollectionView. They also touch on the challenges of building responsive layouts and the importance of considering platform-specific optimizations. Overall, the conversation provides valuable insights into improving the performance of Xamarin.Forms and .NET MAUI apps.

Takeaways

  • There are different preferences for coffee-making methods, from simple machines like Keurig to more complex ones like Chemex.
  • XAML can be verbose, and there is a debate about whether to put logic in the view model or the view.
  • Converters in XAML can be useful for transforming data, but it's important to avoid excessive use and keep business logic separate.
  • Localization in XAML can be done using dictionary strings and bindings, without the need for extensions.
  • The use of AI for auto-localization and translation is an interesting possibility.
  • In some cases, it may be beneficial to handle certain UI-related tasks in the view, even if it goes against the purist approach of separating concerns. Converters, extensions, and behaviors in XAML can be powerful but should be used judiciously and not overused.
  • Compiled bindings and X-bind can be alternatives to converters and provide better performance.
  • Declaring data types in XAML can improve performance and enable better IntelliSense.
  • XAML can be used in Blazor, but the heavier the reliance on XAML, the more challenging it may be to migrate to Blazor.
  • The future of XAML in web development is uncertain, with the web being the dominant platform. Compiled bindings can significantly improve the performance of Xamarin.Forms and .NET MAUI apps by eliminating the need for runtime reflection.
  • Converters in collection views can introduce performance overhead, especially when used extensively. It's important to minimize their usage and consider alternative approaches.
  • Optimizing XAML layouts involves avoiding unnecessary nesting of controls, using bindable grids instead of content views, and being mindful of the performance implications of stack layouts and scroll views.
  • Third-party libraries like Sharpnado CollectionView can provide additional performance optimizations and features for collection views in Xamarin.Forms and .NET MAUI apps.
  • Building responsive layouts can be challenging, and platform-specific optimizations may be necessary to achieve optimal performance.
  • Consider leaving a review on Apple Podcasts and checking out the Gone Mobile YouTube channel for more content.

People

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

Chapters

  • 00:00 The Art of Coffee-Making: From Keurig to Chemex
  • 09:39 The Power and Pitfalls of Converters in XAML
  • 35:28 The Power of Compiled Bindings and X-bind in XAML
  • 45:21 Challenges of Migrating XAML-heavy Apps to Blazor
  • 55:17 Challenges of Building Responsive Layouts
  • 01:04:59 Leaving Reviews and Exploring the Gone Mobile YouTube Channel

Episode Comments