Ajax/Atlas
Content about Ajax including any of the frameworks like Ajax.NET or Atlas.
Atlas is not Atlas anymore. As I have posted before Atlas has not only a new name, but is strutting a new three-part monkier.
The server controls part of Atlas is now renamed the 'ASP.NET 2.0 AJAX Extensions'. What was formerly know as the Atlas Toolkit is now known as the 'ASP.NET AJAX Control Toolkit'.
Do you see the implications for you, the ASP.NET developer?
When 'Atlas' has its production release the controls will be folded into the ASP.NET 2.0 Framework. So when you say you are an ASP.NET 2.0 developer it will be expected that you know the AJAX extensions.
To stay competitive and to make sure your stated credentials really mean what they say, you simply must begin learning Atlas today.
Of course to say that you know Framework XYZ v? doesn't mean you have a back-of-your-hand command of every feature, but the implication is that you know your way around enough to get the job done.
If you have yet to crack the code on any Atlas applications, now is the time!
Scott Guthrie just broke the news that the "Atlas" framework is the recipient of not just one new name, but three!
While the Microsoft Ajax Library and the ASP.NET 2.0 Ajax Extensions are seemingly good names, I do question the emphasis on Ajax. The artist formerly know as "Atlas" was all about Ajax, but offered much more in the web client space than just Ajax.
The other beef I have is the insistence on capitalizing Ajax. The Ajax design pattern has grown up far beyond the AJAX acronym. When most of the data being pushed across the pipe in an Ajax application is not XML, but ususally a serialized instance of a data object - the leaning on the acronym seems silly to me.
All that aside what "Atlas" was and will become is a great asset to any web developer. Congratulations Microsoft!
A little magic descended upon the Shoemaker household last week. When I got home from work there sitting on the floor was a box full of copies of Beginning Ajax with ASP.NET. Now as a computer geek seeing a box full of programming books can make your heart go pitter-patter, but when it’s your work as a first-time book author with a major publisher - you experience a feeling that is tough to describe.
This sensation pales in comparison to how my oldest son made my entire weekend. Once we opened the box of books and he saw daddy’s face on the cover he exclaimed, “that’s you!” as he looked up at me surprised. For the rest of the weekend my four-year-old carried around my book like it was the latest in the Thomas the Tank Engine series. This is what makes a daddy proud!
Just as the major retailers begin selling copies of "Beginning Ajax", we begin work on our new book tentatively titled, "Beginning Atlas". I am proud to once again be in the midst of gentlemen the likes of Wally McClure, Paul Glavich, Scott Cate, Steven Smith and Steve Orr. The book is due out early next year and will surely be donning a new title as the codename "Atlas" is retired and the framework receives its formal name.
There are more podcasts in the pipe as well. We will finish off our interview with Miguel Castro soon and then I have a great conversation with Rob Howard about how to run a software company. After that I have some fun ideas for some original-content shows. The fun never ends!
I had the honor of joining Michael Mahemoff of the
Software As She's Developed blog and podcast and
ajaxpatterns.org on a podcast discussing some of the Ajax patterns that appear in his book,
Ajax Design Patterns. We discussed the Development Process Patterns - diagnosis and testing. Hopefully my inexperience in some of these areas doesn't show through
too much :) It was nice to act as a listener-advocate in order to pull some of the good stuff out of the true expert. I'll let you know when the final product is available.
Wally McClure who apparently has a few minutes between writing books and creating podcasts has just released a new web cast on advanced ATLAS development. Wally covers ATLAS databinding, the much talked-about UpdatePanel and gives examples of JavaScript inheritance, namespaces and interfaces in ATLAS. Weighing in at around 45 minutes this webcast is great for a lunch time training session!
Check it out: http://www.wrox.com/WileyCDA/Section/id-292013.html
Production is heating up at O'Reily publishing. This is good news for you because that means Michael Mahemoff's new book Ajax Design Patterns is starting to make its way to a book store near you.
I am excited about this book for a couple of reasons. First, with all of the hard work Michael is engaged in with the Ajax Patterns website and the Software As She's Developed podcast and blog
its a nice to see his efforts on paper readily available as an
any-time-or-place reference. These patterns have insipired me to create
a podcast or two and write and speak on Ajax in varying forms over the
last year - so cheers to Michael for a job well done!
I am also excited for a selfish reason. Michael included me a a
reference on page 10 (or at least what was page ten on the draft I saw)
quoting me from Architecting Ajax Applications. I always wanted to be quoted in a book!
I'll let you know when it hits the shelves.
Yippie! I shipped the first draft of my contribution to "Beginning Ajax for ASP.NET" this morning.
What an accomplishment. At the same time, I feel the same way I usually feel right after I publish a podcast: anticipation for the next release. Does the content producting wheel ever stop spinning? Hopefully not :)
I have a new podcast that is going out tomorrow. The show is an interview I did with Wally McClure on ADO.NET 2.0. It is a good show and is worth a listen. After that I have an article for the ASP Alliance that is due and then its on to more podcasts.
Thanks for taking the ride with me.
Craig
My latest article, "Using the Ajax.NET Framework", for CoDe Magazine is now in print! You can check out the on-line version here.
The first page is the only page available until they unlock it as archive content, but why not become a subscriber and get all the content all the time?
Cheers,
Craig
I am very excited to share with you that I was recently accepted as a co-author for "Beginning Ajax for ASP.NET" from Wrox Press. (Wally McClure of the ASP.NET Podcast just announced it on his latest show.) The book is scheduled to be released sometime this summer.
While the book will focuses heavily on the Atlas Framework and Ajax.NET Framework, my involvement surrounds creating material for the "other" Ajax libraries. I am currently building up the samples that are featured in the book. What fun!
Keep checking the Polymorphic Podcast and this blog for more information.
It's good to have friends.
Wally McClure IM'ed me today to say that I gave some misleading information in my latest podcast on Architecting Ajax Applications. In the show I made mention to how Ajax will tax screen readers. Wally posted in December of 2005 about his experiences creating a working Ajax application for the blind and how he had success using Ajax with screen readers.
Part of what I was trying to get across in the show was that you can build anything incorrectly. As Wally points out Ajax doesn't have to propose a problem for you, but it's up to developers to build systems that will play nice with all users.
Thanks Wally!
During my recent talks on Ajax in ASP.NET applications, the concern over the movement of code from the server to the client is considerable as developers consider Ajax.
The point I try to make is to keep as much of your logic server-side until you really need to move it to the client. This might mean you fire more requests to the server, but you can change this design decision if you application warrants the ajustment for performance or scalability reasons.
The fact is if you use Ajax methods in your application you will have more JavaScript code no matter how much logic you keep on the server. JavaScript is notoriously difficult to debug and lacks outstanding IDE support like we find for our server-side contemporaries.
There are, however, some tools (or toolbars, rather) that no self-respecting web developer should find themselves without.
For Internet Explorer there is the web developer toolbar. This handy tool will help you parse the DOM, outline HTML elements, provide image reports and more.
Chris Pederick offers the FireFox/Flock/Mozilla web developer toolbar which is feature-rich in its own right. With this little helper on your side you can turn on and off style sheets, run validations and produce markup outlines beyond what the IE counterpart is capable of rendering.
While these tools might be nifty, the best tool is the JavaScript Console baked right in to the FireFox/Mozilla family of browsers for years now. When IE returns a JavaScript error you are never sure if its even reporting the right line number. With the JavaScript Console, you can see the exact character where your script failed.
For more information go to PolymorphicPodcast.com
Take the listener survey!
You could win a $30 gift certificate to Amazon.com
What's New?
- Archives - I posed all of the old shows that I previously had to remove. Check them out at the bottom of the homepage.
- I'm a junkie! The blog is now over at DotNetJunkies.com. If you have subscribed to the blog, no worries you don't have to change anything on your end :)
- Check out the Wally McClure's Atlas talk, which is a sister show to this one
Featured CoDe Magazine Content
LINQ by Yair Alan Griver
Using the AJAX.NET Framework
Introduction
The AJAX.NET Framework is a simple-to-use framework that wrapps up most of the plumbing of using AJAX.
There only a few actions you have to take to empower your application with the AJAX.NET framework
- Make reference in your project to the AJAX.NET Framework
- Add an httpHandler to your web.config
- Register your page as an AJAX.NET Framework page
- Decorate your methods with the [Ajax.AjaxMethod()]
- Call your method in JavaScript using the type name of your page
Here are some examples:
1) Set Reference
No example necessary.
2) HttpHandler
Provide a way for the AJAX.NET Framework to look at each request and determine if it need to do anything.
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
</httpHandlers>
3) Register Page
You register with the type of the page you are registering.
Ajax.Utility.RegisterTypeForAjax(typeof(_default));
4) Use the Ajax.AjaxMethod Attribute
Here is a sample method.
[Ajax.AjaxMethod()]
public TaskCollection GetTasks()
{
return WebAppConfig.Tasks;
}
5) Use the Page Type Name in JavaScript
You call the function in JavaScript using the type name of your page as the object. You may optionally pass in a parameter that will use a call back method when the action is complete.
function GetTasks()
{
_default.GetTasks(GetTasks_CallBack);
}
function GetTasks_CallBack(response)
{
if(IsValidResponseValue(response))
{
LoadTasks(response.value);
}
}
Support Provided by:
Introduction to Atlas
Take the listener survey!
You could win a $30 gift certificate to Amazon.com
What's New?
- Archives - I posed all of the old shows that I previously had to remove. Check them out at the bottom of the homepage.
- The blog - Yes I finally started a true blog to accompany the show.
- Next show - Will include coverage of the Podcast and Portable Media Expo
- PDC Promotion still going - Tell me some details about the flyer that went out at PDC and you may win something nice from Amazon.com. Send the email to show [at] polymorphicpodcast.com
- Brain Dump Trivia - Implementation of Modcast technology
Atlas Framework Review
Introduction
Atlas is the new .NET Framework for the UI. The latest release includes support for the ever-popular AJAX technology, webservices, plus brings delcarative support for manipulating elements of the UI.
Under the hood, Atlas brings "object orientation" to a scripting language. While OOP execution is a little different than in a native .NET language, Atlas does add a layer to impose the restrictions of an object oriented environment. With Atlas you may define types using age-old OOP principles such as inhertiance, interfaces, abstract classes, events and more.
Features
- AJAX
- CSS Manipulation
- Drag N Drop
- Exception Management
- Webservices
- Caching
- Uses complex and native .NET types
- Databinding
Prerequisites to Development
Resources
Use these resouces to help you with your Atlas development.
Examples
Here are some implemented examples.
Support Provided by:
One feature of Atlas that I was so excited to see was the emergence of a function named $. This symbol, that represents functionality that is at the core of Atlas, will return to you an element within a HTML page.
Previously Microsoft would show in example code and pontificate as a best practice to use document.all[...] as the prescribed way to access elements on a page. All the while the standards-based crowd would scream to use document.getElementById(...) to access elements on a page.
The implementation of $ uses document.getElementById and is a very nice short-hand for true standards-based development.
This is good news, my friends.