Migrating GUI behavior: from GWT to Angular - Archive ouverte HAL Access content directly
Conference Papers Year : 2021

Migrating GUI behavior: from GWT to Angular


In a collaboration with Berger-Levrault, a major IT company, we are working on the migration of GWT applications to Angular. We focus on the GUI aspect of this migration which requires a framework switch (GWT to Angular) and a programming language switch (Java to TypeScript). Previous work identified that the GUI can be split into the UI structure and the GUI behavioral code. GUI behavioral code is the code executed when the user interacts with the UI. Although the migration of UI structure has already been studied, the migration of the GUI behavioral code has not. To help developers during the migration of their applications, we propose a generic approach in four steps that uses a meta-model to represent the GUI behavioral code. This approach includes a separation of the GUI behavioral code into events (caller code) and the code executed when an event is fired (called code). We present the approach and its implementation for a real industrial case study. The application comprises 470 Java (GWT) classes representing 56 web pages. We give examples of the migrated code. We evaluate the quality of the generated code with standard tools (SonarQube, codelizer) and compare it to another Java to TypeScript converter. The results show that our code has 53% fewer warnings and rule violations for SonarQube, and 99% fewer for codelizer.
Fichier principal
Vignette du fichier
conference_101719.pdf (408.41 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-03341866 , version 1 (13-09-2021)


  • HAL Id : hal-03341866 , version 1


Benoît Verhaeghe, Anas Shatnawi, Abderrahmane Seriai, Nicolas Anquetil, Anne Etien, et al.. Migrating GUI behavior: from GWT to Angular. International Conference on Software Maintenance and Evolution, Sep 2021, Luxembourg city, Luxembourg. ⟨hal-03341866⟩
85 View
455 Download


Gmail Facebook X LinkedIn More