<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: mtmattei</title>
    <description>The latest articles on Forem by mtmattei (@mtmattei).</description>
    <link>https://forem.com/mtmattei</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F790650%2F303d6952-19bd-4722-bade-a1333ea44ffc.png</url>
      <title>Forem: mtmattei</title>
      <link>https://forem.com/mtmattei</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/mtmattei"/>
    <language>en</language>
    <item>
      <title>10 XAML Binding Pitfalls That Trip Up Even Experienced .NET Developers</title>
      <dc:creator>mtmattei</dc:creator>
      <pubDate>Tue, 21 Oct 2025 02:47:16 +0000</pubDate>
      <link>https://forem.com/uno-platform/10-xaml-binding-pitfalls-that-trip-up-even-experienced-net-developers-3d3p</link>
      <guid>https://forem.com/uno-platform/10-xaml-binding-pitfalls-that-trip-up-even-experienced-net-developers-3d3p</guid>
      <description>&lt;p&gt;Binding in XAML is one of the cleanest ways to keep your UI and logic in sync. You just have to know how it thinks.&lt;/p&gt;

&lt;p&gt;Once you understand how {Binding} and {x:Bind} behave under the hood, how they resolve data, when they update, and what they quietly ignore, it stops feeling like magic and starts feeling like control.&lt;/p&gt;

&lt;p&gt;These are the ten common binding pitfalls that, once you spot them, make XAML feel like the powerful, predictable system it was meant to be.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Missing DataContext
&lt;/h2&gt;

&lt;p&gt;Your binding path looks correct but nothing displays. The Visual Studio XAML Binding Failures window shows "Cannot resolve symbol" errors. You forgot to set DataContext on the element or any of its ancestors.&lt;/p&gt;

&lt;p&gt;Fix it by setting DataContext explicitly in code-behind or XAML, or use ElementName or Source to bypass DataContext entirely. In WinUI 3, {x:Bind} uses the page or control itself as the default source instead of DataContext, so you might not need DataContext at all.&lt;/p&gt;

&lt;p&gt;For advanced scenarios where you need to bind to parent controls, check out &lt;a href="https://platform.uno/blog/ancestorbinding-powerful-data-binding-for-complex-ui-scenarios/?utm_source=dev-to&amp;amp;utm_medium=blog&amp;amp;utm_campaign=xaml-binding" rel="noopener noreferrer"&gt;AncestorBinding and complex UI hierarchies&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Binding path typos
&lt;/h2&gt;

&lt;p&gt;Runtime bindings fail silently when you misspell property names because the reflection engine simply doesn't find the property. {x:Bind} catches typos at compile time, but {Binding} won't.&lt;/p&gt;

&lt;p&gt;Switch to compiled bindings or use nameof(ViewModel.PropertyName) in code-behind scenarios. The XAML Binding Failures tool will surface typos in the error list during debugging.&lt;/p&gt;

&lt;p&gt;If you want a quick refresher on how binding expressions are parsed, the Uno.Extensions &lt;a href="https://platform.uno/docs/articles/external/uno.extensions/doc/Reference/Markup/Binding101.html?utm_source=dev-to&amp;amp;utm_medium=blog&amp;amp;utm_campaign=xaml-binding" rel="noopener noreferrer"&gt;Binding 101 guide&lt;/a&gt; walks through the fundamentals.&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Wrong default binding mode
&lt;/h2&gt;

&lt;p&gt;You use {x:Bind UserName} in a TextBox expecting two-way updates, but the value never propagates back to your ViewModel. WinUI's {x:Bind} defaults to OneTime, while {Binding} generally defaults to OneWay.&lt;/p&gt;

&lt;p&gt;Add Mode=TwoWay explicitly:{x:Bind UserName, Mode=TwoWay}&lt;/p&gt;

&lt;p&gt;Make this a code review checkpoint since it's easy to overlook.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important Note:&lt;/strong&gt;While {Binding} generally defaults to OneWay for most properties, certain editable properties like TextBox.Text, CheckBox.IsChecked, and Slider.Value default to TwoWay because they have BindsTwoWayByDefault metadata in their property definitions.&lt;/p&gt;

&lt;p&gt;This means will work for two-way updates without explicitly specifying Mode=TwoWay. However, {x:Bind} always defaults to OneTime regardless of any property metadata, so you must always specify Mode=TwoWay explicitly for editable controls:&lt;/p&gt;

&lt;p&gt;If you’d rather see real examples than theory, check out the &lt;a href="https://platform.uno/docs/articles/features/windows-ui-xaml-xbind.html?utm_source=dev-to&amp;amp;utm_medium=blog&amp;amp;utm_campaign=xaml-binding" rel="noopener noreferrer"&gt;x:Bind feature overview&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  4. UpdateSourceTrigger confusion
&lt;/h2&gt;

&lt;p&gt;Your TextBox binding only updates the ViewModel when the user tabs away, causing validation to feel sluggish. Both {Binding} and {x:Bind} default UpdateSourceTrigger for TextBox.Text is LostFocus.&lt;/p&gt;

&lt;p&gt;Change to UpdateSourceTrigger=PropertyChanged for live updates:{Binding UserName, UpdateSourceTrigger=PropertyChanged} or {x:Bind UserName, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}&lt;/p&gt;

&lt;p&gt;Be aware this increases update frequency, so validate efficiently.&lt;/p&gt;

&lt;h2&gt;
  
  
  5. Converter overuse
&lt;/h2&gt;

&lt;p&gt;You have dozens of IValueConverter classes converting booleans to visibility, numbers to strings, and dates to formatted text. Each converter invocation adds overhead and makes bindings harder to debug.&lt;/p&gt;

&lt;p&gt;In WinUI 3, replace converters with function bindings that call methods directly:{x:Bind local:Helpers.FormatDate(User.BirthDate)}&lt;/p&gt;

&lt;p&gt;Alternatively, add computed properties to your ViewModel that return pre-formatted values.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;WinUI 3 does not include a built-in BooleanToVisibilityConverter. Use CommunityToolkit.WinUI.Converters or implement your own. &lt;/p&gt;

&lt;p&gt;The best practice in modern WinUI 3 is to use function bindings with {x:Bind} which eliminate the need for converters entirely.&lt;/p&gt;

&lt;h2&gt;
  
  
  6. Performance regressions in lists
&lt;/h2&gt;

&lt;p&gt;Your list scrolls smoothly with 10 items but stutters with 1,000. You're using TwoWay bindings on read-only data, or you're triggering property change notifications too frequently during batch updates.&lt;/p&gt;

&lt;p&gt;Switch read-only bindings to OneWay or OneTime. When updating multiple properties, suspend change notifications, make all changes, then raise a single notification. Consider using {x:Bind} with OneTime mode for static list data.&lt;/p&gt;

&lt;h2&gt;
  
  
  7. Asynchronously loaded data issues
&lt;/h2&gt;

&lt;p&gt;Your bindings don't update when data loads asynchronously. The {x:Bind} initialization happens during the page's Loading event, before your async data arrives.&lt;/p&gt;

&lt;p&gt;After loading data asynchronously, force compiled bindings to update by calling this.Bindings.Update(). For frequently changing data, use OneWay bindings instead of OneTime.&lt;/p&gt;

&lt;h2&gt;
  
  
  8. x:DataType missing in DataTemplates
&lt;/h2&gt;

&lt;p&gt;Your DataTemplate bindings work but don't compile, losing all the performance benefits. Without x:DataType on the template, the compiler can't generate strongly typed code.&lt;/p&gt;

&lt;p&gt;Add x:DataType="local:ItemType" to your DataTemplate definition. This enables compiled bindings for all {x:Bind} expressions within the template:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;&amp;lt;DataTemplate x:DataType="local:Person"&amp;gt;&lt;br&gt;
    &amp;lt;TextBlock Text="{x:Bind Name}" /&amp;gt;&lt;br&gt;
&amp;lt;/DataTemplate&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  9. Casting required for object properties
&lt;/h2&gt;

&lt;p&gt;You have a property typed as object but actually containing a specific type. The binding {x:Bind MyObjectProperty.Title} results in a compile error because Title isn't found on type object.&lt;/p&gt;

&lt;p&gt;Add a cast to your path syntax:{&lt;br&gt;
&lt;code&gt;x:Bind ((local:MyType)MyObjectProperty).Title}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This tells the compiler the actual type at compile time.&lt;/p&gt;

&lt;h2&gt;
  
  
  10. Trimming and NativeAOT breaks bindings
&lt;/h2&gt;

&lt;p&gt;Your app works in debug but crashes in release when published with NativeAOT or full trimming enabled. Reflection-based bindings can't find properties because the linker removed metadata.&lt;/p&gt;

&lt;p&gt;Migrate to compiled bindings ({x:Bind}, x:DataType}).If you absolutely need runtime bindings for dynamic scenarios, use DynamicallyAccessedMembers attributes to preserve the required metadata. Uno Platform fully supports compiled bindings across all target platforms.&lt;/p&gt;

&lt;h2&gt;
  
  
  Quick Reference: {Binding} vs {x:Bind}
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;{Binding}&lt;/th&gt;
&lt;th&gt;{x:Bind}&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Default Mode&lt;/td&gt;
&lt;td&gt;OneWay (TwoWay for editable controls*)&lt;/td&gt;
&lt;td&gt;OneTime&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Compile-time checking&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Default source&lt;/td&gt;
&lt;td&gt;DataContext&lt;/td&gt;
&lt;td&gt;Page/Control&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Performance&lt;/td&gt;
&lt;td&gt;Reflection (slower)&lt;/td&gt;
&lt;td&gt;Compiled (faster)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;UpdateSourceTrigger default&lt;/td&gt;
&lt;td&gt;LostFocus&lt;/td&gt;
&lt;td&gt;LostFocus&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Function bindings&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Requires x:DataType in templates&lt;/td&gt;
&lt;td&gt;❌ No&lt;/td&gt;
&lt;td&gt;✅ Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Summary
&lt;/h2&gt;

&lt;p&gt;Bindings are sneaky. One minute your UI’s humming, the next, a blank screen with no clue why. It’s almost always the same villains: bad DataContext, wrong binding mode, or {Binding} doing reflection gymnastics behind your back.&lt;/p&gt;

&lt;p&gt;{x:Bind} fixes most of that. It compiles your bindings, catches typos before runtime, and runs faster because it skips reflection. Think of it as {Binding} after a few cups of coffee and a performance review.&lt;/p&gt;

&lt;p&gt;If you’re building with Uno Platform, use {x:Bind} by default. Keep {Binding} around only when things really have to stay dynamic. Add x:DataType, set your binding modes explicitly, and use the diagnostic tools. They may not be glamorous, but they will save your sanity.&lt;/p&gt;




&lt;p&gt;For a deeper look at how binding ties into broader cross-platform UI patterns, see &lt;a href="https://platform.uno/blog/xaml-fundamentals-for-web-mobile-advanced-binding-techniques/" rel="noopener noreferrer"&gt;XAML Fundamentals for Web, Mobile, and Advanced Binding Techniques&lt;/a&gt;. or If you want to see how Uno Platform implements this system under the surface, check out the &lt;a href="https://platform.uno/docs/articles/uno-development/Uno-UI-xBind-architecture.html?utm_source=dev-to&amp;amp;utm_medium=blog&amp;amp;utm_campaign=xaml-binding" rel="noopener noreferrer"&gt;Uno UI x:Bind architecture guide&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>xaml</category>
      <category>dotnet</category>
      <category>learning</category>
      <category>programming</category>
    </item>
    <item>
      <title>Why Microsoft Won't Revive WinForms (And What Developers Are Using Instead</title>
      <dc:creator>mtmattei</dc:creator>
      <pubDate>Tue, 30 Sep 2025 14:47:19 +0000</pubDate>
      <link>https://forem.com/mtmattei/why-microsoft-wont-revive-winforms-and-what-developers-are-using-instead-3bla</link>
      <guid>https://forem.com/mtmattei/why-microsoft-wont-revive-winforms-and-what-developers-are-using-instead-3bla</guid>
      <description>&lt;p&gt;When a &lt;a href="https://www.reddit.com/" rel="noopener noreferrer"&gt;Reddit thread about "reviving WinForms"&lt;/a&gt; pulls in 350+ comments, it tells you something.&lt;/p&gt;

&lt;p&gt;Developers still care about the fast iteration loop that WinForms nailed. Even if the framework itself is decades old.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"WinForms was ugly but damn was it fast."&lt;br&gt;
"If WinForms worked on macOS and Linux, I'd still be using it daily."&lt;br&gt;
"Microsoft will never revive WinForms. They barely keep it alive."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then there's the &lt;a href="https://developercommunity.visualstudio.com/t/XAML-Designer-for-Net-MAUI/10224319" rel="noopener noreferrer"&gt;XAML Designer for .NET MAUI thread&lt;/a&gt; on Visual Studio Developer Community. Started in December 2022. Over 3 years of developer requests for a visual designer.&lt;/p&gt;

&lt;p&gt;In September 2025, Microsoft closed the thread with this response:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"A drag-and-drop UI designer is not part of our direction for .NET MAUI. We're focused on providing a high-fidelity design-time experience through XAML Live Preview and Hot Reload."&lt;br&gt;
— Beth Massi, Microsoft [MSFT]&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The community response was... mixed:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Live Preview works fine after you build the UI. Then you don't need it." — Larry Leach&lt;br&gt;
"Microsoft need to realise that a drag and drop designer and a hot reload system serve two distinct functions. One allows for content creation, while the other allows for content debugging and testing." — David Newman&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;These two threads, one about nostalgia, one about current direction, point to the same gap.&lt;/p&gt;

&lt;p&gt;Microsoft isn't reviving WinForms. They're not building a designer for MAUI. But the need for a fast, reliable, visual UI workflow hasn't disappeared.&lt;/p&gt;




&lt;h2&gt;
  
  
  What WinForms Got Right (And What It Left Behind)
&lt;/h2&gt;

&lt;p&gt;WinForms worked because it was fast.&lt;/p&gt;

&lt;p&gt;You could drag controls, wire up events, and see results in minutes. For internal tools, dashboards, and small apps, nothing matched that loop.&lt;/p&gt;

&lt;p&gt;But it wasn't perfect:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Windows-only lock-in&lt;/strong&gt; limited its lifespan&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High-DPI scaling&lt;/strong&gt; was (and is) painful&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Designer mismatch&lt;/strong&gt;: what you saw at design-time rarely matched runtime&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Messy at scale&lt;/strong&gt;: small apps thrived, large ones turned brittle&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Developers didn't love WinForms because it was modern. They loved it because it let them move fast.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Microsoft Won't Revive It
&lt;/h2&gt;

&lt;p&gt;Microsoft has shifted focus.&lt;/p&gt;

&lt;p&gt;Their investment is in web, mobile, and cross-platform frameworks like MAUI and Blazor. WinForms still runs. But it isn't evolving.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Designers in general have been deprioritized&lt;/strong&gt;. Visual tools are expensive to build and maintain. The industry has moved toward code-first workflows. Microsoft's bet is on XAML Live Preview, Hot Reload, and AI-assisted development.&lt;/p&gt;

&lt;p&gt;From the official response on the MAUI thread:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"You should be able to efficiently create and iterate on your UI, particularly when paired with Copilot Vision."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This is the stated direction. XAML Live Preview for design-time feedback. Hot Reload for runtime iteration. Copilot for code assistance.&lt;/p&gt;

&lt;p&gt;The challenge? Many developers don't find this workflow as efficient as a visual designer. The feedback loop is still longer. You write XAML, preview it, adjust, repeat.&lt;/p&gt;

&lt;p&gt;But productivity gaps don't disappear because the tooling changes. The demand for faster UI iteration is still there. Both threads prove it.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Out There (And Why It's Still Not Enough)
&lt;/h2&gt;

&lt;p&gt;Let's talk about what already exists.&lt;/p&gt;

&lt;h3&gt;
  
  
  XAML Hot Reload and Live Preview
&lt;/h3&gt;

&lt;p&gt;Visual Studio has two features: &lt;a href="https://docs.microsoft.com/en-us/visualstudio/xaml-tools/xaml-hot-reload" rel="noopener noreferrer"&gt;XAML Hot Reload&lt;/a&gt; and &lt;a href="https://learn.microsoft.com/en-us/visualstudio/xaml-tools/xaml-live-preview" rel="noopener noreferrer"&gt;XAML Live Preview&lt;/a&gt;. Hot Reload lets you tweak XAML and see changes without rebuilding. Live Preview shows a real-time render of your XAML as you type.&lt;/p&gt;

