Skip to content

4Developers 2021: Xamarin & Apps with Modern UI

Bohdan Benetskyi

CommunityPROIDEA Events51 minOpen on YouTube ↗

Bohdan Benetskyi investigates 4Developers 2021: Xamarin & Apps with Modern UI.

Summary

### Overview In this presentation at 4Developers 2021, speaker Bohdan—a Microsoft MVP and .NET Foundation speaker—provides a comprehensive guide to building modern user interfaces using Xamarin.Forms. He discusses the current state of Xamarin and its upcoming evolution into .NET MAUI, outlines essential developer tools and community learning resources, and evaluates key NuGet packages and architectural frameworks. The session also walks through practical UI implementations inspired by modern design trends (including Neumorphism and complex animations) and concludes with pragmatic advice on mobile testing strategies.

### Key Topics - **Xamarin.Forms vs. Xamarin Native and .NET MAUI**: Why developers should focus on Xamarin.Forms over native solutions in 2021, and why it is recommended to start with Xamarin.Forms while waiting for .NET MAUI to stabilize and for NuGet packages to be ported. - **Tooling and IDEs**: Comparing Windows and macOS setups, highlighting Visual Studio with JetBrains ReSharper and JetBrains Rider, as well as the necessity of macOS environments for iOS builds. - **Community Resources and Inspiration**: Recommending podcasts, newsletters (Weekly Xamarin), blogs, and YouTube channels such as those run by James Montemagno, Gerald Versluis, Kinfey Lo, and Dweek/Dribbble UI recreators. - **Essential UI and Helper NuGet Packages**: Evaluating UI suites (Syncfusion, Telerik, DevExpress), core libraries (Xamarin.Essentials, Xamarin Community Toolkit), MVVM frameworks (MvvmCross, Prism, ReactiveUI), and specialized tools like PancakeView, SkiaSharp, MagicGradients, Lottie, and RGPlugins.Popup. - **Modern UI Implementations**: Techniques for card flip animations, path-based vector shapes and clipping, dark mode support via AppThemeBinding, parallax scrolling, CSS styling vs. XAML StyleClass, and realistic mobile testing philosophies.

### Technical Details - **MVVM Architecture**: Bohdan recommends established frameworks like MvvmCross or Prism for large enterprise apps, and lighter alternatives like FreshMvvm, MVVMLight, or Caliburn.Micro for smaller apps. Xamarin.Forms Shell is highlighted for unified navigation and routing, though integrating it with external MVVM frameworks can be challenging. For search scenarios needing rx throttling, the lightweight `debounce-windowing` package can replace the entire ReactiveUI dependency. - **Vector Shapes and Gradients**: Path and Ellipse geometries provide reliable rendering and image clipping across Android and iOS without the sizing artifacts common to older `BoxView` half-radius workarounds. MagicGradients (built on SkiaSharp) parses complex CSS gradients and provides a web-based playground of 700+ designs that can be pasted directly into XAML. - **Animation Mechanics**: Card flipping can be achieved using sequential rotations (`RotateTo(-90)`, swapping visibility, and rotating to `0`) and coordinating multiple animations using asynchronous tasks or `Task.WhenAll`. Lottie allows importing vector JSON animations with minimal boilerplate. - **Styling Architecture**: Combining inline CSS or XAML `StyleClass` attributes is recommended over rigid, monolithic static resource styles, allowing granular utility-style composition without creating dozens of rigid named styles.

### Takeaways Developers should focus on Xamarin.Forms version 5.0.0 for stability today and plan for an easy migration path to .NET MAUI once tooling matures. UI components should leverage community extensions like PancakeView, MagicGradients, and Sharpnado to deliver contemporary looks such as Neumorphism or glassmorphism. Finally, Bohdan cautions against dogmatic 100% test-driven development (TDD) or chasing full coverage in mobile UI code; instead, developers should target regression tests specifically to reproducible bugs in business logic or critical UI paths.

Related talks