Flex, bien qu’ayant l’un des SDK les mieux armés pour le développement de RIA, est moins en vogue ces derniers temps. Le fait de céder la gestion de ce dernier à la fondation Apache confirme qu’enrichir et continuer de le faire évoluer n’est pas au goût du jour.
Le SDK permettant le développement d’extensions pour les produits de la suite Adobe va être tout simplement supprimé des prochaines versions. De plus, les demandes de développement d’applications compatibles avec les mobiles et tablettes seront rapidement une obligation. Apple étant réfractaire au support de Flash, cela ne joue pas en faveur de Flex comme choix de technologie pour le futur.
D’un point de vue technologique, bien que Flex bénéficie d’une bibliothèque d’outils très riche et dont la fiabilité n’est plus à démontrer, HTML5 a su au fil du temps s’armer également de frameworks et bibliothèques très puissantes à l’image de JQuery (Bibliothèque de fonctions permettant la manipulation du DOM de manière simplifiée et intuitive), Underscore (Bibliothèque de fonctions permettant la manipulation d’objet JavaScript au-delà des limites proposées par le langage)… ou du Framework Backbone (Framework MVC), pour ne parler que des plus connus. De plus, une communauté de développeurs très étendue ne cesse d’offrir des outils et des librairies libres de droits répondant à des demandes spécifiques de cette communauté. Par exemple Backgrid – un outil très puissant permettant la gestion de tableaux.
Le Flex a toutefois un avantage non négligeable : c’est la portabilité des applications et le puissant AIR qui permet la conception d’applications natives, pour peu que le terminal ait le Flash player installé (c’est le cas d’une majorité de ces derniers). Mais même là, HTML5 à une réponse solide avec, par exemple, PhoneGap et Cordova, qui sont des Frameworks permettant de créer des applications mobiles multiplateformes.
Cependant, la liberté d’action qu’offre le développement en HTML5 demande beaucoup de rigueur et de discipline. Le JavaScript étant non typé, l’utilisation abusive des fonctions anonymes ou la manipulation du DOM mal pensée sont des pièges dans lesquels on peut facilement s’enliser et rendre le développement très pénible et chronophage lors des phases d’évolution du code. Mais pour qui respecte certains concepts et patterns de développement, la conception d’application se fait dans les mêmes conditions qu’avec Flex, et avec très peu d’écueils par rapport à ce dernier. Avoir développé en Flex sera d’ailleurs un atout très important dans la manière d’aborder le développement en HTML5. On retrouve dans ces 2 technologies une approche assez similaire. D’un point de vue langage, nous avons le javascript/xhtml d’un côté et l’action script/mxml de l’autre. De plus, le fait que le développement Flex soit beaucoup plus carré dans sa mise en œuvre permettra d’immédiatement structurer les nouveaux projets HTML5 dans les règles de l’art.
Alain Deschepper, Développeur