Dutch IT company which fully integrated solutions help to create and share digital design has become Ispirer's customer. For many years the Company has been developing software for designers and recently has decided to renew its product to meet modern market requirements and remain competitive.
The main reasons for application renovation were related to the Customer’s desire:
- to ease code maintenance as there was a lot of legacy code,
- to perform code consolidation,
- to make interface more user-friendly,
- to implement new features (like cloud usage, availability for different devices).
Ispirer had huge experience in application migration but not much in С++ to C#.NET conversion. The main challenge for Ispirer team was to improve Ispirer Migration and Modernization Toolkit 2015 for automation conversion to guarantee efficient migration results during the performance of this project.
Firstly, Ispirer team successfully performed the Proof-of-Concept having converted about ten thousand lines of code written in C++ to C#.NET environment. During the POC Ispirer MnMTK 2015 was improved: new conversion rules were introduced. Thus was demonstrated not only the feasibility of С++ to C#.NET conversion, but the feasibility of its automation as well.
After the POC Ispirer team continued toolkit development and automatic conversion of the remaining two hundred thousand lines of code. The results were improved manually where it was necessary.
Alongside with the code conversion some additional works have been made:
- MVVM design pattern over target WPF technology has been applied to GUI part of the code - application’s architecture has been reviewed and optimized.
- Code refactoring and code conformation with client’s programming standards have been performed.
- There were no tools that suited for testing of converted application. So Ispirer QA team has developed special framework and test runner for GUI testing for this project.
Results and Advantages
As a result of the services provided by Ispirer team, C++ code was successfully converted to C#.NET, total volume of code in the application was decreased, obsolete code was detected and removed, the code became more clear and understandable. The Customer notes that the general performance of the application has been improved and the application now works faster and without errors. It has become real thanks to the movement to the new technologies, refactoring and adjustment of the converted code.
The Customer’s team is fully satisfied with Ispirer migration services because the provided result enables them to meet the increasing requirements of their clients and remain competitive in their sphere.