Mais tout d'abord, un petit rappel pour les débutants : qu'est-ce qu'un framework ?

Un framework est une infrastructure logicielle qui facilite la conception des applications par l'utilisation de bibliothèques de classes ou de générateurs de programmes, soit dit en quelques mots : un cadre de développement.

Mais à quoi cela sert-il ? Et bien à différente choses !

Tout d'abord, cela sert à séparer les différents éléments et codes qui composent l'application. Au premier abord, il s'agit donc simplement de mieux organiser le code, et ainsi faciliter le développement et le débuging.

Mais cela permet aussi de garantir la pérennité dans le développement. Je m'explique : reprendre le code de quelqu'un d'autre n'est pas forcément chose aisée. Il faut comprendre comment le développeur "fonctionnait", comprendre son organisation, et tout ceci peut prendre du temps. Utiliser un framework connu, documenté, et qui plus est "officiel' (c'est Adobe qui le fournit) permet de s'y retrouver beaucoup plus facilement. Quiconque connait le framework CairnGorm, ou bien simplement les patterns utilisés (Singleton, Observer,etc...) peut reprendre un développement CairnGorm sans soucis.

Les deux principaux framework AS3 sont aujourd'hui CairnGorm et PureMVC. Il en existe bien d'autres, mais pour l'instant seuls CairnGorm et PureMVC sont assez mûrs et documentés pour être vraiment utilisables. Mais alors, comment choisir ?

Et bien pour moi, la réponse n'est pas évidente. Bien sûr, ils ont chacun leurs défauts et leurs qualités. Ainsi, CairnGorm est lié au framework flex, ce qui n'est pas le cas de PureMVC mais PureMVC n'utilise pas les Binding, chose que CairnGorm fait. On pourrait citer comme ça plein d'exemples, mais le choix du framework ne saurait se faire que selon des considérations techniques, du moins du point du développeur et non du projet.

En effet, le développeur, avide d'astuces lui permettant de gagner du temps (plus clairement, paresseux dans l'âme !), cherche souvent le framework ultime, à savoir la solution universelle pour tous les projets présents et futurs. Une telle quête n'a aucun sens. Sauriez-vous imaginer une voiture qui puisse à la fois servir pour emmener les enfants et le chien à la montagne, mais aussi pour faire ses courses dans Paris et enfin de temps en temps s'aligner sur la grille de départ du grand prix de Monaco ? Impossible me direz vous ! Et bien pour les framework, c'est pareil. Ainsi, un tout petit projet, sur le quel vous serez seul à travailler ne nécessitera sans doute pas l'utilisation d'un framework particulier. Un projet moyen pourra être réalisé sous CairnGorm et un gros projet sous PureMVC. Tout dépend du projet.

Mais alors, comment savoir lequel choisir selon les cas ?

C'est la l'objet de mon billet : vous dire que selon moi, il faut connaitre les deux ! En effet, comment savoir ce qu'apporte l'un et l'autre, afin de choisir, si on ne les connait pas tous les deux ?

Ainsi, je vous encourage fortement à vous former sur ces deux framework, plutôt que de perdre du temps à chercher quelque chose qui de toute façon n'existe pas, à savoir le framework universel.

A bon entendeur...