ASP.NET Ajax Beta Released

There are some significant changes including:

  • $()
    is now $get(): This means that you can play nice with libraries such as
    prototype. It is really interesting that Microsoft took this step
    instead of saying “screw it. why should we change because of you” and
    instead decided to play really nice. If you do not care about prototype
    and co, you may prefer the simplicity of $()
  • Performance:
    “We have spent time optimizing the network traffic size of client
    JavaScript callbacks to the server. Controls like the UpdatePanel,
    UpdateProgress, and Control Toolkit controls no longer emit xml-script
    by default, and instead just emit 1-2 lines of JavaScript (which can
    help significantly reduce the network traffic size on the wire). We
    have also moved from using JavaScript closure-based classes to using
    prototype-defined classes in the core type system, which we’ve found
    reduces memory usage for most common application scenarios.”
  • File size:
    They took time to modularize the JavaScript, and you can download
    various parts and pieces instead of just the kitchen sink. I wonder if
    VisualStudio will be smart and auto include what you really need?
  • Browser Support: Safari is now officially support, with Opera in the works
  • Better Debugging Experience:
    They did a couple of things to help with the hell that can be
    JavaScript debugging: “1) By moving our JavaScript class definitions
    from being closure-based to prototype-based, you can now use the
    existing Visual Studio 2005 script debugger (and/or other existing
    JavaScript debuggers) to better inspect and step through JavaScript
    objects. Closures previously hid a lot of inspection information.2) We invested a lot of time putting together an automated
    JavaScript build environment that enables us to produce two versions of
    all of our JavaScript files: a retail version that is optimized for
    performance and download size, and a fully instrumented debug version
    that is optimized for helping you catch issues with your code during
    development. Every function within the debug version of our script
    files now includes parameter and argument validation code that verifies
    that the function is being passed the correct arguments before running,
    and that will assert with stack trace information if not. This can help
    to more easily pinpoint errors with your JavaScript code early, and
    hopefully significantly improve JavaScript debugging.”
  • Lots of Improvements in the Client Script Library Stack:
    “a) Simpler client JavaScript event model. It is now easier to define
    and attach events on the client. Object events are also now created on
    demand to reduce startup time and the size of the working set. b)
    Simpler Component, Behavior, and Control types. APIs can now be used
    without first needing to instantiate their related objects, and
    on-demand semantics have been added to improve performance. c) Client
    networking improvements. Default callback functions and method-name
    semantics provide a much easier way to perform common asynchronous
    callbacks. d) Membership and Profile APIs. Simpler APIs for interacting
    with the Membership and Profile APIs from client-side JavaScript are
    now supported.”

Link

Leave a comment