Migrating from inefficient desktop to a cross-platform application
Tags: programming, csharp, webdev, productivity
Published: 2023-06-27 14:57:30

This post is a quick overview of an Abto Software’s [blog article](https://www.abtosoftware.com/blog/from-desktop-to-a-cross-platform-application).

We assisted a large machinery company in moving from their **desktop solution to a cross-platform application.** Fixing several major issues, we converted the outdated legacy solution based on Windows Forms to WPF in C# to improve user experience and satisfaction.

## More and more enterprises moving towards cross-platform development

In the recent years, there has been an ever-increasing tendency towards adopting cross-platform applications. This approach allows designing user-friendly applications running smoothly across platforms – web, mobile, and desktop.

No wonder that corporations all over the world are integrating cross-platform applications:

- In 2022, there were [307 million smartphone users](https://www.statista.com/statistics/201182/forecast-of-smartphone-users-in-the-us/) in the United States
- And, accordingly, [more than a half of traffic](https://www.statista.com/statistics/277125/share-of-website-traffic-coming-from-mobile-devices/) is mobile

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yrf78o32j0fo4pihwosi.jpg)

## Most popular cross-platform frameworks to mention

Software engineers utilize numerous different frameworks to design and deliver easy-to-navigate applications. Using one single codebase, software specialists can reuse their code across different operating systems, minimizing time-to-market.

Here are 10 well-known cross-platform frameworks worth mentioning:

- Flutter
- Xamarin
- Ionic
- React Native
- NativeScript
- Corona SDK
- Adobe Air
- Appcelerator Titanium
- Codename One
- Live Code

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0f5w1x2o7fcnwg237wzj.jpg)

## Successful conversion: The conversion to a cross-platform application

Prioritizing competitiveness, we extended the non-functional legacy product into a cross-platform application. First thing, we converted to WPF in C# to provide a visually attractive interface and smooth routine workflows. What’s more, we upgraded the product to the .NET 6, the long-term support version of the .NET framework. This ensured greater flexibility and scalability and simplified system maintenance.

We used:

- Xamarin for mobile development (iOS, Android)
- Blazor for website development

The existing legacy product had heavy mathematical calculations in the backend code, leading to severe risks. In brief, that could potentially break the functionality during migration.

To enable unhindered maintenance, we shared a common business logic across platforms:

- Key functions are extracted to common data libraries
- New changes are being automatically implemented across platforms

Our engineers also integrated an auditable authorization module across desktop, web and mobile platforms. This way, our specialists could ensure data security.

In addition, our team has covered:

- Thorough testing and debugging
- Technical support and maintenance

## Our project: Why this technology stack?

When choosing between technologies, our engineers stick to:

- Xamarin for mobile development as the best technology for high-performing, feature-rich apps
- Blazor for website development as the preferred technology for responsive user experience (this way, we minimized server load and facilitated overall performance, speed, security, and reliability

By using C# .NET across platforms, our specialists could enjoy:

a. The capability to make quick updates and ensure:

- Increased consistency
- Reduced risks

b. The capability to leverage existing expertise and, accordingly:

- Save time and cost
- Improve efficiency and productivity

## Final words

Are you ready to modernize your legacy software?

With custom cross-platform applications, business leaders might leverage:

**- Reduced costs on development and maintenance**
**- Increased reach to customers and competitiveness**
**- Smooth updates and troubleshooting**
**- Consistent design across platforms**

Interested in getting a cross-platform app and growing your audience?

Visit our R&D blog and learn more about software modernization.