&lt;p&gt;But both have limitations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Instability&lt;/strong&gt;: Hot Reload frequently breaks or requires restarts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Design-time vs runtime gap&lt;/strong&gt;: You're still editing code, not manipulating a live UI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Platform-specific&lt;/strong&gt;: Works best on Windows, less reliable for iOS/Android emulators&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preview-only&lt;/strong&gt;: Live Preview shows you the UI but you can't drag and drop controls&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  JetBrains Rider XAML Previewer
&lt;/h3&gt;

&lt;p&gt;Rider has a &lt;a href="https://www.jetbrains.com/help/rider/Settings_Tools_XAML_Preview.html" rel="noopener noreferrer"&gt;XAML previewer&lt;/a&gt; that works across platforms. It's faster than Visual Studio's. But:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;WPF-only&lt;/strong&gt;. No support for MAUI, UWP, or WinUI3&lt;/li&gt;
&lt;li&gt;Limited to &lt;strong&gt;preview-only&lt;/strong&gt;. You're still writing XAML by hand&lt;/li&gt;
&lt;li&gt;No drag-and-drop or visual manipulation&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  VS Code XAML Extensions
&lt;/h3&gt;

&lt;p&gt;Extensions like &lt;a href="https://marketplace.visualstudio.com/" rel="noopener noreferrer"&gt;XAML Complete&lt;/a&gt; add IntelliSense and snippets. But they're &lt;strong&gt;text-first tools&lt;/strong&gt;. They don't solve the core problem: the feedback loop is still too long.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The gap&lt;/strong&gt;: These tools are all improvements over writing raw XAML in Notepad. But none of them fully recreate the &lt;strong&gt;"drag, click, see it running"&lt;/strong&gt; experience that WinForms delivered across all major .NET UI frameworks. They're either preview-only, framework-specific, or still require the rebuild-redeploy cycle.&lt;/p&gt;

&lt;p&gt;Microsoft's position is that Live Preview and Hot Reload address this need. But for many developers coming from WinForms, the gap remains.&lt;/p&gt;




&lt;h2&gt;
  
  
  Hot Design: A Modern Take on the WinForms Loop
&lt;/h2&gt;

&lt;p&gt;If WinForms was the "fast, drag-drop, get-it-running" bedrock, &lt;strong&gt;&lt;a href="https://platform.uno/docs/articles/studio/Hot%20Design/hot-design-overview.html" rel="noopener noreferrer"&gt;Hot Design&lt;/a&gt;&lt;/strong&gt; is a modern, cross-platform successor built for the Uno Platform ecosystem.&lt;/p&gt;

&lt;p&gt;Here's how it works.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Mechanism
&lt;/h3&gt;

&lt;p&gt;Hot Design is a &lt;strong&gt;runtime visual designer&lt;/strong&gt;. It transforms your live, running app into a real-time design environment.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Changes you make in the designer are reflected in &lt;strong&gt;real, running UI&lt;/strong&gt;, not a render approximation&lt;/li&gt;
&lt;li&gt;You're manipulating actual controls with actual data contexts&lt;/li&gt;
&lt;li&gt;Works with real data or mock data sources&lt;/li&gt;
&lt;li&gt;Supports MVVM and MVUX architectures&lt;/li&gt;
&lt;li&gt;What you see is what you ship. No design-time vs runtime mismatch&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's IDE-agnostic. Works in Visual Studio, VS Code, and JetBrains Rider. The designer syncs instantly with your XAML code.&lt;/p&gt;

&lt;p&gt;The difference isn't just speed. It's &lt;strong&gt;flow&lt;/strong&gt;. You stay in the design context instead of context-switching between editor, compiler, and emulator.&lt;/p&gt;

&lt;h3&gt;
  
  
  How It Addresses WinForms' Gaps
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;WinForms Appeal / Gap&lt;/th&gt;
&lt;th&gt;How Hot Design Addresses It&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Drag-and-drop + fast loop&lt;/td&gt;
&lt;td&gt;Drag-and-drop + adjust UI in your running app, see changes instantly. No rebuild/deploy cycle&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Windows-only lock-in&lt;/td&gt;
&lt;td&gt;Runs on Windows, macOS, Linux, iOS, Android, and WebAssembly. IDE-agnostic (VS, VS Code, Rider)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scaling / DPI pain&lt;/td&gt;
&lt;td&gt;Test responsive layouts, switch themes, preview on remote devices in real-time&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Messy at scale&lt;/td&gt;
&lt;td&gt;Supports MVVM and MVUX architectures. Works with real or mock data sources&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Designer instability&lt;/td&gt;
&lt;td&gt;Built on Uno Platform's &lt;a href="https://github.com/unoplatform/uno" rel="noopener noreferrer"&gt;stable tooling&lt;/a&gt;, actively maintained since 2018. Integrates with Hot Reload&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Limited reach&lt;/td&gt;
&lt;td&gt;One codebase, multiple targets: iOS, Android, Web, Desktop&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Key difference&lt;/strong&gt;: Hot Design works at runtime, not design-time. Your app is running. You're designing in the live environment. That's how it avoids the preview vs runtime mismatch that plagued WinForms and still affects XAML Live Preview.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Designers Still Matter
&lt;/h2&gt;

&lt;p&gt;Developers are tired of the compile-debug dance.&lt;/p&gt;

&lt;p&gt;They want to see real changes in real time. That's what WinForms gave us. That's what we've lost in modern frameworks.&lt;/p&gt;

&lt;p&gt;Visual designers aren't about replacing code. They're about &lt;strong&gt;shortening the loop&lt;/strong&gt;. When you can preview real states, test across themes, and tweak layouts instantly, you save hours of context-switching.&lt;/p&gt;

&lt;p&gt;That's productivity. That's flow.&lt;/p&gt;

&lt;p&gt;A typical XAML tweak in MAUI takes &lt;strong&gt;30-60 seconds&lt;/strong&gt; (edit, build, deploy to emulator). Multiply that by dozens of tweaks per feature, and you're looking at significant time lost. Hot Design removes that cycle entirely.&lt;/p&gt;

&lt;p&gt;Hot Design isn't nostalgia. It's a reminder that visual feedback still matters. Especially when you're building cross-platform apps where complexity multiplies.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;Microsoft won't revive WinForms. But the gap it filled is still there.&lt;/p&gt;

&lt;p&gt;Fast, visual, low-friction UI work. That's what developers want.&lt;/p&gt;

&lt;p&gt;Hot Design isn't nostalgia. It's an attempt to solve the same problem WinForms solved, in a world where cross-platform is the default. Whether it's the right tool for you depends on your workflow and whether you're already in (or willing to adopt) the Uno Platform ecosystem.&lt;/p&gt;

&lt;p&gt;But if you've spent more time fighting XAML preview bugs than actually designing? Worth understanding what's possible.&lt;/p&gt;

&lt;p&gt;The WinForms iteration loop doesn't have to be a relic. It just needs to work across more than one platform.&lt;/p&gt;




&lt;h2&gt;
  
  
  Further Reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://platform.uno/docs/articles/studio/Hot%20Design/hot-design-overview.html" rel="noopener noreferrer"&gt;Hot Design Overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://platform.uno/docs/articles/external/uno.extensions/doc/HotDesign/hot-design-getting-started.html" rel="noopener noreferrer"&gt;Hot Design Getting Started&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://platform.uno/" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.reddit.com/" rel="noopener noreferrer"&gt;Reddit: Reviving WinForms Discussion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developercommunity.visualstudio.com/t/XAML-Designer-for-Net-MAUI/10224319" rel="noopener noreferrer"&gt;Visual Studio Developer Community: XAML Designer for .NET MAUI (Locked Thread)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/visualstudio/xaml-tools/xaml-hot-reload" rel="noopener noreferrer"&gt;XAML Hot Reload Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://learn.microsoft.com/en-us/visualstudio/xaml-tools/xaml-live-preview" rel="noopener noreferrer"&gt;XAML Live Preview Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jetbrains.com/help/rider/Settings_Tools_XAML_Preview.html" rel="noopener noreferrer"&gt;JetBrains Rider XAML Preview Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>discuss</category>
      <category>dotnet</category>
      <category>microsoft</category>
      <category>ui</category>
    </item>
    <item>
      <title>10 Productivity Killers when using XAML (and How Hot Design Fixes Them)</title>
      <dc:creator>mtmattei</dc:creator>
      <pubDate>Tue, 02 Sep 2025 18:13:15 +0000</pubDate>
      <link>https://forem.com/uno-platform/10-productivity-killers-in-xaml-development-and-how-hot-design-fixes-them-3n78</link>
      <guid>https://forem.com/uno-platform/10-productivity-killers-in-xaml-development-and-how-hot-design-fixes-them-3n78</guid>
      <description>&lt;p&gt;Look, we've all been there. You make a UI change, hit build, wait for the app to compile, launch it, navigate to the right screen, and... the button's still three pixels off. Rinse and repeat. By lunch, you've aged a year and accomplished what should've taken ten minutes.  &lt;/p&gt;

