From desktop to a cross-platform application
We assisted our client – a large machinery company – in moving from desktop to a cross-platform application. In the course of the project, we converted an outdated legacy software based on Windows Forms to WPF in C# to enhance user experience of the engineering toolkit.
Today’s tendencies in brief
In the recent years, we’ve seen an ever-growing and omnipresent trend towards cross-platform development. This approach allows designing cross-platform applications running on multiple platforms, including desktop, web and mobile devices.
The numbers clearly speak for themselves:
- In 2022, the number of active smartphone users in the United States has reached 307 million – according to the study, by 2040, this number is estimated to reach 362 million at least
- With daily smartphone usage rising continuously, more than a half of traffic is mobile
No wonder, more and more businesses all around the world are promptly moving towards cross-platform apps. The profit is considerable.
What about native applications?
Native development is building robust applications running on one specific operating system like Windows. Every single operating system has its design language, integrated environment, and guidelines.
Despite various considerable advantages, native development does also come with multiple disadvantages. These comprise increased cost, long time-to-market, and quite limited flexibility, which makes this approach hardly suitable for a large range of applications.
Most popular cross-platform frameworks
Software developers use various cross-platform frameworks to design and deliver native-looking applications. With one single codebase, software engineers don’t need to write separate code for each operating system, which notably accelerates time-to-market.
Some well-known cross-platform frameworks:
- React Native
- Corona SDK
- Adobe Air
- Appcelerator Titanium
- Codename One
- Live Code
|Android, iOS, macOS, Windows, Linux, Web
|Android, iOS, macOS, tvOS, watch OS, Windows, UWP, WPF
|Android, iOS, Electron, PWA
|Android, iOS, Mac, Windows, and Web
|Usage (Statista Report)
|42% of surveyed developers
|11% of surveyed developers
|16% of surveyed developers
|38% of surveyed developers
|Usage (Stack Overflow)
|12,64% of all surveyed
|5,21% of all surveyed
|5,27% of all surveyed
|12,57% of all surveyed
|Google Ads, eBay Motors, Alibaba, Reflectly
|The World Bank, BBC Good Food, Alaska Airlines, Insightly CRM
|Sanvello, Sworkit, MarketWatch, JustWatch,
|Skype, Airbnb, various modules in Facebook and Instagram
The features of the mentioned environments:
- Provides hot reload feature providing for straightforward changes without recompilation
- Supports Google’s Material Design allowing to use multiple visual and behavioral widgets
- Includes own rendering machine
- Supports same user experience and logic across platforms
- Provides for straightforward updates
- Uses Base Class Library (.NET BCL), a collection of classes that provide comprehensive features
- Allows reusing third-party codebases written in Java, Objective-C or C++,
- Offers near-native user experience
- Provides for quick prototyping
- Comprises built-in testing and debugging tools
- Allows using Cordova and Capacitor plugins providing access to built-in features (camera, flashlight, audio recording)
- Offers multiple UI components
- Provides for modular and intuitive architecture
- Supports fast refresh feature providing for straightforward changes
- Provides built-in Flipper debugger starting from version 0.62
- Offers compatibility with various third-party plugins, for example, Google Maps
Successful conversion to a cross-platform application
To help the client get more market competitiveness, we extended from desktop to a cross-platform application. By converting to WPF in C#, we provided a visually appealing interface and streamlined day-to-day workflows. In addition, we provided future-proof foundations in terms of flexibility and scalability, as well as maintenance. This could be achieved by upgrading to the .NET 6, the long-term support version of the Microsoft framework.
- Used Xamarin to build Android and iOS applications
- Used Blazor to build the website
The software has heavy mathematical calculations in the backend code, respectively causing considerable risks of breaking the functionality when converting to a cross-platform application.
To ensure easy maintenance, we shared a common business logic in C# across platforms:
- Essential functions are extracted to common data libraries
- As changes are introduced, those functions are being automatically included across platforms
We have also integrated a comprehensive authorization module across desktop, web and mobile applications. This way, we ensured data protection and granular permission management.
Our team also provided additional services to ensure smooth implementation of the delivered functionality, which include:
- Thorough testing and debugging
- Technical support and maintenance
- The creation of detailed user manuals
The reason behind our technology stack
When evaluating potential advantages, our team :
- Chose Xamarin as the preferred framework for the accelerated development of high-performing, feature-rich applications for both iOS and Android platforms
- Selected Blazor as the best-suiting framework for the seamless delivery of responsive user experience, as it helps reduce server load improving performance, speed, security, and reliability
In addition, this stack has maximized the benefits of reusing the already existing codebase.
With the single codebase written in C# .NET across platforms, our team could leverage multiple advantages:
- The ability to make straightforward updates, which provides
- Increased consistency
- Reduced risk of errors
- The ability to apply available expertise without involving additional workforce, which respectively
- Saves time and cost
- Ensures deep industry understanding, improving efficiency and productivity
Summing up, with the unified codebase written in C# .NET, we achieved greater efficiency and productivity across desktop, web and mobile applications simultaneously eliminating the need for onboarding and training of new team members, which requires considerable resource-allocation.
The delivered cross-platform application brought the following benefits to the client company:
- Reduced application’s prospective costs on development and maintenance
- Increased potential customer reach and competitiveness
- Single codebase accelerating updates and troubleshooting
- Consistent design and experience across platforms
How we can help
Are you ready to modernize your legacy software?
Contact us to get a customized, cross-platform application, precisely tailored to your industry-specific needs, and grow your business!
Abto Software’s engineering specialists will lead you throughout every stage of your transformation journey. Our team covers everything from in-depth technology discovery to deployment and future tech maintenance, so you can focus on your operational processes.
- .NET development
- ASP.NET development
- Web development
- Mobile development (iOS, Android)
- Cloud services
- Custom software product development