[Web] Ajax vs Atlas ! Fight !

Hello,

En ce moment, je suis en train de me documenter ce qu’on appelle Ajax. Concrètement, c’est super clair dans ma tête. MAIS, il y a un hic. Je vois que lorsqu’il s’agit de le coupler sur un site ASP .NET, il existe plusieurs manière de s’y prendre. Et là, je trouve soit un framework Ajax ou bien une bibliothèque intitulé Atlas.

Elles proposent toutes deux les mêmes outils (UpdatePanel, UpdateProgress, ScriptManager, etc…) MAIS syntaxiquement et la manière de les implémenter sont totalement différents. Avec le framework Ajax, il me faut tout simplement utiliser les outils cités sans pondre un seul script (enfin d’après ce que j’ai pigé sur une des vidéos qui traine sur le site http://asp.net/ajax/ ). Du coup je trouve sa super trivial.

D’un autre côté, j’ai un e-book sur Atlas. Déjà il y a 2 manières de faire un site profitant de ces fonctionnalités (du js pur qui font appel aux instances type new Sys.UI.Control…) ou bien en faisant du script xml. J’ai pas réussit à faire marché le 1er cas pour une raison que je ne connais pas. Le e-book ne précise pas ou ne détaille pas suffisament les manip à effectuer sous VS 2005. Le 2e cas fonctionne parfaitement. Vous me direz pkoi me casser la tete. Bah, perso, je veux bien comprendre le concept d’Ajax et pkoi il existe tant de différences surtout entre ces 2 là que sont le Framework Ajax et la dll Atlas.

Et puis que prendre ? surtout qu’il y a la méthode classique où faut gérer soit même l’échange de flux via XmlHttpRequest/ActiveX et intéragir avec le code serveur.

Bref, je suis dans le flou total.

Atlas était le nom de code du framework ajax.net, tout simplement B) Depuis la release en 1.0, on ne parle plus que d’ajax .NET.

(d’ailleurs regarde ou te mène atlas.asp.net )

EDIT rapide pour développer quand même un peu:
Donc la réponse à une de tes questions est donc qu’il faut utiliser ASP.NET Ajax, qui est trèèèès simple à utiliser. Ce framework n’est pas livré comme d’autres avec tout un cas de composants “pré-ajaxé”, mais te donne tout ce qu’il faut pour faire des mises à jour asynchrones.
Si le coeur t’en dit, tu peux récupérer Ajax Control Toolkit, qui en gros est un ensemble de control ou controlextender qui permettent d’ajouter quelques effets très web 2.0. Ensuite moi je sais que je les aime pas pour plein de raisons mais libre à tout le monde de les utiliser quand même B)

Donc finalement, je dois plus me fier à la doc Atlas ?
Si je fais ce code, il n’est plus valide ?

<script type="text/xml-script"> <page xmlns:script="http://schemas.microsoft.com/xml-script/2005"> <components> <control targetElement="panel" cssClass="normal"> <bindings> <binding id="setCss" dataContext="colorSelect" dataPath="selectedValue" property="cssClass" /> </bindings> </control> <select targetElement="colorSelect"> <selectionChanged> <invokeMethod target="setCss" method="evaluateIn" /> </selectionChanged> </select> <button targetElement="cursorButton"> <click> <invokeMethod target="panel" method="toggleCssClass"> <parameters className="special" /> </invokeMethod> <setProperty target="cursorLabel" property="text" value="Cursor set" /> <setProperty target="cursorButton" property="enabled" value="true" /> </click> </button> <label targetElement="cursorLabel" text="Regular cursor" /> </components> </page> </script>

ouais ouais oublie ce genre de xml boulimique B)

Maintenant tout ce que tu as à faire pour faire de la maj asynchrone c’est d’encapsuler tes contrôles dans un UpdatePanel, et pouf ça marche. Au pire tu lui rajoutes des Triggers pour spécifier quand déclencher la mise à jour, mais ça reste aussi simple que de se faire des pates. Je n’aime pas utiliser ce mot, mais c’est tout de même assez magique.

Je serais bien curieux de connaitre la raison B)

Petit curieux va B)

en fait j’ai été traumatisé par le CascadingDropDown qui ne fonctionne pas dans un usercontrol quand on utilise une webmethod B)

Nan plus sérieusement je leur reproche globalement une certaine lenteur (le dragPanel avec un peu plus que tu texte, aie aie misère), et à chaque fois que j’ai voulu en utiliser je ne sais pas pourquoi je dois être maudit, mais j’ai toujours eu des merdes. De plus, tu n’as pas la garanti que ça fonctionne dans tous les cas comme tu t’y attends. Par exemple le dragPanel ne gère pas le bug/comportement d’ie qui fait que les dropDownList se dessine par dessus des div malgrè un z-index bien défini (donc le dragPanel quand tu le fais passer au dessus d’une dropDown, bah tu vois toujours les dropDown).

Donc bon maintenant, UpdatePanel dans 90% des cas dans mon code, et sinon je fais mes propres extender.

Ca supporte pas Opera officielement, c’est donc de la daube, tout simplement.

Asp.Net ajax par contre pour ce que j’ai pu en tester c’est tout simple à utiliser et ça marche comme sur des roulettes oui.

C’est FAUX. Opera est totalement et officiellement supporté.

Je n’ai pas vérifié si ça avait changé depuis la dernière fois avant de poster, je suis donc idiot, tout simplement B)

Il y a de ça quelques mois il était marqué qu’ils ne pensaient pas trop supporter officielement opera, et la moitié des démo foiraient méchamment.