[VEGAS] Un Framework OpenSource AS2 qui a du chien !
Par eKameleon le samedi, mars 4 2006, 00:24 - VEGAS - Lien permanent
C'est décidé ! Il est temps de sortir la version AS2 beta public de Vegas. Vegas est mon premier gros travail OpenSource. Je suis donc à mes tous débuts dans ce domaine... et il est clair que je suis loin d'avoir encore tout le recul qu'il faudrait. Il reste encore pas mal de chose à faire pour que tout mon code soit stable mais il est temps de vous faire partager ma librairie pour que le projet évolue correctement. J'ai décidé que ce projet soit OpenSource et il faut absolument qu'il reste "ouvert" et pour cela je pense qu'il est nécessaire que je puisse partager mon travail pour qu'en échange vous puissiez m'aider à le faire évoluer.
Je vais reprendre ici la petite introduction que j'ai déjà écrite sur le TRAC du projet :happy: Trop de stress pour trouver les bons mots ce soir... Donc excusez moi si mon discours à un goût de déjà vu pour certains
J'essaierai de faire mieux dans les prochains "longs" articles et tutoriaux qui vont suivre pour expliquer comment tout cela fonctionne. :happy:
Vegas n'a pas pour but de concurrencer les frameworks déjà existants qui se reconnaitront (ni les casinos d'une grande ville toute lumineuse aux Etats Unis.... d'ailleurs :alien: ).
Vegas n'est surement pas le plus innovant des frameworks. Il reflète juste le fruit de plusieurs heures de réflexions et de travail devant ma machine et avant tout ma passion grandissante pour l'ECMAScript et le code en général.
J'ai essayé de mettre dans cette librairie tout ce qui me semble indispensable au sein d'un framework de base. Je l'utilise tous les jours dans mes activités professionnelles (ou non d'ailleurs). Ce framework est largement inspiré de nombreux autres travaux réalisés dans la communauté Flash mais surtout dans ce que j'ai pu trouver dans d'autres langages comme JAVA, .NET, COCOA etc. J'ai aussi orienté le code vers un polymorphe avec le framework AS3 qui est encore pour le moment en version Alpha. Ne vous étonnez pas non plus, si certains éléments peuvent sembler similaire à ce qui existe peut être déjà dans d'autres Framework OpenSource AS2 par exemple comme AS2Lib ou Pixlib... j'ai juste essayé de voir ce qui se faisait ailleurs pour compléter mes travaux et dernièrement j'ai eu à travailler sérieusement avec PIXLIB et j'avoue qu'il y a certains concepts se trouvant dans ce framework que j'ai du mal à détacher de mes besoins de tous les jours (faut pas oublier au passage que ce qui va suivre Vegas n'est pas un framework directement lié à celui ci ... mais à PIXLIB lol)
La grosse particularité de VEGAS va être son portage en AS2 et ensuite en SSAS (Server Side ActionScript) avec au final 2 versions utilisant les mêmes classes et permettant si possible de récupérer entre Flash et Flash Media Server les mêmes types d'objets. Sachant qu'au passage le but caché de Vegas pour FMS est de reprendre complètement le framework actuel de Macromedia côté serveur en le basant sur un système événementiel plus complet et un code beaucoup plus propre et moins "obscur"... je considère que le framework de Macromedia pour Flash Media Server est loin d'utiliser le maximum des capacités du SSAS...
Ce qui est intéressant avec un tel projet c'est qu'avant toute chose son côté "formateur". J'ai beaucoup appris et je pense que j'ai encore beaucoup à apprendre, heureusement !
Mon seul but en distribuant ce code c'est qu'il serve à tous ceux qui voudront bien l'utiliser.
Malgré tout il y a eu beaucoup de changement pendant la mise en place de la version alpha du framework et beaucoup de packages ont disparus et reviendront ensuite dans diverses extensions et autres dépendances de VEGAS comme LUNAS dont je parle dans la page temporaire des TODO sur le TRAC du projet.
J'ai déjà passé beaucoup de temps ces derniers mois à faire du nettoyage... j'étais parti sur un peu tout et n'importe quoi et je me suis rendu compte au fur et à mesure qu'il était préférable de raccourcir le nombre de packages et de garder si possible l'essentiel !
A noter aussi que pour le moment la version SSAS de VEGAS est basé sur Core2 et que j'espère un jour pouvoir baser la version AS2 sur Core2 également ! Malheureusement par manque de temps et aussi à causes de certains petits problèmes de compatibilité avec MTASC je dois un peu retarder ce portage... D'un autre côté le temps passe et l'arrivée de la sortie définitive de l'AS3 risque de changer bien des choses d'ici quelques mois... on verra bien 
Les "présentations" sont faites. Je vais vous avouer qu'il y a encore beaucoup de chose à faire au niveau de la documentation et de la mise en place des exemples du framework. Je vais essayer de prendre un rythme régulier pour remplir chaque soir le TRAC et je vais revenir assez souvent sur mon blog pour vous écrire des tutoriaux et des articles selon les retours que vous pourrez me faire au sujet du framework.
D'un point de vue pratique, je vais tout simplement vous conseiller d'aller faire un petit tour sur le TRAC de Burrrn où se trouvent pour le moment les premières pages du projet en attendant que je puisse faire un petit site spécifique pour présenter tout cela à la racine de mon serveur perso.
Pour récupérer les sources je vous conseille de vous armer de Tortoise SVN ou Subclipse et de récupérer mes sources ici : svn://live.buRRRn.com/projects/VEGAS
Je reviendrais vers vous ce week-end pour poster un premier article sur les packages de base du framework et le pourquoi du comment de tout cela. Ensuite à mon avis je vais pouvoir vous diffuser tranquillement des petits exemples sous formes de quelques ressources documentées illustrant toutes les possibilités des différents packages.
N'hésitez pas à me faire part de vos impressions par mail sur l'adresse du projet (voir page d'accueil du Trac de Vegas) ou alors pour des questions un peu technique, vous pouvez poser des questions sur le NG de Flashcodeurs. Je vous conseille de vous inscrire dessus et d'utiliser par exemple Thunderbird ou tout autre logiciel de messagerie pour profiter pleinement du NewsGroup. Je vous rappelle encore une fois le lien vers le NG (on ne sait jamais lol) : news://FCNG.buRRRn.com
Bon sinon vous avez du remarquer que je parle beaucoup... et surtout en français. J'aimerai bien documenter et parler en anglais mais je suis tellement mauvais que je préfère pour le moment me concentrer sur le français... et là encore c'est pas gagné :happy: Et peut être qu'un jour je trouverai une âme charitable pour m'aider sur ce point là 
Pour finir je tiens à remercier Zwetan pour son accueil au sein de Burrrn et le temps qu'il a pu prendre pour m'expliquer directement ou indirectement (via le NG de Flashcodeurs) pas mal de concepts qui m'ont vraiment permi d'aller au bout de cette première version de VEGAS. Et je tiens sinon à remercier tout particulièrement Faya le Flashouilleur de l'excellent studio Zookeeper qui me supporte depuis un bon moment maintenant et qui est mon alpha/beta testeur le plus actif 8)
Voilà c'est parti... :happy: oufffff ! 8)
Commentaires
Content d'enfin voir la tête de Vegas
Bon, à ajouter à la todo, pff, même pas fini pixLib, et l'AS3 qui arrive,… -dead-
Je crois que je n'étais pas le seul à attendre la sortie de ce framework, depuis le temps que tu nous faisait baver :p
Longue vie à ce framework :D
Et 1 nouveau framework 1 !!
Je vais jeter un oeil dès que possible à ce tout nouveau vegas !
Merci de nous faire partager tes recherches et cette nouvelle librairie
J'attends avec impatience, de mon coté, l'arrivée de luna, car comme je te le dis dans un précédent comment, c'est la partie UI qui me cruellement défaut en ce moment
@+ et encore merci
je pense que tu vas profiter avant Lunas de Neo le petit framework basé Pixlib qui permet de structurer en complément du framework de Francis quelques composants comme des Buttons, List, Container, PanelManager, etc...
excellent !
C'est pas que je suis feignant...mais j'ai guère le temps de me pencher sur un framework UI en ce moment...alors neo / lunas arrivent à point
En effet je compte moi même(c'est la mode) livrer une 1er version de mon framework maison (fever).
Plus d'infos dans quelques temps.... 8)
Je reste à l'écoute, @+
Plus on est de fou.... plus on fait de l'ActionScript ! :happy:
C'est cool j'aurais plus qu'a faire un merge des 3 frameswoks pour faire le mien :p

Ce qui est certains c'est que neo, risque de plair aux utilisateurs de pixLib
Super boulot Eka
dès que j'ai un petit moment je le teste...
Enorme -dead-
J'ai survolé un peu tout ça, ça m'a l'air d'être du super boulot
J'ai pas pigé comment ca marche la fonction initialize de la classe HashCode, en fait c'est surtout le
this.__hashcode__ = null ;
if (this.__hashcode__ == null)...
qui me paraît bizarre.
En fait la propriété change au niveau des droits d'écriture avec la ASSetPropFlags pour ensuite passer en 7 et du coup il sera impossible par la suite de changer sa valeur... Par contre pour la ligne du dessus c'est une coquille je met à jour la classe et je remet à jour le SVN tout de suite, merci



Pour voir l'utilisation de la classe HashCode de je t'invite à regarder de plus prés la classe vegas.core.CoreObject.
Je pense qu'il y a pas mal de petites erreurs comme celle là et il faudra un peu de temps avant que tout cela disparaisse
A noter qu'il faut se méfier pour le moment dans les classes du package vegas.data car il y a des petits problèmes dont je vous parlerai sur les classes de type List ! Et pour le moment le package vegas.data.tree est encore en construction
EKA+
Enorme



Je suis certains que ton travail fait preuve d'une tres grande maturité dans la reflexion et qu'il doit refleter tt ton professionalisme.
Je me réjouis vrmt d'y jeter un coup d'oeil dès que j'aurais une minute. Tjs ce même manque de temps propre à chaque codeur
Merci de ns faire partager
++
Grande maturité dans la réflexion... merci :happy: ?? ...
Je vais pas me plaindre car dans tous les cas le but de l'exercice est de faire au mieux avec ce que l'on a... et franchement il y a déjà de quoi faire lol Mais dans tous les cas en faisant Vegas je me suis rendu compte que l'AS3 va m'apporter une grosse partie de ce qui me manque tous les jours dans mon boulot et vivement qu'on puisse produire avec !
J'aimerai bien qu'il en soit ainsi... :alien:
Mais comme je le dis sur le wiki... ce qui me manque cruellement c'est le portage complet du framework AS2 avec une dépendance à CORE2 comme je le fais avec la version SSAS ! Là je pourrai me sentir satisfait.
Je m'explique 8)
Les types principaux Actionscript sont limités par rapport à ceux du SSAS et surtout par rapport à ce que propose l'ECMAScript... on nous parle d'orientation AS2 avec des classes mais d'un autre côté l'ActionScript reste en AS1 et AS2 de l'actionscript avec tout ce qui fait son charme et du coup pour le moment en l'état actuel des choses à part de nombreux bidouillages, j'ai franchement pas tous les outils de base dont j'ai vraiment besoin pour que mon framework soit en rapport avec ce que je veux faire réellement... Je dois utiliser des "classes" utilitaires alors qu'il serait tout à fait normal d'avoir par exemple la méthode de sérialisation toSource() comme en SSAS directement en natif sur la classe Object... Pour moi le toString() n'est pas suffisant loin de là... Il en est de même avec ce manque d'ouverture de l'AS2 au niveau du CoreObject et de l'impossibilité de créer sur un namespace donné autre chose qu'une "fonction constructruteur"... l'AS3 nous permet de créer sur n'importe quel namespace un Singleton via un objet ... et c'est pour moi ici que le manque le plus important au niveau de ma réflexion... vivement l'AS3 du coup ^_^ Tout comme le problème de la réflexion du framework... l'avoir en natif est pour moi un luxe qui n'en est pas un... trop important de pouvoir obtenir rapidement les informations sur le nom de la classe de l'instance que l'on utilise etc...
Bref
En attendant, tous les jours je dois utiliser mon code AS2 et j'en profite pour faire évoluer correctement tout cela.. cela servira dans tous les cas par la suite à ce que mes futurs projets AS3 puissent démarrer vraiment comme je le veux.
quel boulot !

franchement bravo !
faut avoir du courage pour faire ca... courage que je n'ai pas lol
donc si d'autres peuvent l'avoir à ma place c'est tant mieux :-p lol
Thanks @++