Le design déclaratif à un nom : Degrafa
Ce 2 janvier est sortie un framework qui fera certainement parler de lui dans les mois à venir : j’ai nommé Degrafa. Cela fait un moment que je l’attendais celui-là… et en teasing ils en connaissent un rayon les p’tit gars de Degrafa !
Baptisé Origin dans sa version Beta, Degrafa est un framework de design déclaratif pour Flex. En gros : 2/3 balises mxml et vous voilà avec un joli polygone ou autres géométries vectorielles. De quoi se réinventer un tableau blanc.
Mais c’est aussi bien plus que ça : en plus de formes simples classiques, de formes libres, et autres outils de barbouillages; Degrafa nous fournis un certain nombre de classe nous permettant de skinner nos composants simplement. Une gestion étendue des fichiers SVG est prévu par la team… miam ! Et certainement d’autre chose à découvrir.
Le Framework est disponible sur le Google Code Degrafa. Plus d’information sur degrafa.com
A noter quelques bugs, notamment dans la gestion des skins CSS (class CSSSkin), que j’ai pu faire remonter sur le Google group du projet. Une version prochaine devrait résoudre tout ça.
En attendant, et parce que c’est bien d’agir, vous pouvez voir mon petit essai (les sources au clic droit. Le composant lafabrick dispo ici
).
UPDATE | Un autre exemple de création de forme en AS3 (sources incluses)

