Migrating GUI behavior: from GWT to Angular

Autor: Stéphane Ducasse, Benoit Verhaeghe, Anne Etien, Abderrahmane Seriai, Mustapha Derras, Anas Shatnawi, Nicolas Anquetil
Přispěvatelé: University of Lille, Berger-Levrault, Inria Lille - Nord Europe, Institut National de Recherche en Informatique et en Automatique (Inria), Analyses and Languages Constructs for Object-Oriented Application Evolution (RMOD), Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189 (CRIStAL), Centrale Lille-Université de Lille-Centre National de la Recherche Scientifique (CNRS)-Centrale Lille-Université de Lille-Centre National de la Recherche Scientifique (CNRS), Université de Lille, Lse, Lse
Rok vydání: 2021
Předmět:
Zdroj: ICSME
HAL
International Conference on Software Maintenance and Evolution
International Conference on Software Maintenance and Evolution, Sep 2021, Luxembourg city, Luxembourg
Popis: International audience; 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.
Databáze: OpenAIRE