&lt;p&gt;It's 2025, and you're still playing the "change-compile-pray" game.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://platform.uno/docs/articles/studio/Hot%20Design/hot-design-overview.html" rel="noopener noreferrer"&gt;&lt;strong&gt;Hot Design&lt;/strong&gt;&lt;/a&gt; fixes that. With a single click, your running app becomes the designer. No context switching, no lost state, no rebuild purgatory. Just live editing where it matters&lt;/p&gt;

&lt;p&gt;So let’s talk about ten classic XAML UI headaches and how Hot Design finally puts them out of their misery.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Uno Platform Studio&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://platform.uno/studio/" rel="noopener noreferrer"&gt;Uno Platform Studio&lt;/a&gt; is the premium companion to the open-source Uno Platform. It brings together a set of productivity tools; Hot Design, Hot Reload, and Design to Code—that help you move faster when building cross-platform .NET apps. No matter what OS or IDE you prefer, Studio keeps your workflow consistent and efficient.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hot Design&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://platform.uno/hot-design" rel="noopener noreferrer"&gt;Hot Design&lt;/a&gt; is a visual editor that works while your app is running. You can pause the app, make changes to the UI and jump right back in without a rebuild or restart. Every tweak you make stays in sync with your source code, so you get the speed of live editing without losing the reliability of your codebase.E.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Why do I need a full rebuild for one UI change?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt; Every UI tweak requires a full rebuild. You spend more time watching progress bars than actually designing. Your coffee goes cold.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hot Design Solution:&lt;/strong&gt; Click once to turn your running app into a visual designer. Make your changes. Click again, and you're back in the app. No rebuild. No context switching. No existential crisis. Your changes happen in real-time on the actual running application, not some disconnected design-time surface.&lt;/p&gt;

&lt;h2&gt;
  
  
    &lt;iframe src="https://www.youtube.com/embed/MWiQmw0PU6w"&gt;
  &lt;/iframe&gt;

&lt;/h2&gt;

&lt;h2&gt;
  
  
  2. Why does my app look different at design time vs. runtime?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt; What you see in traditional designers rarely matches what you get at runtime. That perfect layout in the designer? It explodes when real data shows up. You're basically designing blind.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hot Design Solution:&lt;/strong&gt; You're designing on your actual running app with live data flowing through it. What you see is literally what you get because you're manipulating the real thing, not a simulation. No more surprises when you hit F5.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. How do I test my UI with real data, not mock data?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt; Mock data lies. Your beautifully crafted UI that handles five items gracefully turns into a dumpster fire with 500. You don't discover this until QA finds it. Or worse, production.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hot Design Solution:&lt;/strong&gt; Connect to your actual data sources and see how your UI behaves with real-world data: the good, the bad, and the "why does this user have 10,000 items in their cart?" Your data bindings update in real-time as you adjust them, so you catch issues while designing, not after shipping.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Do I really need to learn another UI designer??
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt; Most visual designers silo you into their unique environment. Different shortcuts, different workflows, different everything. You lose all your muscle memory and productivity tools.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hot Design Solution:&lt;/strong&gt; It works with Visual Studio, VS Code, or Rider, on any OS. Keep your key bindings, your extensions, your workflow. Hot Design adapts to you, not the other way around. Think WinForms designer, but cross-platform.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. How do I debug responsive layouts faster?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt; Testing responsive design means constantly resizing windows, switching device emulators, or maintaining a small electronics store worth of test devices. You miss edge cases until users with that one weird tablet complain.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hot Design Solution:&lt;/strong&gt; Switch between form factors with a single click. See instantly how your layout adapts to different screen sizes and orientations. Test on actual remote devices or emulators without redeploying. Find and fix layout issues before they find your users.&lt;/p&gt;

&lt;h2&gt;
  
  
    &lt;iframe src="https://www.youtube.com/embed/l5JifIG7pSs"&gt;
  &lt;/iframe&gt;

&lt;/h2&gt;

&lt;h2&gt;
  
  
  6. Do I really need to learn another flavor of XAML?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt; You know what you want the UI to look like but translating that into XAML feels like writing poetry in Klingon. You type, rebuild, check, curse, repeat.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hot Design Solution:&lt;/strong&gt; Changes in the visual designer instantly sync to your XAML code and vice versa. See the XAML generated as you build visually, or code your XAML and watch it render live. It's bidirectional learning: you get better at XAML while being productive.&lt;/p&gt;




&lt;h2&gt;
  
  
  7. How do I quickly test light and dark themes?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt; Supporting dark mode means testing everything twice. You inevitably miss that one label that becomes invisible in dark mode. Users notice. Twitter notices. Your manager notices.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hot Design Solution:&lt;/strong&gt; Toggle between light and dark mode with one click. See immediately how every element adapts. Fix theme issues on the spot, not after someone posts a screenshot of your invisible text on Reddit.&lt;/p&gt;




&lt;h2&gt;
  
  
  8. Where do I find the right property in XAML controls?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt; XAML controls have approximately infinity properties. Finding the right one requires scrolling through endless property panels or diving into documentation. Half your day disappears into property hunting.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hot Design Solution:&lt;/strong&gt; Smart Properties surfaces the most important and frequently used properties right when you need them. No more spelunking through hundreds of properties to find BorderThickness. The common stuff is right there, the esoteric stuff is still available when you need it.&lt;/p&gt;




&lt;h2&gt;
  
  
  9. Why don’t my custom controls show up in designers?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt; Your carefully crafted custom controls work great in code but turn into question mark boxes in designers. Third-party controls? Forget about it. You're designing around black boxes and hoping for the best.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hot Design Solution:&lt;/strong&gt; Custom and third-party controls render and behave exactly as they will at runtime because, well, they're actually running. See how that fancy chart component really looks with your data. Adjust properties and see real results, not placeholder rectangles.&lt;/p&gt;




&lt;h2&gt;
  
  
  10. How do I design for real app states?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The Problem:&lt;/strong&gt; Traditional designers don't understand your app's state. You design for one scenario, but your app has fifty different states. The designer shows a perfect world that doesn't exist once real user interactions begin.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hot Design Solution:&lt;/strong&gt; Your MVVM or MVUX patterns work normally because you're designing against your running app. State changes reflect immediately in the designer. Design for the actual states your app will be in, not some theoretical happy path. Your view models are live, your commands work, your data flows.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bottom Line
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://platform.uno/docs/articles/studio/Hot%20Design/hot-design-getstarted-guide.html" rel="noopener noreferrer"&gt;Hot Design&lt;/a&gt;isn't just another visual designer for developers. It's a fundamental rethinking of how we build UIs. It collapses the artificial boundaries between design-time and runtime, between mockups and production.  &lt;/p&gt;

&lt;p&gt;You stay in flow. You see the real results. You ship better apps faster.&lt;br&gt;&lt;br&gt;
And your coffee stays hot.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>frontend</category>
      <category>dotnet</category>
      <category>productivity</category>
    </item>
    <item>
      <title>3 more productivity tips for .NET developers</title>
      <dc:creator>mtmattei</dc:creator>
      <pubDate>Mon, 07 Oct 2024 19:37:30 +0000</pubDate>
      <link>https://forem.com/uno-platform/3-more-productivity-tips-for-net-developers-7dp</link>
      <guid>https://forem.com/uno-platform/3-more-productivity-tips-for-net-developers-7dp</guid>
      <description>&lt;p&gt;Welcome to the second edition of &lt;strong&gt;&lt;a href="https://dev.to/uno-platform/3-productivity-tips-for-net-developers-4mmo"&gt;&lt;em&gt;Productivity tips for .NET developers&lt;/em&gt;&lt;/a&gt;&lt;/strong&gt;. This time around, we didn’t just stick to the Uno Platform team—we reached out to fellow developers from the .NET community to hear how they stay productive. From discovering creative ways to use new tools to sticking with those tried-and-true habits, these tips offer something for everyone. &lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Daren May&lt;/strong&gt;&lt;br&gt;
We asked for 3 tips and ended up with 5 — talk about being productive!&lt;/p&gt;

