Contexte de la technologie Flex
Flex est une technologie développée par Macromedia, propriété d’Adobe. Elle a été intensément populaire entre 2004 et 2011 pour la construction d’applications Web et applets.
La fin de support en 2020 de la technologie Flex et sa perte d’attractivité confronte aujourd’hui les utilisateurs à une problématique délicate :
Les enjeux du projet
Dans le cadre d’une modernisation d’application, la solution cible doit respecter les caractéristiques suivantes :
1. Le portage vers un socle moderne et évolutif dans temps :
- l’utilisation des frameworks et librairies reconnues (Angular ou React ou Vue)
- la mise en place les bonnes pratiques d’architecture pour les années à venir
- la facilitation de l’industrialisation du build et du run du produit :
- appliquer des méthodes de développement plus standards, plus reconnues par la communauté actuelle des développeurs
- l’industrialisation des développements : outils de tests, livraisons, versioning
2. Le processus utilisé doit permettre d’optimiser les coûts et les délais du projet de migration :
- nécessité d’avoir un projet dont la conduite soit transparente, déterministe et incrémentale pour limiter les risques.
- la réutilisation au maximum du code existant : métier et graphique
- l’automatisation de la migration comme solution pour diminuer les coûts et les bugs
3. La conduite du changement :
- les interfaces graphiques doivent être préservées pour limiter le temps d’adaptation à la nouvelle version
- les développeurs responsables de la maintenance doivent être partie intégrante du projet
La solution Metrixware
Suite à la phase d’audit de l’application (première étape de l’offre Rapid), Metrixware a recommandé le portage de l’application Flex dans la technologie web standard Angular 9 / HTML5 / CSS3, avec reprise de la majorité du code existant Flex.
Les avantages de cette solution technique sont nombreux :
1. L’avantage indéniable ⇒ récupération possible d’une partie du code : en effet, le langage ActionScript (ECMAScript 3) utilisé en Flash/Flex est proche du langage TypeScript (ECMAScript 5+) utilisé par Angular. La récupération et le portage du code Flex pourront être automatisés dans la mesure du possible (suivant le code original).
2. L’approche par composants (WebComponents) dans Angular diminue les coûts de migration et les risques. La migration FLEX est alors réalisée par composants et facilite ainsi la réutilisation de code.
3. Les performances sont améliorées liées au fait que l’application modernisée sera plus légère que le client lourd réalisé en Flex (validée lors d’un POC initial).
4. La disponibilité immédiate de ressources permet la constitution rapide d’une équipe de développeurs auprès des prestataires du client et limite les risques de dépendances.
5. L’intégration simplifiée de maquettes HTML/CSS pouvant être réalisées indépendamment par des spécialistes dédiés, par exemple notre partenaire Polux.
6. La gestion simplifiée de l’internationalisation du logiciel.
La solution Metrixware
PS (covid-19) : Metrixware déploie sa technologie et réalise les projets de modernisation sans avoir besoin d’être physiquement présent chez le client. Pendant le projet Rapid, nous utilisons des processus et une usine logicielle permettant d’échanger en temps réels et en toute sécurité (VPN dédié) avec le source de l’application à migrer.