Home > AJAX, ASP.NET, ASP.NET AJAX, CSS, DOM, JavaScript, Software > The ASP.NET AJAX Learning Curve

The ASP.NET AJAX Learning Curve

April 9th, 2008

The ASP.NET AJAX framework comes with a lot of baggage err… I mean… a huge learning curve when compared to other AJAX Frameworks like JQuery, YUI, Dojo, Prototype / Scriptaculous.

Here's a running list of the technologies, and concepts you'll encounter when digging into ASP.NET AJAX:

  • ASP.NET
    • The Page Life Cycle
    • The Control Life Cycle
    • Web Controls
    • User Controls
    • View State
    • Session State
    • Events
  • .NET / Classical Language
    • Interfaces
    • Inheritance
    • Delegates
    • Multicast Delegates
    • Assemblies
    • Properties (Get / Set)
    • Constructors

In addition to these, you also have the technologies universal to all JavaScript libraries:

  • JavaScript:
    • Closures
    • Object Literals
    • JSON
    • Events
    • DOM Manipulation
    • Prototypical Inheritance
    • Constructors
    • XMLHttpRequest
  • Cascading Style Sheets (CSS):
  • Web Services

The ASP.NET AJAX Framework is more complex than other AJAX frameworks, I'm continually lost in it's ambiguity as it attempts to skirt around the JavaScript language – I think this learning curve (and all it's confusion) is precisely why Silverlight has so much potential.

I'm still diving into the low-level details, but my first impressions of the ASP.NET AJAX Framework are:

  • Obscure, ambiguous, no clear vision – it offers multiple (resource intensive) ways to avoid writing JavaScript, but then requires that you write JavaScript anyways
  • Too server centric
  • Too heavy weight (I'm not appreciating how they're trying to turning JavaScript into a Java, C#, .NET clone, the overhead within the browser for these conversions seems like a huge performance bottleneck)
  • Has the potential for poor performance

Most of the other AJAX libraries have been written with performance, browser responsiveness, and User Experience as their number one priorities – I'm still not sure about ASP.NET AJAX.

How many ways can we try to avoid writing JavaScript? If an AJAX library doesn't enhance the User Experience then why use it? Regardless, I'm still digging deeper.

Author: Adam Kahtava Categories: AJAX, ASP.NET, ASP.NET AJAX, CSS, DOM, JavaScript, Software Tags:
  1. April 16th, 2008 at 16:06 | #1

    I wish I could disagree with you, but your observations are right on the mark, and one of the chief reasons why I’m investing in learning Silverlight 2. There are plenty of good javascript frameworks for beautifying the UI (ExtJs, jQuery, et al.) and the entire control toolkit paradigm, even aside from raw ASP.NET AJAX is lost as soon as we want to embrace MVC (which we do). ASP.NET AJAX does make it easy to consume web services by emitting the proxies for you, but we still have to optimize those resources ourselves. The framework payload is huge. Combine that with the UpdatePanel, which pretends to ease the transition but actually performs a sleight-of-hand on full postbacks; the developer thinks they’re programming in AJAX, but they’re taking massive performance hits and ignoring the client-centric model completely. One of my ASP.NET AJAX projects is in its tenth month and I don’t think my technology choices have little to do with the slow delivery.

  2. April 16th, 2008 at 16:07 | #2

    Yep, bloated is the keyword. I like to hand-code my AJAX calls, thank you. I think it’s alot of hype too. AJAX has it’s purpose, but people use it too much when it really does more harm than good.

  3. Adam Kahtava
    April 21st, 2008 at 16:07 | #3

    Thanks for the feedback, it’s good to know I’m not alone. :)

  1. No trackbacks yet.