&lt;p&gt;✨&lt;strong&gt;Top 3 Productivity Tips (+2 bonus tips):&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Customize Visual Studio Window Title&lt;/strong&gt;: Use the "Customize Visual Studio Window Title" extension to display repository and branch as well as the solution name in the VS title bar. This helps keep track of multiple instances of Visual Studio, repositories, and branches.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Embrace Command-Line and Scripting&lt;/strong&gt;: Don't overlook the power of the command-line and scripting. Visual Studio, build systems, and Git have many powerful command-line options. Invest time in learning their full capabilities and a scripting environment like PowerShell to enhance your workflow.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ask Questions Freely:&lt;/strong&gt; Don't be afraid to ask questions, regardless of your position or seniority. No one knows everything, and your team, peers, and the community can all assist when an answer doesn't spring to mind. Remember, the only dumb questions are the ones that aren't asked!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Invest in Ergonomics:&lt;/strong&gt; Pay attention to the ergonomics of your working environment. Factors like monitor height, standing desks, comfortable and supportive chairs, mouse, and keyboard can have a huge impact on your productivity and well-being over time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;**Continuous Learning: **Keep learning as nothing stands still in our field. What's considered best practice today might become legacy implementation tomorrow. Stay updated with the latest developments in the .NET ecosystem.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Follow Darren on&lt;/strong&gt;: &lt;a href="https://github.com/darenm" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; &amp;amp; &lt;a href="https://x.com/darenmay" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Leomaris Reyes (Microsoft MVP)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✨&lt;strong&gt;Top 3 Productivity Tips:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Resting is Part of Being Productive:&lt;/strong&gt; Recognize that rest is crucial for productivity. An overworked brain doesn't function properly. When you take breaks and disconnect completely, your brain gets to rest. This can significantly improve your efficiency when you return to work.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Take Care of Your Mental Health:&lt;/strong&gt; Pay attention to your mental health as much as your physical health. Listen to what your body tells you, whether good or bad. Don't hesitate to seek therapy when feeling exhausted, ask for a vacation when tired, or say "I can't" when overwhelmed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Learn to Say No:&lt;/strong&gt; Saying no is not a bad thing; it's both human and professional. Avoid overcommitting by saying yes to everything. Being selective about your commitments allows you to be 100% responsible for the tasks you do take on, leading to better quality work and less stress.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Follow Leomaris on:&lt;/strong&gt; &lt;a href="https://askxammy.com/" rel="noopener noreferrer"&gt;AskXammy&lt;/a&gt;&amp;amp; &lt;a href="https://x.com/LeomarisReyes11" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Andres Pineda&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✨&lt;strong&gt;Top 3 Productivity Tips:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Spend time learning your tools:&lt;/strong&gt; Whatever tool you use to work, learn your way around it. You might not believe the amount of time you can save by using the shortcuts that are part of your developer environment.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Keep easy wins&lt;/strong&gt;: We only sometimes have the chance to work on things that keep us motivated or when we have been working for a long time on the same task. In such situations, I often tackle low-hanging tasks that, after completion, will provide a sense of progress.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Organize your work around your most productive hour&lt;/strong&gt;s: There are times when you are more productive. Block that time in your calendar to focus solely on work&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Follow Andres on:&lt;/strong&gt; &lt;a href="https://github.com/ajpinedam" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&amp;amp; &lt;a href="https://x.com/ajpinedam" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;These productivity tips offer a range of strategies to help you work smarter, not harder. Whether it's leveraging new tools, improving ergonomics, or simply learning to say 'no,' there's something here for everyone to improve their workflow.&lt;/p&gt;

&lt;p&gt;Have your own tips to share? We’d love to hear them! Drop your tips in the comments below and follow Uno Platform for more insights and updates from the .NET developer community.&lt;/p&gt;

</description>
      <category>dotnet</category>
      <category>productivity</category>
      <category>csharp</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Is the Web Browser the Most Important Platform for App Development?</title>
      <dc:creator>mtmattei</dc:creator>
      <pubDate>Thu, 03 Oct 2024 14:52:41 +0000</pubDate>
      <link>https://forem.com/uno-platform/is-the-web-browser-the-most-important-platform-for-app-development-19el</link>
      <guid>https://forem.com/uno-platform/is-the-web-browser-the-most-important-platform-for-app-development-19el</guid>
      <description>&lt;p&gt;As technologies like WebAssembly (WASM) and Progressive Web Apps (PWAs) continue to push the boundaries of in-browser functionality, the distinction between web and native applications becomes increasingly blurred. This raises a key question: &lt;strong&gt;has the web browser become the most important platform for app development?&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Shift in App Development
&lt;/h2&gt;

&lt;p&gt;While native mobile and desktop apps continue to play a crucial role, web-based applications have come a long way. The reasons for this are clear: web browsers are everywhere, web technologies have dramatically improved, and the demand for cross-platform compatibility has surged.&lt;/p&gt;

&lt;p&gt;But is the browser now the best target platform for apps? To answer this, I’ll explore the advantages and challenges of web browsers for app development and assess whether they’ve become the go-to platform.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the Web Browser Stands Out
&lt;/h2&gt;

&lt;p&gt;It's widely acknowledged in the industry that the web browser has long served as a foundational platform for app development. This isn’t a new revelation; browsers have always been central in providing access to applications across devices. Their ubiquity, ease of deployment, and cross-platform nature are well-established advantages developers have leveraged for years. As these fundamentals remain strong, recent advancements in web technologies have further solidified the browser's position.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Web Browsers as a Ubiquitous Platform
&lt;/h3&gt;

&lt;p&gt;Web browsers are found on virtually every internet-connected device, from smartphones and tablets to desktops, smart TVs, and IoT devices. This ubiquity brings several benefits:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Global Reach&lt;/strong&gt;: A web-based application can be accessed by users around the world without needing platform-specific versions or app store approvals.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Seamless Updates&lt;/strong&gt;: I can push updates immediately, ensuring users always access the latest version.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-Device Consistency&lt;/strong&gt;: Users experience consistent performance and data continuity across multiple devices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With the introduction of WebAssembly, web browsers can now handle complex and computationally intensive tasks at near-native speeds:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;High-Performance Web Apps&lt;/strong&gt;: WebAssembly enables high-performance applications, such as games and video editors, to run in the browser.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Language Flexibility&lt;/strong&gt;: Developers can build web apps using languages like C#, C++, Rust, and Go, breaking away from the traditional reliance on JavaScript.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That said, WebAssembly’s ecosystem is still fragmented. Tools like &lt;a href="https://github.com/emscripten-core/emscripten" rel="noopener noreferrer"&gt;Emscripten&lt;/a&gt; (C/C++), &lt;a href="https://github.com/rustwasm/wasm-bindgen" rel="noopener noreferrer"&gt;wasm-bindgen&lt;/a&gt; (Rust), and JSGo (Go) serve different languages, but this complicates the standardization of interactions with web APIs, limiting broader WASM integration with web development.&lt;/p&gt;

&lt;p&gt;It’s worth noting that while WebAssembly is a significant advancement, most web apps don’t use it directly or rely on it as part of third-party libraries. Web development is much broader, encompassing WebGPU, Browser APIs, ECMAScript advancements, and new CSS specifications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://webgpufundamentals.org/" rel="noopener noreferrer"&gt;WebGPU&lt;/a&gt;&lt;/strong&gt;, the successor to WebGL, is particularly noteworthy because it provides direct access to the render and shader pipeline of the graphics card, bringing web performance closer to native for graphics-intensive applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Cross-Platform Development with Web Technologies
&lt;/h3&gt;

&lt;p&gt;Cross-platform frameworks have solidified the role of web technologies in app development:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unified Codebases&lt;/strong&gt;: Frameworks like &lt;a href="https://github.com/unoplatform/uno" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt; and &lt;a href="https://github.com/dotnet/maui" rel="noopener noreferrer"&gt;.NET MAUI&lt;/a&gt; enable developers to write once and deploy across web and native platforms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web-Centric Frameworks&lt;/strong&gt;: Web-based frameworks like Blazor or Flutter for Web allow developers to target web browsers with minimal additional effort.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost Efficiency&lt;/strong&gt;: Building a single app for multiple platforms reduces development and maintenance costs, making the browser appealing.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  3. Progressive Web Apps (PWAs): Bridging the Gap
&lt;/h3&gt;