--> 7 janvier 2008 ( 8:56 )
hello
Je ne sais pas si c’est le MXML qui me dérange… Mais en fait oui c’est bien le MXML pour ce genre d’outils je trouve beaucoup plus naturel de rester sur de l’AS3 tout simplement
Ici cela rajoute une surcouche qui à mon sens peut très rapidement compliquer les choses ^_^
EKA+
--> 7 janvier 2008 ( 9:09 )
PS : je viens de regarder le SVN des composants "lafabrik" mais à part un swc et une doc j’ai pas vu les sources ? Pour un projet opensource.. c’est un peu étrange non ?
EKA+
--> 7 janvier 2008 ( 9:58 )
Ouaip faut fouiller un peu :
degrafa.googlecode.com/sv…
--> 7 janvier 2008 ( 10:19 )
Non
je ne parle pas de Degrafa mais du Google Code de "lafrabrick" (dernier lien de l’article ;))
--> 7 janvier 2008 ( 10:43 )
Concernant le MXML : et bien pas de problème pour Degrafa puisque tout peux être écrit en AS3
Un exemple en update dans la matiné.
Concernant le framework lafabrik : oui en effet les sources sont absentes, et ceci pour différente raison. cette petite librairie de composant est encore en phase de projet/développement. Loin d’être fini donc. Les sources viendrons… avec le temps
--> 7 janvier 2008 ( 10:59 )
Et voila pour l’exemple AS3 en update dans le post
--> 7 janvier 2008 ( 11:27 )
Le problème c’est que d’après ce que j’ai vu du code source de Degrafa.. il y a du code mx.* dans les classes… donc une forte dépendance aux classe de Adobe.
Pour ce qui est des sources des composants "lafabrick" .. à mon sens ce serait beaucoup plus intéressant pour un projet "opensource" que les sources soient ouvertes tout le temps.. c’est le but d’un SVN de permettre de voir les améliorations et évolutions du code. Sinon ton projet pour le moment n’est pas vraiment opensource ? Et tu ne respectes pas du tout ta licence qui impose un minimum la disponibilté des sources ^_^ Cela me dérange toujours de voir des projets opensource sans les sources
eKA+
--> 7 janvier 2008 ( 11:46 )
Le fait que Degrafa soit dépendant du Framework d’Adobe ne me dérange pas plus que ça… C’est un débat plus large, et qui m’hériterait certainement une tribune spécifique.
le "projet" lafabrick n’avait pas pour objectif immédiat d’être ouvert, mais était plutôt destiné à l’être, dans un avenir proche, après mdification des sources. J’avais écrit un post donnant l’accès au Google Code lafabrick, sans véritablement me poser les questions de partages de sources. c’est une erreur et je vais y remédier. Je pense que je ne voulais pas forcement "polluer" la toile par une nouvelle librairie qui n’apporte pour l’instant pas une "révolution" significative
--> 7 janvier 2008 ( 11:58 )
Pour le coup des classes mx.* .. un autre problème avec la dépendance du package mx.* c’est que ce projet n’est pas utilisable simplement dans Flash CS3… Bref j’ai une petite dent en ce moment avec le MXML qui mal utilisé fait régresser un peu les débutants qui vont nous pondre des applications MXML/AS3 très proche de ce que nous pouvions voir au début du web avec des site en HTML/Javascript dans tous les sens… Je ne pense vraiment pas qu’il faille tout faire en MXML (surcouce de l’AS3) et que certains outils doivent rester un peu plus bas niveau. Mais là forcément c’est que mon avis.
Sinon pour ma petite remarque sur les sources des composants, Google Code à mon sens propose des espaces gratos pour des projets qui respectent les règles de l’opensource
Pareil pour OSFlash, RIAForge etc… je trouve vraiment ennuyeux de voir des tas de projets opensource s’ouvrir et au final pendant des mois et des mois (et même des années) bah on n’y trouve jamais aucune source. Après je peux comprendre que le temps nous empêche d’avancer comme on le veut sur un projet et qu’on doive le mettre en stand by un certain temps. Mais si je vois un swc et une documentation dans un repository SVN… je trouve vraiment qu’il est nécessaire de trouver aussi le code source qui permet de créer un swc.
On nous parle aussi parfois de "source privées" pendant une phase de alpha/beta… pour moi cela n’a pas de sens sur un projet qui se dit ouvert. Enfin ceci est une autre histoire
Pour ce genre de projet qui s’éternise dans le flou au niveau des sources cela devient du coup plus une vitrine "commerciale" pour ceux qui ouvrent ce type de projet qu’autre chose et je trouve cela dommage
Je respecte les projets commerciaux et les gens qui ne veulent pas diffuser leurs sources mais je suis beaucoup plus pointilleux au fur et à mesure sur les projets opensources
Bref… je voulais pas ouvrir un débat là dessus mais c’est vrai que j’ai profité un peu de ton article pour discuter là dessus en espérant ne pas trop t’avoir fait du hors sujet
EKA+
--> 7 janvier 2008 ( 13:01 )
le projet est sympa
apres comme ca utilise surtout l’API du flash player ca aurait ete pas plus mal d’avoir certaines fonctionnalités non dépendant de qlqs framework que ce soit, et ensuite les faire dependantes du framework Flex et/ou Flash
ex: Circle (Flash API pure) -> FlexCircle (Flex framework et -> FlashCircle (Flash CS3 framework)
mais bon je dis ca je dis rien
pour le framework lafabrik etant donné le peu de classes je vois pas l’utilité de ne fournir qu’un swc, ca obscurcit l’utilisation plus qu autre chose
genre
"ah tiens pourquoi ca utilise tel event a tel endroit"
rep: "t’occupe c’est dans le swc"
alors autant que degrafa permet de definir des shape etc en MXML c’est pas mal et ca pourrait intérresser plus d’un projet RIA dit "professionel",
ne pas donner le source de certains events
ca pourrait simplement forcer a ne pas utiliser le projet ce serait bete je trouve
Moi je dis ca jsute parce que sur un projet Flex, y a bcp de gens qui peuvent sensible sur comment sont gérés les events :p
--> 7 janvier 2008 ( 13:47 )
A la demande général, les sources de la petite lib lafabrick ( lafabrick.googlecode.com/… )
Comme je vous l’avais dis, je n’avais pas vraiment réfléchi concernant la diffusion de cette lib. Elle mérite d’être étoffé.
Enfin voilà, on a réparé l’erreur !
--> 7 janvier 2008 ( 17:44 )
Sur google code, çà me dérange moins les petits SWC sans sources que les grosses sources sans intérêt.
fab >> vraiment très sympa votre blog, je l’ai découvert (et syndiqué du coup) y’a pas longtemps
--> 7 janvier 2008 ( 18:03 )
Merci Foxy, ça fait bien plaisir
Je crois qu’on partage le même point de vue !
--> 9 janvier 2008 ( 13:59 )
Foxy> grosses sources sans interet ?
j’ai du mal a envisagé bcp de sources code accessible qui n’aurait pas d’interet
mettre un projet en open source ce n’est pas juste un truc ala mode
c’est une philosophie
on est ouvert ou on ne l’est pas, il y a rarement d’entre deux.
Avoir a 100% du code c’est mieux, si qlqn ne veut pas etre dependant des events laFabrick parce qu’il y a deja ses gestions d’events en place, il peut prendre ces qlqs classes et les adapté pour son cas particulier.
--> 2 mai 2008 ( 10:32 )
Salut,
En cherchant à skinner un composant flex, je suis tombé sur Degrafa et ce post, perso je trouve cette bibliothèque vraiment intéressante pour ça, après, dessiner un rond en AS ou avec Degrafa …. le plus important est d’arriver simplement à ses fins …