Logo

dev-resources.site

for different kinds of informations.

WPF App Modernisation: A Pragmatic Approach

Published at
10/13/2023
Categories
wpf
dotnet
csharp
xaml
Author
mikecodesdotnet
Categories
4 categories in total
wpf
open
dotnet
open
csharp
open
xaml
open
Author
15 person written this
mikecodesdotnet
open
WPF App Modernisation: A Pragmatic Approach

In the world of desktop application development, continuity and stability often trump the allure of new frameworks. Notably, 58% of professional desktop developers stick with the familiar, avoiding radical changes to their applications. The predominant drive is maintaining or modernising applications within the familiar confines of their existing UI technologies. This preference is not without merit; developers find comfort in the known, and a lower developmental cost comes with familiarity. Rewriting an application is a significant financial and operational risk.

Cross-Platform UI Toolkits

That's not to say some teams aren't seriously considering their modernisation strategy. While WPF is stable and proven, it is limited to Windows at a time when more and more applications need to run on various operating systems and form factors. Before Avalonia XPF, WPF developers had limited options. One option would be to migrate to a cross-platform UI toolkit, such as Avalonia, Qt or Flutter, with the best-case scenario enabling some code reuse and the worst case requiring a complete application rewrite.

Web

The alternative to a cross-platform UI toolkit has been embracing Web technologies, whether Electron or moving to the cloud. It's hard to ignore the allure of web technology's ease of deployment, albeit at the potential expense of performance and productivity.

Why modernise

With so many mission-critical WPF applications in active development, the discussion of modernisation is buzzing. Why the discourse on modernisation, you ask? The answer is twofold: new platforms equate to an expanded target market and a resilient, future-proof application portfolio. The pathway to modernisation, however, is a strategic decision. Rewriting is an expensive endeavour, irrespective of the technology chosen. The crossroads broadly split into native cross-platform (embodied by Flutter, QT, Avalonia, etc...) or the web. Amongst the native cross-platform contenders, Avalonia emerges as the frontrunner in facilitating code reuse, a significant cost and time efficiency advantage. That isn't to say that Avalonia (our open-source, cross-platform UI toolkit) doesn't require some changes to your WPF app. It's WPF-inspired but not binary-compatible.

Avalonia XPF

If you need WPF binary compatibility, then Avalonia XPF has emerged as a solution to modernisation. It offers a path to new platforms without necessitating a seismic shift and rewriting existing applications. We typically see customers running their complex WPF application on new platforms within only a few hours of receiving a trial license! The attraction towards Avalonia XPF stems from a pragmatic standpoint; it's a fast and affordable conduit to broader market reach without the enormous risk of rewriting applications from scratch in a different technology.

Avalonia XPF shines distinctly, enabling full reuse of existing WPF code and 3rd party controls while providing performance improvements and new platforms. It's a proposition of extending the life and reach of your applications without a daunting overhaul.

There isn't a one-size-fits-all answer to app modernisation. It's a journey tailored to individual applications and a team's long-term vision. Engaging in a dialogue on modernisation, understanding the nuances and making informed decisions is the essence of staying ahead. We at Avalonia are at the helm to discuss, advise, and help you navigate the modernisation maze.

Next Steps

If you'd like to test your WPF applications on macOS or Linux, then sign up for a 30-day trial of Avalonia XPF.


Remember to download our XPF Sample app, FamilyShow. The classic WPF sample app is now available on macOS and Linux!

FamilyShow App on macOS

xaml Article's
30 articles in total
Favicon
WPF App Modernisation: A Pragmatic Approach
Favicon
Migrando Mitawi a .NET MAUI
Favicon
Using the new Composition Renderer in Avalonia 11
Favicon
Turning it up to 11!
Favicon
Improvements to XAML tooling in Visual Studio 2019 version 16.7 - iFour
Favicon
What’s new in Xamarin.Forms – XAML
Favicon
NightSwitcher
Favicon
Case Study - Fluent Search
Favicon
A beautiful profile page UI with xaml in xamarin forms
Favicon
Cheat Sheet for Path Markup Syntax
Favicon
Code Generation from XAML in Visual Studio is Mind-blowing Awesome
Favicon
Explore the SpaceX GraphQL API by building a Xamarin Forms app
Favicon
Utiliser des images vectorielles SVG dans Xamarin.Forms
Favicon
Créer un contrôle réutilisable 100% Xamarin.Forms, partie 2
Favicon
Créer un contrôle réutilisable 100% Xamarin.Forms, partie 1
Favicon
[Xamarin.Forms] MVVM - 1 - A quoi ça sert ?
Favicon
Déclaration simplifiée des grids Xamarin.Forms
Favicon
Inline codes inside XAML with XAMARIN
Favicon
A late night binge to replace the Microsoft Ad Control
Favicon
Simple Xamarin.Forms - Button Samples
Favicon
Adding Telerik Controls to Elmish.WPF Apps
Favicon
Formatting XAML files on build with XAMLStyler
Favicon
Grid and Stack Layout
Favicon
Uno Platform
Favicon
[001] Create WPF Projects Like a PRO
Favicon
HotReload: uma ferramenta gratuita para desenvolvimento de UI em XAML
Favicon
UIPath - RPA
Favicon
CSS grid intro for WPF/XAML developers
Favicon
Why XAML? Why Now?
Favicon
An alternative to Xaml for WPF

Featured ones: