The Future of ASP.NET AJAX
AJAX, ASP.NET By Dave Ward on July 15th, 2008
Bertrand Le Roy recently published a 13 page document on CodePlex, describing the ASP.NET Team’s goals for the future of ASP.NET AJAX. It’s been available for two weeks now, but there has been little reaction to it online and less than 8,000 people have downloaded it. I’m surprised, considering its importance.
If you haven’t yet read it, I encourage you to download and read it right now.
Now that you’ve read the official document, continue reading here for my take on what I think are the most significant items in the document. What follows is broken down into sections matching the road map document:
Persistent client-side event sinks
The following example shows setting up an event sink that will result in the title attribute of all spans getting dumped to the debug trace. This starts working at the moment the call is made and will continue working even for new spans that get created after that.
$listen(“hover”, “span[title]”, function(e) { Sys.Debug.trace(this.title); });
The average web page’s DOM is becoming increasingly volatile. Elements may be destroyed, appended, and replaced many times between each page refresh. Maintaining event handlers on those relatively ephemeral elements is often a significant headache.
Hence I think $listen has great potential, with one caveat: Performance.
If I have a dozen $listen sinks set up, what happens when I dump a thousand new elements into a table or select list? Will a $query be executed for each $listen, on every DOM modification?
If $listen introduces client-side hangs during those sorts of operations, the convenience would not justify the trade-off. Please be sure to include that sort of scenario in your testing.
Client Data and UI Templates: The Good
For performance critical functionality, using something like the UpdatePanel will never be a panacea. It was a noble effort, but trades far too much performance for its simplicity. When speed counts, the only thing on the wire should be data.
For that reason, I’m very happy to see client-centric markup generation being officially supported. Check out this example code, from the road map document:
<div id="repeater1"></div> <div id="template1" class="sys-template"> <h2><a href="{{ 'products/' + id }}">{{name}}</a></h2> <p>{{description}}</p> </div> <script type="text/javascript"> Sys.Application.add_initialize(function() { $create(Sys.UI.DataView, { template: $get("template1"), data: myData }, {}, {}, $get("repeater1")); } </script>
This implementation is fundamentally similar to my recent post on creating a client-side repeater with jQuery and ASP.NET AJAX. I think it will be a solid step in the right direction, and it will be great to see the technique become more mainstream in v.Next.
Client Data and UI Templates: The Ugly
The road map goes on to describe more complex templating, attaching client-side behaviors through xmlns attributes, and even a client-side analogue for DataSource server controls. Here’s an example:
<body xmlns:sys="javascript:Sys" xmlns:dv="javascript:Sys.UI.DataView"> <div id="tripList" sys:attach="dv" dv:data="{{myData}}" dv:template="{{$get("template2")}}"></div> <div id="template2" class="sys-template" xmlns:ac="javascript:Sys.UI.AutoComplete" xmlns:wm="javascript:Sys.UI.Watermark" xmlns:dp="javascript:Sys.UI.DatePicker"> <input type="text" sys:id="{{ "airport" + $index }}" sys:attach="ac,wm" ac:serviceUrl="airportList.asmx" ac:minimumPrefixLength="{{1}}" wm:text="Type the name of an airport" value="{Binding airport, mode=twoWay}" /> <input type="text" sys:id="{{ "flight" + $index }}" value="{Binding flight, mode=twoWay}" /> <input type="text" sys:id="{{ "date" + $index }}" sys:attach="dp" dp:lowerBound="{{ new Date(1970, 4, 21) }}" dp:upperBound="{{ new Date(2050, 1, 1) }}" value="{Binding date, mode=twoWay}" /> </div>
In my experience, this code is not maintainable. Unless spectacular Intellisense and designer support accompanies its release, I wouldn’t expect it to see much use in production.
Further, the behavior and content should be separated; especially given that one of the road map’s stated goals is accessibility. Unobtrusive JavaScript is the way to go here, not overloaded declarative markup.
Can we get this functionality in a way that is conducive to separation of concerns?
Improved animation support
I bet there are more people who have used the toolkit’s AnimationExtender once than there are who have used it twice. It’s a very powerful animation framework, but unwieldy and difficult to learn.
For that reason, it’s a relief to see the XML syntax being abandoned for fluent JavaScript objects. The example from the road map:
$query(".sprite").animate([ new Sys.Animation.FadeIn(300), { "style.backgroundColor": "#ff0000", "style.fontSize": "2em"), duration: 500 }, new Sys.Animation.FadeOut(300) ]) );
That’s a massive improvement over the AnimationExtender, but still a bit verbose. It would be great if that could be further distilled down to something like this:
$query(".sprite").FadeIn(300) .FadeCSS({ "backgroundColor":"#f00", "fontSize":"2em", duration: 500 }) .FadeOut(300);
New AJAX Control Toolkit components
The next section in the road map describes several new AJAX Control Toolkit controls in the works, and solicits community input:
Which controls get implemented first will highly depend on community feedback. We welcome suggestions and encourage you to communicate your preferences about which controls would be the most useful to you as well as what features you would expect on each of them. We identified the following controls as possible candidates:
High priority (v.Next):
- Grid. Make this work with ASMX and WCF JSON serialized services, and it will be the most popular control in the toolkit. Be sure that it renders <thead> and <tbody> elements, unlike the GridView.
- Upload. We need a solid solution to the async upload problem. It’s not something that would be used as often as the Grid, but would be nearly irreplaceable.
- Asynchronous validator. I began writing an asynchronous username availability validator last year, but became disillusioned before overcoming all of the hurdles involved. I think an asynchronous validator base control that allows custom, server-side validation rules would be a great addition.
Would be nice later:
- Progress bar. How would this work? If it were easy to use, it could be very popular. It shouldn’t be rushed though. Save this till later and take the time to perfect it.
- TreeView. This isn’t something I would use very much personally, but I think it would be welcomed by many developers.
Low priority:
- Layout. How many real websites use these ubiquitous splitter controls? They are typically indicative of a poor web UI, attempting to copy the layout of a thick client. We can do without this.
- Chart. It makes no sense to reinvent this wheel. A Silverlight based control isn’t going to be very widely adopted right now. More importantly, it doesn’t make sense to alienate the companies who have been supplying excellent visualization controls for years.
- Color picker and rich text editor. As with charting, this functionality has been available for many years. There are mature solutions already available. Your efforts would be needlessly squandered here.
JavaScript build tools
Aggregation and minification (is that a word?) is a constant thorn in my side. More details on implementation specifics would be nice, but I think the feature can only be an improvement.
While you’re supporting minify, you might as well add packer support as well. Depending on the speed of the client machine and execution order of scripts, packed scripts may load faster than minified ones, and can also be used to provide minimal obfuscation.
Ideally, this would enable us to work with an uncompressed, commented JavaScript include in debug mode. Then, in release builds, the include would be optimized and combined with other scripts. Please keep in mind that we may be using scripts hosted externally, which also have separate debug and release versions. A mechanism to allow for that would be excellent.
I think that the ability to add script references at the web.config level could be very useful as well. For example, I may want to reference jQuery throughout my entire website. Save me the trouble of adding that script include on every page, and I’ll buy you a beer the next time you’re in Atlanta.
Stay focused on your core users
Finally, I was surprised to see this ambitious goal early in the document:
Make ASP.NET Ajax the first-class choice for all Web 2.0 developers
I don’t mean to sound negative, but that is simply attempting to bite off more than even Microsoft can chew. At least in the near-term, developers using other application stacks or JavaScript frameworks aren’t going to replace what they’re using with v.Next of the client side ASP.NET AJAX library.
We need the ASP.NET Team to focus on the needs of those of us using ASP.NET AJAX today. Empower existing ASP.NET developers to create robust, dynamic websites, and you’ll find that our work has the potential to reach broad audiences on your behalf.
A few additional thoughts
Stop trying to hide JavaScript from us. Similar to the UpdatePanel, things like Script# and Volta are neat, but they are leaky abstractions. I hope they don’t significantly influence the ASP.NET Team’s vision of the future of AJAX.
It’s like Joe said: JavaScript is inevitable. Why learn to use Volta or Script#, when you could just learn JavaScript and be done with it?
I don’t want to become a client-side architecture astronaut.
Refreshing UpdatePanels via JavaScript. A year later, my post about using __doPostBack to refresh an UpdatePanel is still the most trafficked page on this site. v.Next ought to have a better way of doing this, as it’s obviously a common need.
I believe $query(”UpdatePanel1″).Update() would be very well received.
Host the client library for us. Steven Smith mentioned this back in April. Yahoo hosts all of the YUI scripts on their CDN. Google now hosts jQuery, prototype, script.aculo.us, MooTools, and dojo. There’s no excuse for Microsoft not to follow suit here.
For those of us writing public facing ASP.NET applications, this can be a non-trivial factor in deciding which JavaScript framework to use. In addition to a Google or Yahoo CDN being more performant than most any hosting setup, your users may even show up with the library already cached.
Conclusion
It’s no secret that myself and several others have been drifting toward jQuery this year. I sincerely hope that ASP.NET AJAX v.Next might begin to reverse that trend.
The ASP.NET Team appears to have some exciting features in store for us. I hope that we start seeing “futures” releases soon. Maybe some idea of a tentative release timeline?
What do you think? Did I miss anything important?
Similar posts
What do you think? Your comments are welcomed.
I appreciate all of your comments, questions, and other feedback, but please try to stay on topic. If you have a question unrelated to this post, I recommend posting on the ASP.NET forums or Stack Overflow instead.
If you're replying to an existing comment, please use the threading feature. To do this, click the "Reply to this comment" link underneath the comment you're replying to.