&lt;p&gt;PWAs have revolutionized web apps by offering features traditionally found only in native apps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Native-like Experience&lt;/strong&gt;: PWAs allow offline access, push notifications, and device hardware integration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Instant Accessibility&lt;/strong&gt;: PWAs can be accessed directly via a browser, bypassing app store downloads.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automatic Updates&lt;/strong&gt;: PWAs ensure users have the latest version by updating themselves automatically.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, WebAssembly still faces challenges with browser integration, particularly with accessing the DOM (Document Object Model). While frameworks like Dioxus and Sycamore (Rust) have made progress, the lack of native DOM access remains a limiting factor for WASM's potential in web apps.&lt;/p&gt;

&lt;p&gt;It's worth noting that there's a growing "grey area" with hybrid solutions like Uno Platform, Electron, and Blazor Hybrid, which further blur the lines between web and native applications. These frameworks allow developers to leverage web technologies while still accessing native features, including local storage (HDD/SSD) access, balancing web flexibility and native capability.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Economic and Market Considerations
&lt;/h3&gt;

&lt;p&gt;From a business perspective, web apps offer significant advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Rapid Iteration&lt;/strong&gt;: Web apps can be updated instantly without the delays imposed by app store review processes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Lower Distribution Costs&lt;/strong&gt;: Web apps bypass app store fees, which can result in cost savings.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Market Flexibility&lt;/strong&gt;: Web apps allow businesses to test and iterate ideas quickly without committing to native development.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Web apps also offer significant advantages in terms of maintenance. Developers don't need to support multiple versions of their product across different platforms. Instead, they can focus on maintaining a single, up-to-date version that's immediately accessible to all users with a reasonably current browser. This streamlined approach to maintenance can lead to significant time and cost savings over the lifecycle of an application.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges of Web Browsers for App Development
&lt;/h2&gt;

&lt;p&gt;Despite its many advantages, web browsers are not always the ideal platform, especially when compared to native apps.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Hardware Utilization and Performance
&lt;/h3&gt;

&lt;p&gt;Native applications fully leverage a device’s hardware, offering advantages in:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;High-Performance Apps&lt;/strong&gt;: Applications requiring heavy computing power, such as 3D rendering or real-time video processing, are better suited to native platforms.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Device-Specific Features&lt;/strong&gt;: Native apps can better integrate with hardware features like cameras, GPS, and local storage.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;WebAssembly, though performant, still encounters specific bottlenecks. For example, string encoding mismatches (UTF-8 in Rust vs. UTF-16 in JavaScript) can cause performance hiccups. Additionally, WASM’s ability to fully harness hardware capabilities, particularly in browsers, is still evolving through projects like the WebAssembly System Interface (WASI).&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Offline Capabilities
&lt;/h3&gt;

&lt;p&gt;PWAs have improved offline functionality, but native apps generally provide more robust and reliable offline experiences. Apps like Google Maps, which rely on continuous background processing, still perform better as native applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. User Experience &amp;amp; Interface Design
&lt;/h3&gt;

&lt;p&gt;Native apps provide a more polished user experience because they can be fine-tuned to match each platform’s design guidelines. Web apps, on the other hand, may struggle to adapt to varying screen sizes and operating systems, leading to an inconsistent experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  WebAssembly: Promise and Challenges
&lt;/h2&gt;

&lt;p&gt;WebAssembly (WASM) holds immense potential for web development but also faces key challenges:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Fragmentation&lt;/strong&gt;: The WASM ecosystem remains fragmented, with different tools and approaches for various languages. This fragmentation hinders broader adoption and complicates the standardization of WASM interactions with web APIs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Standardization Efforts&lt;/strong&gt;: Projects like &lt;a href="https://wasi.dev/" rel="noopener noreferrer"&gt;WASI&lt;/a&gt; aim to create an ABI standard that facilitates better integration between WebAssembly and the host operating system. However, WASI’s full browser support, especially for web-specific APIs like WebGPU, is still a work in progress.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ongoing Development&lt;/strong&gt;: The WASM ecosystem is actively evolving, with updates to both WASM web APIs and the WASI component model.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;WASI is particularly important in this space. It aims to standardize how WebAssembly interacts with system interfaces, potentially allowing developers like me to write "almost OS-native" applications in any language that can be compiled to WebAssembly. This could enable WebAssembly to run efficiently not just in browsers but directly on operating systems, expanding its potential uses.&lt;/p&gt;

&lt;p&gt;That said, while WebAssembly and WASI hold great promise, they are still evolving technologies. Many successful web apps don’t rely on WebAssembly at all. The browser’s strength as a platform for app development comes from the entire ecosystem of web technologies, not just WebAssembly.&lt;/p&gt;

&lt;p&gt;For more details on WebAssembly’s evolving features, visit the WebAssembly Features page. To follow the development of WASM and related feature proposals, check out WebAssembly's GitHub repository.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hybrid Approaches: Bridging Web and Native Development
&lt;/h2&gt;

&lt;p&gt;Hybrid development frameworks, like &lt;a href="https://github.com/facebook/react-native" rel="noopener noreferrer"&gt;React Native&lt;/a&gt; and Uno Platform, address some of the trade-offs between web and native apps by allowing developers to write code that works across platforms:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React Native&lt;/strong&gt;: Allows JavaScript to interact with native components, enabling a native-like user experience with less platform-specific code.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Uno Platform&lt;/strong&gt;: Enables developers to build cross-platform applications with C# and XAML using a shared codebase that runs natively on various devices, allowing for a blend of performance and development efficiency.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  So, is the Browser the Most Important Platform?
&lt;/h2&gt;

&lt;p&gt;In short, the answer is yes—but it's complicated. The web browser has become a pivotal platform in app development thanks to its universal reach, ease of updates, and the advancements of technologies like WebAssembly and PWAs. For many developers, it's the go-to choice for building scalable, cross-platform applications quickly.&lt;/p&gt;

&lt;p&gt;Ultimately, the web browser's strength as a development platform comes from its entire ecosystem of technologies—from JavaScript and CSS to WebGL and emerging standards like WebGPU. While WebAssembly is an exciting part of this ecosystem, it's just one piece of the puzzle. The browser's ubiquity, coupled with the rapid pace of web technology advancements and the large pool of skilled web developers, makes it an increasingly attractive platform for a wide range of applications.&lt;/p&gt;

&lt;p&gt;So, is the browser the most important platform? It’s certainly up there, but whether it’s the most important depends on what your app needs to do—and how fast you need it to do it.&lt;/p&gt;

</description>
      <category>web</category>
      <category>discuss</category>
      <category>development</category>
    </item>
    <item>
      <title>The new wave: Top 10 emerging .NET content creators</title>
      <dc:creator>mtmattei</dc:creator>
      <pubDate>Tue, 03 Sep 2024 20:24:55 +0000</pubDate>
      <link>https://forem.com/uno-platform/the-new-wave-top-10-emerging-net-content-creators-28k3</link>
      <guid>https://forem.com/uno-platform/the-new-wave-top-10-emerging-net-content-creators-28k3</guid>
      <description>&lt;p&gt;Whether you’re diving into .NET best practices, learning about architectural principles, or trying to wrap your head around microservices, there’s always someone willing to break things down in a way that clicks. The wealth of knowledge available in .NET community —from newsletters and blogs to vlogs and technical articles—makes it easier to keep growing and stay current.&lt;/p&gt;

&lt;p&gt;We’ve grown accustomed to names like &lt;strong&gt;Scott Hanselman, Mary Jo Foley, Richard Campbell, and Tim Corey&lt;/strong&gt;. Influencers that have become staples, not just in social media but also on conference stages, in magazine articles, and beyond.&lt;/p&gt;

&lt;p&gt;But who are some of the newer .NET content creators who might one day reach the heights of these established figures? While this list is by no means exhaustive, it’s a great starting point to discover fresh perspectives and perhaps find a few creators you haven’t come across yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  The List
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Steven Giesel
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;About the author:&lt;/strong&gt; Steven Giesel is a .NET Developer, and Microsoft MVP based in Zurich, Switzerland He’s an active maintainer of multiple open-source libraries and is passionate about both sharing and gaining knowledge. If you're into clean code, best practices, and Blazor, Steven is someone you'll want to follow closely. He’s a passionate advocate for writing maintainable, efficient code and dives deep into software development's technical aspects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Main Content:&lt;/strong&gt; What I love about Steven’s content is how practical and accessible it is. He has this knack for breaking down complex topics like software architecture and design patterns into actionable .NET tips that you can immediately apply to your projects. His content isnt just educational—its easily digestable must-reads if you’re looking to sharpen your coding skills or enhance your software architecture know-how.&lt;/p&gt;

&lt;p&gt;If you're in Zurich, Steven regularly hosts meetups for the local .NET User Group, offering a great opportunity to connect and learn from him in person. He’s also recently launched a video series, which is another fantastic way to dive into his content.&lt;/p&gt;

