Et voilà on peut dire que je m’y suis vraiment mis ![]()
Depuis hier midi je fais le portage de Sandy en AS3, et j’ai d’ailleurs presque fini. Il me reste la gestion des textures bitmaps à gérer, plus finir quelques primitives.
Ensuite il restera un gros travail de nettoyage du code, car du fait de l’abscence de constructeur privé, le hack de classe abstraite ne peut plus se faire de la même façon, ainsi que le singleton.
Pour le singleton j’ai décidé d’utiliser la technique proposée par Zwetan ici. Je la trouve plus propre que celle proposée par Grant Skinner sur ton blog.
Mes impressions
Concernant mes impressions donc, voilà ce que je peux vous dire :
- Environnement de développement très agréable! Ceux qui connaissent FDT ne seront pas trop génés. Ceux qui ne se sont pas servis d’Eclipse risquent d’avoir un peu de mal au départ, mais rien de grave, ça vient vite.
Fonctionnalité préférée? Le débuggueur
Mais quelle nouveautée pour moi que ce debuggeur! Les erreurs de pointeur nul, des petits cas non gérés ou oubliés, ne sont plus silencieux. Que c’est agréable ! - Les nouveau types uint et int ainsi que const, protected, final, internal sont tres interessants. En revanche très grosse déception concernant les performances des int et uint. Grant Skinner à public un article à ce sujet, et on voit que les uint sont particulièrement lents. Allez comprendre!! Je ne vois pas du tout comment ils le gère, car là franchement, c’est complètement illogique.
Par contre petite note, si tout comme moi vous êtes habitués à typer vos variables privées avec private, vous risquez d’avoir des petites erreurs lorsque vous utilisez une chaîne d’héritage. Pensez à bien choisir le private et le protected!
Le const en revanche c’est que du bonheur. Plus besoin de passer par des hacks ridicules.
Maintenant je n’ai pas testé si la technique par crochets classe['var_private_ou_const'] = 45; ne marche plus.
J’ai malheureusement l’impression que cela est toujours autorisé …. - La nouvelle API est plutôt belle. Complète et bien documentée, je trouve ça tellement mieux finalement . Au final je n’ai pas été dépaysé, il n’y a que les packages qui changent. Bien spur après il reste les très nombreuses nouveautées (je crois qu’il y a plus de 170 classes!).
- Le nouveau système évennementiel est par contre plus compliqué, et demande un peu plus d’attention. Pour ceux qui connaissent pixlib, cela y ressemble beaucoup. Très agréable à utiliser cependant.
- Un compilateur rapide et complet, dénué à première vue de bugs. La vache que ça fait plaisir

Après avoir galéré avec les nombreux problèmes du player de Flash 8, je dois dire que je compte beaucoup sur celui ci!
Les options de compilations sont nombreuses et intéréssantes. Je vous recommande cet article de Senocular à ce propos. - Les performances sont en hausses c’est clair. Une lib comme Sandy demande beaucoup de ressources, donc il m’est facile de tester les perfs du nouveau player. Mais je reste un peu sur ma faim actuellement. J’ai un peu de mal à accepter les perfs que j’obtiens avec cette première vesion AS3. Il doit y avoir un certain nombre d’optimizations à faire c’est sur, mais je m’attendais à plus de fps à vrai dire.
Mes demandes
Au niveau de ce qui me manque et bien, de vrais perfs pour les types int et uint, des méthodes de dessin encore plus performantes( pourquoi ne pasvoir fait de méthode drawTriangle???) , les classes abstraites et surtout, surtout un vrai polymorphisme avec une surcharge des méthodes (par forcément des opérateurs) un peu comme je le fais en C++.
En conclusion j’encourage tout le monde à aller tester cette nouvelle version d’ActionScript.
Elle regroupe de nombreuses améliorations que la grande majorité des codeurs attendaient, preuve que Macromedia/Adobe écoute un minimum
Petit cadeau ![]()
7 August 2006 à 2:44 pm
salut,
“Maintenant je n’ai pas testé si la technique par crochets classe[’var_private_ou_const’] = 45; ne marche plus.
J’ai malheureusement l’impression que cela est toujours autorisé ….”
Heureusement, la vérification se fait maintenant au runtime
7 August 2006 à 2:56 pm
Slt

Donc cela veut bien dire que ce genre de manipulation gênerera une erreur?
Ouf…
Mais pour l’accès aux variables privates j’ai tout de même un doute. J’ai l’impression que l’utilisation de la synthaxe crochets permet toujours d’accéder aux variables privées (private et protected?).
Je testerai ça de toute façon plus profondément prochainement, car j’utilisais ce hack dans Sandy
7 August 2006 à 3:03 pm
non non, ce n’est plus permis! (d’ou l’origine de mon commentaire :P)
trace(serge["nom"]);
ReferenceError: Error #1069: Property nom not found on Serge and there is no default value.
7 August 2006 à 3:23 pm
Mince alors.
C’est bizarre car j’ai l’impression que ça passait dans mon cas…
En tout cas c’est rassurant!