Atlas gives you the ability to use ASP.NET to build your presentation layer (i.e. using menu, toolbars etc. as you've done before) and then update only some "regions" of the page through asynchronous postbacks (i.e. no need to refresh the whole page). This mechanism (called partial rendering) is accomplished with the <atlas:UpdatePanel /> control. You can find a great tutorial by ScottGu in theAtlassite.
Otherwise, if you want to build the presentation layer totally on client-side, you can do it but you have to build many of the controls you need using Javascript and the Atlas framework OOP patterns.
I'm using the OO features of Atlas in an app I'm working on.
At its base, the app uses the model-view-controller pattern. The controller communicates with the web service and updates the model. Events are invoked by the model which tell the views to update. In addition, two of the views are derived from an abstract class. This allows the views to be "pluggable", i.e. the app can display the model in either of the views depending upon which the user chooses at run-time.
These objects are defined in Javascript using the Atlas extensions to get the the traditional OO features. Most objects needed to be customizable, so I went with Javascript over the declarative XML. There are some limitations to the declarative XML, like I think you can only hook up one handler to an event.
Javascript might be slow for a complex UI. The profiler included with the Venkman debugger in Firefox can help you find out which functions are taking the longest. I had to stop using the Atlas ItemView object because it took a really long time to bind to it. That was with the January CTP, I haven't tried binding to an ItemView with the March CTP yet.
I think it is possible to do what you want, although it might take some time to get familiar with Atlas. One nice thing is when you have a problem you can look at the source. Make sure to check out Nikhil Kothari's Virtual Places application, which seems to be one of the more complex Atlas applications out there. He challenged himself by doing as much as possible declaratively, but he wrote a lot of custom classes in the underlying Javascript as well. I got started by looking at his site:
http://apps.nikhilk.net/VirtualPlaces/
- Brandon
Thanks Brandon, Description of your framework sounds very interesting. Are you going to package it? It's got to be a market for such a framework.
Roman
Does Nikhil virtual earth page even load up without crashing the browser?
on Firefox: it doesnt show up but I think its to do more with the Virtual Earth Mapping System
on IE, the map tiles doesnt show up :(
It didn't crash mine (IE) but it didn't display maps either.
No comments:
Post a Comment