I spent most of Monday and Tuesday trying Atlas on for size. On my current project we are working on replacing a “smart” client application with a pure web app, and our goal is to use AJAX to make this transition easier for the users. My hope was that Atlas would make these things much easier, but I don’t think it’s there just yet.
I am trying to withhold judgement because it is just a preview, but here are some of the issues I ran into:
1) I like the ability to call a web service, but it would be great to be able to markup a method on the page and call that. (like Ajax.Net)
2) I wanted to make a change to the autocomplete javascript, and I couldn’t figure out how I would do that. Where can I modify what javascript is actually emitted?
3) I tried to use the script manager and server controls in conjunction with other scripts on the same page and I could not get it to work right.
4) Declarative coding is overrated.
I like the idea of Atlas, but I don’t think it’s ready just yet. So, for now we are going to stick with Ajax.Net which handles everything I need it to. Has anyone wrapped up some of the common Ajax operations into controls using Ajax.Net yet?
(Oh, and I just have to say it. This stuff is so much easier in Ruby on Rails… if the ASP.NET team wants to impress me this stuff should be as easy in ASP.NET as it is on rails.)
-James

{ 5 comments }
Here’s a calendar control based on AJAX.Net.
I have yet too look at it though…
-=mike
Here’s a calendar control based on AJAX.Net.
I have yet too look at it though…
Oops, here’s the link
http://www.codeproject.com/useritems/AJAXDatePicker.asp
Re #1: You can do that. I don’t currently recall what the attribute name is, but you can mark a page-level method with an attribute and call it with something like PageMethods.NameOfYourPageMethod(args);
Re #2: Great question. What exactly do you want to modify? Currently, the AutoCompleteBehavior is sealed, but there are some (unsupported I guess) ways to modify it. Let me know what you want to do and maybe I can tell you how you could do it.
Re #3: Atlas only supports "atlas script tag". If you want to mix server-side atlas controls with client-side atlas controls, you have to use "code-behind"-like files. These are broken though, I heard.
Re #4: Once you start using atlas controls/behaviors/bindings etc., I think you will find it more convenient to do this declaratively than imperatively. I also think that if the server-controls can render markup as opposed to javascript code, it may be more compact as well.
Give me an example of what you currently think is easier in RoR, and maybe I can try to demonstrate how this can be done in atlas.
#1: I will have to investigate that.
#2: The problem with the sugggestion Javascript was that it wasnt selecting the first result automatically… so the user could quickly click tab or something to enter the value. This is a pretty easy change, but without access to the javascript there isnt much I can do.
#3: hmm, OK. So at least a solution is coming. Good to hear.
#4: We will see, rarely does declarative code become more compact.
I will work up a side-by-side for ROR and Atlas, basically everything is easier.
Re #1: Just apply a WebMethod attribute.
Re #2: You could manually modify the ScriptLibrary/AtlasControls.js file and fix it yourself for the time being…
Re #4: I also believe that markup is easier to parse to define templates, than generating javascript code to achieve the same. Especially when you have to deal with for example nested templated controls. Markup is also more toolable, which means that if the Atlas team would for example add design-time support for "atlas code-behind files", it is easier to do this by doing it declaratively.
Re RoR: I saw someone on the atlas forums do something with customer data and lat/long data for use on a map. What about a demo where you display customer data in a listview, and you display pushpins on the map, to essentially get 2 views on the same data (retrieved from a webservice)?
And if you want, you can also add a "locate" button to each customer row which centers the map on the customer’s location. Let me know when you’re done
.
Comments on this entry are closed.