&lt;p&gt;Follow Steven: &lt;a href="https://steven-giesel.com/" rel="noopener noreferrer"&gt;Blog&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/steven-giesel/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Milan Jovanovic
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;About the Author:&lt;/strong&gt;  Milan Jovanovic is a Software Architect and Microsoft MVP who’s been in the tech industry for years but whose personal content has clearly resonated with the .NET community. Milan is one of those people who genuinely enjoys mentoring others—he’s all about helping software engineers refine their .NET development skills and deepen their understanding of software architecture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Main Content:&lt;/strong&gt; Milan’s content is where I go when I need to get my head around architectural principles, microservices, or cloud-native applications. He has a gift for making complex topics feel manageable, no matter where you are in your developer journey. His practical and personable approach makes learning from him both enjoyable and impactful.&lt;/p&gt;

&lt;p&gt;Follow Milan: &lt;a href="https://www.milanjovanovic.tech/about" rel="noopener noreferrer"&gt;Blog&lt;/a&gt; | &lt;a href="https://x.com/mjovanovictech" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/milan-jovanovic/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://www.youtube.com/@MilanJovanovicTech" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Jade Wilson
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;About the Author:&lt;/strong&gt; Jade Wilson is a Senior Software Engineer at Microsoft, known for her deep expertise in agile methodologies and DevOps. With a strong passion for building scalable and maintainable solutions, Jade is dedicated to helping customers succeed in delivering high-quality software.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Main Content:&lt;/strong&gt; What I appreciate most about Jade’s work is how she brings agile and DevOps to life with real-world examples. Her advice is practical and easy to apply, regardless of the project you’re working on. She genuinely believes there’s no single “right” way to deliver software, and that open-mindedness makes her content feel like a conversation with a trusted mentor.&lt;/p&gt;

&lt;p&gt;Follow Jade: &lt;a href="https://www.linkedin.com/in/jade-codes/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://www.youtube.com/@Jade-Codes/videos" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Nick Randolph
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;About the author:&lt;/strong&gt; About the Author: Nick Randolph might not be the loudest voice on social media, but he’s a go-to resource for developers interested in Windows and multi-platform development. As a Microsoft MVP, Nick shares his wealth of knowledge in a down-to-earth and approachable way, both on Twitter and through his blog. Whether you're a seasoned pro or just starting out, Nick's insights are always worth the read.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Main Content:&lt;/strong&gt; Nick blog, "Nick's .NET Travels," is a treasure trove for developers interested in .NET, Windows, and cross-platform development. Covering everything from the latest in Uno Platform to practical guides on mobile and web development, Nick’s posts are designed to help developers navigate the evolving landscape of modern app development and offers a blend of technical depth and real-world applications that make it an essential resource for any developer.&lt;/p&gt;

&lt;p&gt;Follow Nick: &lt;a href="https://nicksnettravels.builttoroam.com/" rel="noopener noreferrer"&gt;Website&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Claudio Bernasconi
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;About the author:&lt;/strong&gt; Claudio Bernasconi is a seasoned Software Engineer with over a decade of experience in desktop, mobile, and web development, all with a strong focus on the .NET platform. In addition to his technical expertise, Claudio is passionate about mentoring junior developers and helping them grow their skills.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Main Content:&lt;/strong&gt; Claudio runs a popular .NET development YouTube channel where he shares his insights on process optimization, code quality, and building sustainable software systems. His content is perfect for developers looking to deepen their understanding of .NET and improve their overall coding practices. Claudio’s approachable style and commitment to quality make him a valuable resource for both new and experienced developers.&lt;/p&gt;

&lt;p&gt;Follow Claudio: &lt;a href="https://x.com/CHBernasconiC" rel="noopener noreferrer"&gt;Twitter &lt;/a&gt;| &lt;a href="https://www.youtube.com/claudiobernasconi" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/claudio-bernasconi-5ab06965/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Aram Tchekrekjian
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;About the Author:&lt;/strong&gt; Aram is a seasoned .NET developer passionate about cloud computing, DevOps, and web technologies. His expertise spans .NET, Web APIs, and Web Security, focusing on cloud-based .NET applications, DevOps practices, and CI/CD pipelines.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Main Content:&lt;/strong&gt; Aram is great at breaking down complex topics into bite-sized, easily digestible pieces. His carousels are always on point, and his blog, CodingSonata.com, pairs concise explanations of .NET concepts with classical music—how cool is that? Whether you're into cloud-based .NET applications or DevOps practices, Aram's content is as insightful as it is enjoyable.&lt;/p&gt;

&lt;p&gt;Follow Aram: &lt;a href="https://codingsonata.medium.com/build-a-dictionary-app-using-uno-platform-49cd1d7bd4d7" rel="noopener noreferrer"&gt;Blog &lt;/a&gt;| &lt;a href="https://x.com/AramT87" rel="noopener noreferrer"&gt;Twitter &lt;/a&gt;| &lt;a href="https://www.linkedin.com/in/aramt87/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  7. Leomaris Reyes
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;About the Author:&lt;/strong&gt; Leomaris Reyes has quickly made a name for herself in the .NET community, and it’s easy to see why. As a Microsoft MVP, she’s a passionate advocate for modern software development practices and a strong supporter of women in STEM.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Main Content:&lt;/strong&gt; Leomaris is the go-to person for anything related to .NET MAUI. Her content is comprehensive, from detailed UI tutorials to advanced coding techniques. If you’re diving into cross-platform development or .NET MAUI, you’ll find her content invaluable.&lt;/p&gt;

&lt;p&gt;Follow Leomaris: &lt;a href="https://askxammy.com/" rel="noopener noreferrer"&gt;Blog&lt;/a&gt; | &lt;a href="https://x.com/LeomarisReyes11" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;| &lt;a href="https://www.linkedin.com/in/leomaris-reyes-1b598661/" rel="noopener noreferrer"&gt;LinkedIn &lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  8. Martin Zikmund
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;About the Author:&lt;/strong&gt; I might be a bit biased since I work with him, but Martin Zikmund’s credentials speak for themselves. He’s a fantastic .NET developer, a Microsoft MVP, and a key contributor to the Uno Platform community—plus, he’s still holding out hope for a Windows phone comeback!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Main Content:&lt;/strong&gt; Martin’s posts are packed with insights into cross-platform development, especially when it comes to Uno Platform and Windows technologies. His content is clear, accessible, and incredibly useful for developers at any level. If you’re looking to make cross-platform development more straightforward, Martin’s work is where you should start.&lt;/p&gt;

&lt;p&gt;Follow Martin: &lt;a href="https://mzikmund.dev/" rel="noopener noreferrer"&gt;Blog &lt;/a&gt;| &lt;a href="https://mzikmund.dev/" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; | &lt;a href="https://www.linkedin.com/in/mzikmund" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://www.youtube.com/channel/UCB6Td35bzTvcJN_HG6TLtwA" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  9. Nick Cosentino
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;About the Author:&lt;/strong&gt; I recently stumbled onto Nick's content and really took to it. Maybe it's because he is a fellow Canadian, or maybe it is just that his passion resonates in his content. Not just a .NET enthusiast—he’s a passionate open-source contributor and, someone I’m excited to follow. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Main Content:&lt;/strong&gt; Nick’s work spans a wide range of topics, from .NET performance optimization to open-source contributions. What I really appreciate is how he blends technical insights with the perspective of a software engineering manager. His focus on community engagement and knowledge sharing makes his content both informative and relatable.&lt;/p&gt;

&lt;p&gt;Follow Nick: &lt;a href="https://www.devleader.ca/" rel="noopener noreferrer"&gt;Website&lt;/a&gt; | &lt;a href="https://x.com/DevLeaderCa" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;| &lt;a href="https://www.linkedin.com/in/nickcosentino/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; | &lt;a href="https://www.youtube.com/@devleader" rel="noopener noreferrer"&gt;YouTube&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Oleg Kyrylchuk
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;About the author:&lt;/strong&gt; Oleg Kyrylchuk is a software engineer who specializes in .NET technologies and scalable systems. His deep dives into performance tuning and distributed systems are nothing short of impressive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Main Content:&lt;/strong&gt; Oleg’s content is all about tackling advanced .NET topics and solving complex technical challenges. If you’re looking to improve your understanding of C# concepts, performance tuning or distributed systems, Oleg’s posts and newsletter are a fantastic resource.&lt;/p&gt;

