Développeur : Archetype Javascript Framework 0.1
Posté par Temsa (Jabber id, page perso, ). Modéré le 23 octobre 2007.
Archetype est un framework JavaScript (licence MIT). Il ne s’agit pas d’un toolkit qui propose de simplifier le code, c’est un vrai framework, qui modifie clairement la façon de travailler en Javascript, pour le rendre plus efficace, plus lisible et plus modulaire.
Le framework est basé sur les excellentes bibliothèques Prototype et Scriptaculous. Il vise à permettre de créer des applications réellement « Web 2.0 » en offrant une suite de services indispensables pour avoir des logiciels de bonne qualité gérés principalement par JavaScript.
Le projet Archetype a pour but d'offrir aux développeurs web tous les outils pour travailler en JavaScript comme avec les frameworks serveur, mais sans cacher le JavaScript dans une couche serveur (solution à la mode, mais qui s'avère toujours trop simple pour pouvoir réaliser ce que le client désire).
Le serveur continue donc de gérer la sécurité et le métier, mais ne s'occupe plus de gérer une vue ou un contrôleur. Seule une couche de transport telle que DWR permet de communiquer via Ajax avec le client.
Le framework est basé sur les excellentes bibliothèques Prototype et Scriptaculous. Il vise à permettre de créer des applications réellement « Web 2.0 » en offrant une suite de services indispensables pour avoir des logiciels de bonne qualité gérés principalement par JavaScript.
Le projet Archetype a pour but d'offrir aux développeurs web tous les outils pour travailler en JavaScript comme avec les frameworks serveur, mais sans cacher le JavaScript dans une couche serveur (solution à la mode, mais qui s'avère toujours trop simple pour pouvoir réaliser ce que le client désire).
Le serveur continue donc de gérer la sécurité et le métier, mais ne s'occupe plus de gérer une vue ou un contrôleur. Seule une couche de transport telle que DWR permet de communiquer via Ajax avec le client.
Le blog d'Archetype (544 hits)
Télécharger Archetype sur Sourceforge (79 hits)
Le Google Group d'Archetype (70 hits)
Prototype (61 hits)
Scriptaculous (59 hits)
> Lire la dépêche (20 commentaires, moyenne: 1,6).
Vous avez demandé le commentaire #877153.




Démo ?
J'ai cherché partout mais j'ai pas trouvé de démo. Y'en a une ?
[^]Re: Démo ? Pas encore ...
En parcourant le blog Archetype, je tombe (http://archetypejs.blogspot.com/2007/10/awiki.html) sur :
Posté le 16/10/2007. Je suppose qu'il faut donc attendre encore un peu ...
BB
[^]Re: Démo ? Pas encore ...
Oui oui !
Il ya a 2 petites démo :
- "Hello world" qu'on ouvre avec Start.html
- Slidy un présentation type "Powerpoint" dans le navigateur faite avec Archetype (on a repris un application disponible sur le site du W3C, d'ou les non hack css pour les navigateur ne supportant pas tout bien à ce niveau là, je corrigerai ça d'ici la 0.1.1 ou la 0.2) qui propose de faire soi même sa première application avec Archetype :)
Amusez-vous bien :)
Archetype Javascript Framework : Faites le côté client!
[^]Re: Démo ? Pas encore ...
Sinon pour ce qui est d'une vrai démo hébergée, c'est en cour avec la développement de AWiki. On pourrait d'ores et déjà mettre Slidy, mais j'aimerai, pour en faire la démo, lui faire un back avec un BDD et gérer des effets sur les slides avec scriptaculous....
En ce moment je n'ai pas le net chez moi (déménagement) et seul Swiip peu avancer en dehors du mardi (journée pendant laquelle notre boite nous paye à développer Archetype :D)
Archetype Javascript Framework : Faites le côté client!
[^]Re: Démo ? Pas encore ...
Je suis en train de voir pour héberger le Slidy sur sourceforge, mais de mémoire c'est une vrai plaie pour accèder a l'upload (ajout de la clef ssh, etc.).
Sinon j'ai d'autre serveur dispo mais pas de nom de domaine potable (on devrait en acheter un quand AWiki sera fini) pour mettre la démo dessu :P
Archetype Javascript Framework : Faites le côté client!
[^]Re: Démo ? Pas encore ...
La démo de Slidy est accessible directement à cette URL:
http://sd-10490.dedibox.fr/Archetype-0.1.0/WebContent/Slidy.(...)
Archetype Javascript Framework : Faites le côté client!
[^]Re: Démo ? Pas encore ...
Juste un petit truc en passant :
evite vraiment de mettre des blocs sans accolades (if, for, ...)
C'est pas pour faire beau, mais quand tu va vouloir compacter ton code, ça ne marchera plus et tu ne saura pas pourquoi...
(et par contre, pour faire beau, je trouve horrible d'avoir un if avec un bloc et un else sans...)
(le tout dans la première fonction load)
Sinon, comment marche le require ? (pour charger des modules, des js, ...)
Tu as regardé comment marche celui de yahoo [http://developer.yahoo.com/yui/yuiloader] ?
La description des besoins est assez simple et sympa à mettre en oeuvre.
[^]Re: Démo ? Pas encore ...
Oui, le checkstyle nous engueule un peu là dessus, tu as raisons sur les accolades :)
Le require représente beaucoup de boulot, car il gère beaucoup de cas différents (synchrone, asynchrone, html, css, js, component) on s'est inspiré un peu de celui de Dojo mais on l'a évidemment fait à notre sauce: le principe est decoder ce qu'on souhaite(html, css, js, etc.) et d'insérer les balises dans le head via les methodes DOM, puis on attend la levé des évènements "load" sur les différentes balises rajoutées
Une gestion particulière est faite dans le require pour les composants puisqu'ils ont des dépendances transitives demandant un chargement partiel (puisque defini dans la definition du composant) pour obtenir l'information de ce qui leur est necessaire. Aussi il ne faut appeler le callback qu'à la fin de tous les chargements de dépendance.
Pour celà nous utilisons des "LoadJoiner" permettant de savoir quand le chargement d'une liste de fichier est terminée et que l'on peut appeler un callback correspondant.
Pour le HTML on ne rajoute pas de balise script, on doit donc se limiter à la XmlHttpRequest et on stocke le résultat dans du JS
Pour le CSS on a pas d'évènement load de levé, on le considère donc chargé du moment qu'on le demande (ce qui est relativement vrai).
On gère une file de requête à faire pour donner les priorités aux composants(on a eut quelques problème avec, je ne sais pas si c'est comme ça pour la 0.1, c'est plus le domaine de Swiip, en tout cas ça le sera au minimum pour les release suivantes), puisqu'eux même peuvent avoir des dépendances transitive qu'il nous faut connaitre au plus tôt pour avoir toujours une file la plus remplies possible et charger le tout au plus vite.
Archetype Javascript Framework : Faites le côté client!