Comments
I’ll second just about everything you’ve said here. In particular “Stop trying to hide JavaScript from us” is a big one for me as I would rather see the effort going into bringing the IDE support for JavaScript development up to speed.
I’m among those trending towards jQuery and there’s a simple reason… it makes what used to be tricky things fun. New features are great but solid, well thought out building blocks are better.
In the recent ASP Insiders summit someone raised the question “How many people here LOVE javascript?” — about 10 people raised their hand. “How many TOLERATE javascript?” — another 50. and a handful raised their hands to “LOATHING” javascript.
Coincidentally the 10 who loved javascript all use jquery. We also had some vocal feedback on this templating stuff you posted here.
I made the argument that I’d much rather just package up some javascript and execute it to perform most of this type of thing. Don’t hide the javascript from me, let me embrace it. A large % of the room didn’t agree with me, which is sad.
Ultimately I think I’ll always be shunning ASP.NET AJAX in favor of jQuery or prototype/scriptaculous…
This looks more and more like jQuery…CSS selectors, listen (livequery), templates etc.
I read that MS Ajax Futures doc, and thought, wow cool, MS is going to copy JQuery into their ajax.
Then I thought about it some more and realized, I doubt I would use it. Can MS be trusted to maintain it as prolifically as the jquery team, and will they support all the browsers fully, even ones that don’t start with ‘IE’? Historically, seeing that MS .NET code regularly goes multiple years without updates and fixes, I’d have to stay with jquery. MS could change that perception if they wanted to, and I hope they do.
What I’d pay a lot for right now is if Telerik did a ‘jquery-json-web-service-mvc-capable’ suite of controls, but I bet Telerik is waiting for MS to do the stuff in the futures doc thing first. This means we probably have at least a couple years to wait on anything like that. Jquery will probably grow even more in that period of time, and with all the plugins available now and in the future for jquery, MS will have a lot of catch-up to do if they want to stay on the forefront of web 2.0. I’d actually just be happier if they fully fixed jquery intellesence in VS2008.
I read over the document a few days ago and really liked where they plan to take the toolkit. It looks as if the toolkit will adopt most of what makes jQuery so powerful(Am I wrong here?).
Your statement:
I don’t know about this. While I like exploring new technologies and weighing the good and bad, I can’t always afford to sacrifice productivity. I know the ASP.NET ajax toolkit. I don’t know the frameworks for dojo/script.aculo.us or many of the other ‘mature’ frameworks in existence.
I won’t go around using one or two controls from 5 different frameworks either. I find a certain amount of happiness in the fact that the MS guys will be incorporating some really cool stuff into what I feel is a mature framework. And it’s not just the MS guys making contributions. Remember that the toolkit is a community project as well.
Dave - great post and summary. I also hope Microsoft gets it right with v.Next and JavaScript, but frankly I have my doubts. Because of the current version of ASP.NET AJAX there’s now a ton of baggage to support and it’ll be a tough act to follow what’s already available with jQuery + plugins (or other frameworks), even if ASP.NET puts it in the box. The base framework/api is so unwieldy and unless they start over I don’t see any hope of remedying this situation.
The one thing of big interest in the doc is the templating, perhaps coupled with some data services that can transparently feed these templates with data, but then again you can already do this sort of thing with the various jQuery plug-ins for templating or Taconite (which is pretty interesting way to get data to the client through server rendering).
Ultimately we need to have a framework that embraces JavaScript and doesn’t hide it or tries to turn it into .NET on the client for us. JavaScript is a pain to get comfortable with for sure and it takes time, but I think that in this day of Ajax logic Web developers can not and should any longer avoid this particular learning curve.
Excellent feedback, thank you very much. A few answers to some of your questions…
$listen: The beauty of the $listen event sink is that you don’t need to know about changes in the DOM. The feature is using the native event bubbling that happens for some of the DOM events. This way, we are able to do the selector matching when the event bubbles up, not when the event is attached. So no, a $query won’t be executed for each $listen, on every DOM modification. Actually, nothing at all will happen when you do that. The extra work happens when the event is raised (so ít’s ok to use this for click events, no so much for mouse events).
Declarative syntax: one has to keep in mind why we need unobtrusive JavaScript in the first place. First, it fixes a number of timing issues and helps make the page degrade in the absence of JavaScript (the new syntax checks against both requirements). And then, there is the separation of semantics and behavior. This one is a little trickier. For example, what’s the value attribute of an input tag? Is it semantics or behavior? How is the text of a watermark on that same element different? What does it mean to add a date picker behavior on an input tag? Isn’t that making the semantics of the field more precise (it’s a date field, not a text field)? Our first attempt at a declarative syntax, xml-script, was very much focused on being unobtrusive and separated from the HTML markup. Guess what… Most people hated it with passion. Having to maintain in sync two blocks of markup for what they felt was the same entity was just painful. To be clear, I agree 100% that keeping one’s event handlers and code separated from markup is the way to go, but extending the HTML markup with behaviors is a very different thing and it is just much more manageable to keep everything in the same place in that case. Then again, you don’t have to use the feature, $create is not going away.
One more minor thing: in our experience, 8000 downloads is actually pretty good for this type of thing.
Thanks again for the feedback, this is great.
That is excellent news about $listen. I was worried that it would be $query’ing after every DOM manipulation (for each $listen), and then running an $addHandler type setup on each matching element.
Thanks for the clarification. That event bubbling method sounds like it will be great for the vast majority of scenarios.
Great post! As much as I appreciate the work that is going into ASP.NET AJAX I simply cannot get myself away from jQuery. I would hope that they further develop the Visual Studio environment for JavaScript.
Face it, MS have lost out bigtime in regards of a js client framework. When they eventually do release this it will be buggy, unsupported and have a small fraction of the userbase. They will set the priorities from the offset claiming it is an unofficial unsuported framework and the only assitance will be from other lost people over at asp.net. There will be no roadmap, no nightly builds, no future. DejaVu, yes once bitten twice shy.
Why dont they use an already well established and well tested framework that already has a good userbase and learn to love and embrace it. MS cant do everything good, why do they try these half hearted attempts to gain market control then leave the userbase drowning. The ajax control toolkit is a prime case. It’s been forgotten about, no roadmap, little development…….I gave up a long time ago and have never looked back.
Support for CSS 2.1 selectors, how are they ever going to convince people to go back to ASP.NET AJAX from jQuery? We already have large pieces of CSS 3 selectors working there.
I totally agree on the ‘hiding javascript from the developer’ part! It’s just part of web development … learn it, deal with it.
Maybe it’s better to just limit ASP.NET AJAX to the use of PageMethods and ScriptServices and put time and effort in supporting third party javascript frameworks through an ASP.NET AJAX Contrib project (something like that)?
i second the sentiments concerning raw Javascript in general and JQuery in particular. I have never once thought to use their AJAX support, since i’m an adult and i like my markup straight, no chaser.
There is such a dizzying pace of innovation in the Javascript/dhtml space (by people doing real-world, non-academic work) that there is no chance of ASP.NET keeping pace on the client-side.
As a funny side-note, im converting an app from ASP.NET to Java/JSP (client requirements). Because i avoided the ASP.NET bits in favour of JQuery, porting is actually happening at a much quicker pace.
@redsquare: I’m having trouble figuring out what you’re talking about. ASP.NET AJAX is a fully supported product, and that new stuff will be part of ASP.NET 4.0, which will also be fully supported. The toolkit is *currently* only community-supported, but I think the roadmap document is pretty clear that we’re going to remedy that. Also, it’s quite ironic to predict that there will be no roadmap as a comment to a blog post about the roadmap.
Ooo, music to my ears. Thank you! I hope MS people listen to this post, swallow their pride — if you try to do everything you won’t do any of it right — and focus on the major pain points. Play nice with others and a lot more people will like you. Also, avoid leaky abstractions that seem to make things easy and you will have more time in the future since you won’t be forced to introduce yet another abstraction that fixes the first one.
I’m just confused :) I used to do webforms and toolkits and update panels. They gave me headaches as soon as I wanted to do something outside of a quick prototype demo.
Then MS MVC came out. I gobbled it up, found jQuery, fell in love.
Then I see this post.
As a contractor, I’ll now have to probably end up using both systems - but the longer I’m away from asp.net ajax, etc… the more convoluted it looks.
ie. look at the ugly above.
As stated - the templating is better - but isn’t it humorous that as stated, not too long ago we saw how well jTemplate works ?
I’m one of those guys that finally said, I have to learn javascript to really meet the requirements of my customer. It isn’t too bad.
Personally, I think update panels are required for asp.net webforms because webforms are so javascript unfriendly, which is why I really enjoy working with the asp.net mvc instead.
I can’t see MS using jQuery - I mean, they can’t use NUnit, instead some rip off called MSUnit, or Linq over SQL instead of NHibernate, etc…
I just pray my next few gigs stick to MS MVC ;) (or, wait, Monorail - lol)
Bertrand, I dont understand why it is confusing, I mean can you give me a link that provides a roadmap for the current asp.net ajax framework and toolkit? Also when was the last bugfix for users of asp.net ajax in .net 2.0? Have you added json support? No, people have to use Jayrock. There has been no upgrade, no new features and now you have moved on.
What support are you going to give to the companies that have invested heavily in your current offering or are you changing tact so wildly that there will be no chance or a migration?
I think we know the answer.
My point is your very good at following on from others trends but then only making that first step and then abandoning ship and jumping on the bandwagon of others success - think ORM mapping, dynmaic typing, MVC, tabbed browsing, javascript frameworks, json support……need I continue.
I have been frustrated for the last 3 years turning up at a new gig to find a drag drop mess of update panels wrapped around whole dom structures and been asked to solve performance issues.
You guys never once gave guidance about the dangers of update panels and using multiple extenders and the fact it will lead to severe footprint penalties and dom initialisation problems. You did not educate people about using json as an alternative to sending tagsoup back and forth in xhr requests. You will push the benefits of your products but never highlight the dangers or best practise. You pushed people down the existing model due to the shortcomings of the flawed viewstate model, I can give you links to sites that have to make a 60k + roundtrip just to add 20 items to a select element.
We want you to be thoughtleaders, the roadmap lists nothing new at all, jquery et al already do everything you propose and do it very well. By the time you release they will have moved on and you will always be playing catch up. I just cant see the need for you to invest heavilly in trying to emulate. Invest the resource in
P.S you mentioned over at asp.net you would remove the links in your showcase to all the sites that have in fact abandoned the asp.net ajax framework. They are still there!! Can you see why we have become think skinned?
Great post Dave.
I’ve also been drifting away from ASP.NET AJAX.
My decision to abandon the framework was due to: the frameworks large JS footprint, the awkward (pseudo statically typed) server-side approach, an unproven scalable / performance track record, a perceived lack of competency in the ASP.NET AJAX Team (mostly due to lack of transparency, and diverging visions), a love for JS an aversion to leaky abstractions, and a nagging reminder that many frameworks do fail - and that’s OK.
ASP.NET AJAX has been designed primarily as a Visual Studio control extension collection, to encourage 3rd Party ecosystems, but not for scalable websites where performance matters. ASP.NET AJAX may continue to be used in the realm of internal / intranet business applications and will probably be replaced by Silverlight and its less leaky abstraction, because the developers that are still embracing ASP.NET AJAX will likely be the ones migrating to Silverlight.
@redsquare: still no idea what you;re talking about. This whole post is about the roadmap and yet you still claim it doesn’t exist. I’ll give you the link again. http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=14924
The last bugfixes and new features for ASP.NET AJAX are shipping with 3.5 SP1, which is imminent. The latest update before that was 3.0 which shipped beginning of this year. The next preview will be next week.
JSON support? What do you mean exactly by that? We’ve been supporting JSON from day one.
Oh my God, that was perfect. I felt like I was reading my own wishlist. However, unlike you, I have not drifted anywhere other than the core libraries and my own stuff I wrote.
I love the hilarious “astronaut” comment. I hope the MS calms down from “dot.mania” and flattens out the model. All those dots lead to performance issues.
Either that, or make more $() shortcuts, but I prefer fixing the problem itself. MS tweaked the .NET model significantly in .NET 2.0, why not do the same in the 2.0 release of ATLAS? (I still like that name!)
How about auto-disposing events as well? Let me use $addHandler, and you take care of $removeHandler. I hear ‘ya on the $listen() thing, but I don’t want the overhead. I still deal with ancient computers in my userbase.
One last request: how about some killer documentation for the ACT that fully-documents each and every property? There should be some baseline stuff, and each new control should have to conform to the standard in order to make it in. A one-liner describing a property doesn’t cut it. EXAMPLES of each property would be great.
Especially for animation.
Thanks for listening!
How’s this for a freakin Roadmap… Instead of developing its own proprietary vector style graphics language “XAML”, how about they spend that time and energy to forward Web Standards and make IE work properly in regard to those standards. That’s what would make everyone’s life instantly a lot easier. Do we REALLY need a WHOLE NEW LANGUAGE in order to do things like layout, positioning, and animation when that’s what HTML, CSS, and JavaScript largely already do?
And how about instead of buying out Yahoo and shutting them down, “building a better Website” to get “eyes” on their pages.
If Microsoft REALLY gave a horse-hockey about “forwarding web technologies” they would have done it already. But WHY would they want to do something that would create less demand for their Operating Systems, and Desktop Software?!?!?
…There’s too much conflict of interest in where Microsoft’s cash is coming from. Web technologies will be forwarded by other companies. Companies that have an interest in making Web Software work as well as Desktop software. Companies that want software to work without requiring a full PC and operating system.
Don’t waste your time with Microsoft’s fake attempt at good intentions. Spend time with the people who have a vested interest in making Web technology work. jQuery, Yahoo, Google, Adobe, Ruby, LAMP, Scriptaculous/Prototype. These are names you can trust to forward Web development. Micro$oft? …Not so much.
The desktop may be their bread and butter, but Microsoft’s abstinence won’t stop web development innovation. Recusing itself would only hurt Windows Server OS sales in addition to whatever attrition happens on the desktop.
I don’t think Microsoft is short sighted enough not to realize this. As such, I don’t see a credible reason to distrust their efforts on this front.
Also, to be fair, I don’t think the ASP.NET Team has anything to do with XAML.
Hey now, don’t be so harsh on the MS team. VS 2008, LINQ, XML literals, and a sizable portion of the stuff in ASPX is very, very powerful and fun to use. I think they are making an good faith attempt to be more open with this roadmap.
The big problem to me is the time between releases. I think 3 maintenance/minor feature upgrade releases a year is the minimum to keep the quality of the product up, and keep developers happy. Is MS committed to do that with future aspx/ajax releases? The typical MS multiple-year release schedule is not working for us.
I personally don’t think I will go back to ASP.NET AJAX after discovering jQuery ajax calls. I appreciate the audience they are intended for and that they may well be effective but…
The things I don’t like about ASP.NET AJAX are - the declarative markup is messy and mixes javascript with .NET. Also the large overhead involved affects performance and the markup is more complicated IMO.
jQuery / ajax has definitely seemed like the way forward for me with the selectors being so versatile and simple and much like css. Also all the functionality can be separated from the HTML markup totally which is perfect and more logical. The ajax calls are simple, lightweight and this breaks down the barriers between front end and back end development and provides a means for us to no longer require multi page web sites. We can harness the power of C# and SQL and use jQuery to make asynchronous calls to our C# classes and then when the data ia ready modify our User Interface with ease and elegance.
My one thought about what IS needed is some sort of proper framework to organise all the js code properly and make it even easier to find the right bit of javascript to modify when working on a site. I have realised that this can get quite out of hand for larger scale developments with multiple javascript includes. Also what would be good is some kind of memory management / garbage collection on the client side to make sure the browser does not get overloaded and is running at optimum performance. I’m not sure if this already happens or not.?
We are all still testing these boundaries at the minute to see how far we can push it. I think we are on the right track with jQuery and ajax but I don’t think we have what we need properly yet as web developers of the future. In 2 years time I think the way we build websites will be different to how we do it now and Multi Page sites will be old hat.
Personally I’d love to see support for virtual path providers in precompiled web applications! :)
Hello everyone,
I also agree with you. I think anything related to Microsoft should be thought in order to beat any product out there. I mean, reading the roadmap I’ll stay with jQuery because I find it easier, more clear and scalable. Can anyone tell me what can’t I do with jQuery + ASP.NET?
Thanks for your posts Dave and congratulations
Miquel
So why don’t you like treeviews and splitters? Why are they so common on winforms (and highly usable) but not generally found (or implemented) on websites? Besides the complexity of implementation and the performance on the web is your comment indicating a particular UI perspective (such as the UI gets complex it should then be in winforms) or a UI bias (such as webforms should replace winforms)?
In my experience, they are typically signs of a web app that isn’t well designed for the web. Often a desktop application ported too literally, or a greenfield app designed by someone still rooted in desktop development.
For example, if the same documentation is available on ASP.NET and MSDN, I always avoid MSDN. It’s slower and clunkier to navigate, for the same information.
That said, I’m sure there are examples to the contrary too.
Looks like the ms guys have seen sense after all.
Congrats all
http://jquery.com/blog/2008/09/28/jquery-microsoft-nokia/
I saw that earlier. Couldn’t be happier about it.
I’m first reading this post after the MS/JQuery anouncement and I’ll tell you it puts a different perspective on things.
However I’m sure glad to hear about it, it seems like ScottGu is pushing the big picture in the right direction.