&lt;p&gt;Follow Oleg: &lt;a href="https://okyrylchuk.dev/" rel="noopener noreferrer"&gt;Newsletter&lt;/a&gt;| &lt;a href="https://x.com/okyrylchuk" rel="noopener noreferrer"&gt;Twitter &lt;/a&gt;| &lt;a href="https://www.linkedin.com/in/okyrylchuk/" rel="noopener noreferrer"&gt;LinkedIn &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’m sure there are plenty of amazing .NET content creators we didn’t get to cover, so if we missed one of your favorites, drop their names in the comments! We’d love to hear about them.&lt;/p&gt;

&lt;p&gt;If you’re looking for even more .NET content creators, I highly recommend the &lt;a href="https://github.com/matthiasjost/dotnet-content-creators" rel="noopener noreferrer"&gt;dotnet-content-creators list by Matthias&lt;/a&gt;—it’s one of the best and most up-to-date resources for finding creators of all kinds in the .NET community&lt;/p&gt;

</description>
      <category>learning</category>
      <category>dotnet</category>
      <category>developer</category>
      <category>community</category>
    </item>
    <item>
      <title>3 productivity tips for .NET developers</title>
      <dc:creator>mtmattei</dc:creator>
      <pubDate>Tue, 16 Jul 2024 18:57:35 +0000</pubDate>
      <link>https://forem.com/uno-platform/3-productivity-tips-for-net-developers-4mmo</link>
      <guid>https://forem.com/uno-platform/3-productivity-tips-for-net-developers-4mmo</guid>
      <description>&lt;p&gt;The .NET ecosystem provides a variety of tools, and libraries designed to boost your productivity. However, there's invaluable insight to be gained from experienced developers who've honed their skills over the years. &lt;/p&gt;

&lt;p&gt;To uncover these tips and tricks, we reached out to some of our seasoned &lt;a href="https://platform.uno/" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt; developers. They've generously shared practical advice that has boosted their productivity—and can do the same for you&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Dan Siegel&lt;/strong&gt; - Microsoft MVP&lt;br&gt;
&lt;strong&gt;Years of experience:&lt;/strong&gt; 28 years writing code (14 full-time / professionally)&lt;br&gt;
&lt;strong&gt;Dev Environment:&lt;/strong&gt; Visual Studio on Windows&lt;br&gt;
&lt;strong&gt;Favorite Library:&lt;/strong&gt; &lt;a href="https://github.com/PrismLibrary/Prism" rel="noopener noreferrer"&gt;Prism&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dan’s Top 3 Productivity Tips:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Step Away: Take breaks away from your computer. Many solutions to complex issues come to mind when you're not actively working on them.&lt;br&gt;
“Honestly, you'd be surprised how many answers/solutions I come up with for things I'm working on when I walk away from the computer and go to lunch. I have even fixed bugs or come up with radical ideas for solving a complex issue while I'm on the dive boat. Software development is a creative process... and many times you need to get away from the computer to let your brain solve problems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Development is a team sport. No matter how good you think you can make something, you’ll make something better collaborating with someone else. Sometimes, the simple exercise of explaining it to someone else can lead to mind-blowing breakthroughs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When you’re working with open-source code, don’t be afraid to look at the code. You’d be amazed at how many things you’ll have a better understanding of just by looking at the code, and how many possibilities that will unlock for you.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Follow Dan on: &lt;a href="https://github.com/dansiegel" rel="noopener noreferrer"&gt;GitHub &lt;/a&gt;&amp;amp; &lt;a href="https://x.com/DanJSiegel" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Martin Zikmund&lt;/strong&gt; - Microsoft MVP&lt;br&gt;
&lt;strong&gt;Years of experience:&lt;/strong&gt; 15 years&lt;br&gt;
&lt;strong&gt;Dev Environment:&lt;/strong&gt; Visual Studio on Windows&lt;br&gt;
&lt;strong&gt;Favorite Library:&lt;/strong&gt;  &lt;a href="https://github.com/unoplatform/uno" rel="noopener noreferrer"&gt;Uno Platform&lt;/a&gt; (of course 😁)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Martin’s Top 3 Productivity Tips:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Invest in workplace: If you have control over your environment, investment into everything you are using while working is a worthwhile investment. This means a quality PC to ensure its performance does not hinder your efficiency; comfortable chair to save your back; standing desk; and ergonomic keyboard and mouse. You are likely spending a lot of time at your PC, so any investments in this regard are worthwhile as they will return to you in both health and time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use PowerToys: Don’t get me wrong, Windows is a productive OS out of the box, however, you can make it even better by extending it with useful tools. And one of the best comes directly from Microsoft – PowerToys! It is a set of small modules that enhance the OS in ways that will make it hard to imagine your life without after you integrate it into your workflow. I am currently making a series of videos about this on my YouTube channel, if you want to learn more!  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Know your shortcuts: Nothing can speed up your work as much as knowing keyboard shortcuts of your IDE and other apps you use frequently. Just not having to reach for your mouse and being able to keep your hands on the keyboard saves a surprising amount of time! So, find the list of keyboard shortcuts, print it out, and start learning them as you go. My trick to learn faster is to put your mouse on the side of your non-dominant hand for 30 minutes. Just the fact that the mouse is not where you expect it will make force you to think whether using a keyboard shortcut could be better for that specific task!&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Follow Martin on:&lt;/strong&gt; &lt;a href="https://github.com/MartinZikmund" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; &amp;amp; &lt;a href="https://x.com/mzikmunddev" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Steve Bilogan&lt;/strong&gt; - Microsoft MVP&lt;br&gt;
&lt;strong&gt;Years of experience:&lt;/strong&gt; 8.5 years&lt;br&gt;
&lt;strong&gt;Dev Environment:&lt;/strong&gt; Visual Studio on Windows / VS Code on macOS&lt;br&gt;
&lt;strong&gt;Favorite Library:&lt;/strong&gt;  unoplatform/uno.toolkit.ui&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Steve’s Top 3 Productivity Tips:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Take a walk, every couple of hours or whenever needed: walk around the block, let your mind wander, decompress, and come back fresh.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Visual Studio CTRL+T Quick Search can search by just the capital letters. Example: Searching for RDP.xaml will resolve properly to RecipeDetailsPage.xaml&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open on GitHub - Visual Studio Marketplace Great extension for quickly opening the highlighted lines in the browser from the GitHub repo. Great for needing to quickly grab the link to lines that you are talking about when communicating on Teams&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Follow Steve on: &lt;a href="https://github.com/kazo0" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; &amp;amp; &lt;a href="https://x.com/BiloganSteve" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Youssef Victor&lt;/strong&gt; - Microsoft MVP&lt;br&gt;
&lt;strong&gt;Years of experience:&lt;/strong&gt; 2 years&lt;br&gt;
&lt;strong&gt;Dev Environment&lt;/strong&gt;: Visual Studio on Windows&lt;br&gt;
&lt;strong&gt;Favorite Library:&lt;/strong&gt; NodaTime, PolySharp &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Youssef’s Top 3 Productivity Tips:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Master Keyboard Shortcuts: Learn to use Visual Studio's Quick Search (Ctrl+T) to navigate quickly through both your code and IDE features.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Leverage Multi-Caret Editing: Use your editor's multi-caret functionality in specific situations where it can significantly speed up your editing process. This allows you to edit multiple locations in your code simultaneously.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Consider using grep.app for advanced text searching within your codebase. It offers more powerful search capabilities than the basic search functions within your editor.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Follow Youssef on: &lt;a href="https://github.com/Youssef1313" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; &amp;amp; &lt;a href="https://x.com/YoussefV1313" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Nick Randolph&lt;/strong&gt; - &lt;strong&gt;Microsoft MVP&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Years of experience:&lt;/strong&gt; 30 years&lt;br&gt;
&lt;strong&gt;Dev Environment:&lt;/strong&gt; Windows (Desktop) + VS&lt;br&gt;
&lt;strong&gt;Favorite Library:&lt;/strong&gt; Moq for mocking interfaces for testing&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nicks Top 3 Productivity Tips:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Better team work through focused, and frequent pull requests.&lt;/li&gt;
&lt;li&gt; Release when features are complete rather than try to hit arbitrary deadlines&lt;/li&gt;
&lt;li&gt; Don't spin cycles; If you're stuck reach out to someone for help.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Follow Nick on: &lt;a href="https://github.com/nickrandolph" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; &amp;amp; &lt;a href="https://x.com/thenickrandolph" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>dotnet</category>
      <category>csharp</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
