Slashdot Mirror


Microsoft Releases Atlas

Jason Lind writes "Much earlier than anticipated, Microsoft announced the release of Atlas this afternoon at MIX 06. For those who don't know, Atlas is Microsoft's AJAX API for ASP.NET 2, which they claim will greatly reduce the effort in developing AJAX style applications on their platform."

11 of 300 comments (clear)

  1. If it's anything like the rest of ASP.net... by CastrTroy · · Score: 4, Interesting

    If it's anything like the rest of ASP.net, It will require that you use Microsoft's wonderful web technology, with __viewstates, and other wonderful features. You won't be able to customize it nearly enough to do a professional job, and will only work for really quick and sloppy applications that don't really need AJAX anyway. I use ASP.Net on a daily basis. We've found the best thing to do is to ignore all the form/component stuff that microsoft has built, and just use tools we have built ourselves, which although they do many of the same features, are much more extensible and easier to use.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  2. Ajax is a flash in the pan by jimmyhat3939 · · Score: 5, Interesting
    Personally I think the whole Ajax thing is overblown and will die down in the next year or two.

    Are there good uses for Ajax? Sure. Google Maps is probably the single best example out there at the moment, and I would expect some more to show up soon.

    BUT, will Ajax supplant the client app as the workhorse of productivity applications? Not a chance:

    • Ajax requires all communication be serialized using a Javascript callback scheme that requires extensible but ultimately limiting xml communication between client and server.
    • To get good performance, Ajax forces you to code a front-end application using JAVASCRIPT. Now I've coded some pretty complicated Javascript stuff, but it's just not the right language for writing full-featured applications. It's barely even object oriented, weak typed, etc. And debugging it is a disaster.
    • If instead you decide to have the server make all the UI decisions for you ("put this text here, that box there"), that's fine except you'll see lag anytime you do anything. Imagine trying to update an entire column of data in Ajax Spreadsheet. The server has to send down exactly what to put in each cell and do all the computations for you before you see anything. Google Maps has this problem - I often see white boxes, unrefreshed boxes, etc. and I'm using the latest Firefox!

    The funniest thing for me about Ajax is it basically is just doing what Java Applets can do, only Java is better. WTF?!?!

    --
    Free Conference Call -- No Spam, High Quality
    1. Re:Ajax is a flash in the pan by AKAImBatman · · Score: 5, Interesting

      My thoughts exactly. I cringe to think to what it would be like to maintain an entire Unix application that did everything in X11. Even with a development environment that was built to support X11, I think it would still be a nightmare. X11 is good for little apps like calculators and graphical terminals, but is not the best way to do the entire application.

      Or, on the other hand, maybe we could make widget libraries that do all the heavy lifting of X11 for us? Then we could program to the widget libraries rather than the uber-complex X11 drawing library! Genius!

      The same is true of AJAX. Right now, everyone is programming at the lowest level. What AJAX needs is a higher level set of widgets that can accelerate development. Mozilla took the XUL path, but that won't work for cross-browser applications. We need a general-purpose widget library written using the standard HTML DOM. Then AJAX will become a quick and easy option.

      Unfortunately, Atlas isn't it. This is just a collection of custom tags to simplify and standardize ASP programming.

    2. Re:Ajax is a flash in the pan by pnatural · · Score: 4, Insightful

      Ajax requires all communication be serialized using a Javascript callback scheme that requires extensible but ultimately limiting xml communication between client and server.

      False. The web server can return text, plan old xml (POX), or JSON or anything that can be encoded over HTTP.

      To get good performance, Ajax forces you to code a front-end application using JAVASCRIPT. Now I've coded some pretty complicated Javascript stuff, but it's just not the right language for writing full-featured applications. It's barely even object oriented, weak typed, etc. And debugging it is a disaster.

      False. You're mixing concepts here (performance and client scripting language). Further, EMCAScript isn't OO and shouldn't be: it's a prototype based language. And any developer tackling this problem in today's world should use one of the many freely available JS libs (Dojo, MochiKit, Prototype, etc). Hell, MochiKit has a built in debugger.

      If instead you decide to have the server make all the UI decisions for you ("put this text here, that box there"), that's fine except you'll see lag anytime you do anything. Imagine trying to update an entire column of data in Ajax Spreadsheet. The server has to send down exactly what to put in each cell and do all the computations for you before you see anything.

      Knock, knock, web server calling. HTML UI decisions start on the server and get modified locally by the client. This is the nature of HTML and always has been.

      Google Maps has this problem - I often see white boxes, unrefreshed boxes, etc. and I'm using the latest Firefox!

      Oh, lordie. You realize that Google maps doesn't use Ajax, but instead makes heavy use of IFRAMES? (last i checked, this was true). And you realize, of course, that your connection speed might be to blame?

      You've painted AJAX with a pretty broad and off-base brush. Better luck explaining it to the ignorant.

    3. Re:Ajax is a flash in the pan by SerpentMage · · Score: 4, Insightful

      Considering I wrote a book entitled Ajax Patterns and Best Practices the mistake made by many is the fact that Ajax is not about extending the current Web paradigm. Ajax when done properly includes REST, Web Services and a decoupled architectured. This means the client is not dependent on the server and vice versa. Granted the client makes Web Service calls, but the client does not know the technology used to implement the Web Service.

      What makes me laugh about many vendors in contrast to the community is that they simply don't get it. Microsoft and co think Ajax is a "style" of programming by extending and locking the client to the server. This is plain simply wrong, wrong, wrong!

      Now to address to your questions:

      1) First Ajax does not require XML, but relies on the Permutations pattern. The Permutations pattern is a REST style web service that says the content sent and received by the client and server depends on the needs of the client. That might be JavaScript, XML, bitmap images or even HTML.

      2) Coding a front end in JavaScript is not a problem. Coding everything with JavaScript is a problem. Just like coding everything with Java is a problem. Writing a good Ajax applications means creating a client that calls a server using Web Services.

      3) To address your problem you use the Infinite Data pattern that uses callbacks that sends data to the client as it received.

      Again, part of the problem is that many are considering Ajax as an extension of the current Web Paradigm. Ajax is not that. Ajax is a SOA client that makes Web Service calls. Granted I will give you that companies like Microsoft confuse the issue by creating stuff that completely breaks REST, and Ajax design concepts.

      If you want more information feel free to check out my site http://www.devspace.com/ as I have some prototype implementations of the Ajax and REST patterns that I was talking about (inc source), and look at the Ajax QA. And if you have any further questions just send me an email and I will be more than happy to answer your questions.

      --

      "You can't make a race horse of a pig"
      "No," said Samuel, "but you can make very fast pig"
    4. Re:Ajax is a flash in the pan by FecesFlingingRhesus · · Score: 5, Informative

      see my other post http://developers.slashdot.org/comments.pl?sid=180 799&cid=14959879 it already exits it is called Echo2 it is a open source Java web framework. AJAX is integrated seamlessly into the component model. It is the most comprehensive toolkit I have found. I have been researching them for my new project for several months now and Echo2 is leaps and bounds ahead of the other competing projects.

  3. Mythology, lol by tehshen · · Score: 5, Insightful

    In mythology, Atlas and the Titans revolted against the Olympians, lost, had his brothers betray him, and was punished to carry the world. Is this some sort of metaphor for the IE development cycle?

    --
    Guy asked me for a quarter for a cup of coffee. So I bit him.
  4. Re:Microsoft learning its lesson? by Anonymous Coward · · Score: 4, Informative

    ASP.NET 2.0 has a lot more options, including XHTML.

  5. Re:AJAX is bad by lukewarmfusion · · Score: 4, Insightful

    1. You shouldn't be testing for a UA, but for object support.

    2. You can build accessibility into an AJAXified application, but it will take more work. I find that the people who care enough about accessibility on normal websites are the people who are also willing to put in the extra work making applications accessible.

    3. Another attack vector? Sure, but introducing any technology introduces new risks. That doesn't mean you should dismiss it entirely. Bad code is bad code - no matter whether it's AJAX or PHP or Ruby.

    4. This goes back to accessibility. If a client doesn't have Javascript at all, you need to account for that. If you're writing an app that absolutely requires Javascript, then you need to accept that some users won't be able to use the site.

    5. This is the crux of your argument, I think. Some applications are dependent upon Javascript for a good reason - they aren't normal websites. The example I use is of a university that has thirty or so platform and browser combinations to support. Deploying an internal desktop app is expensive, difficult to support, etc. But a web app can be brought up on all of the supported environments - which means you can build for those and ignore anything that's unsupported (like Lynx). We're talking about interfaces which replace a desktop app - but still need comparable functionality, speed, and interfaces.

    The web has always been a quickly changing landscape. AJAX is a feature on that landscape, not the future of it. Like anything else it has its valid uses and invalid uses, can be abused, and can be done poorly. But so far, none of this is a reason to dismiss it entirely.

  6. Atlas? by TellarHK · · Score: 4, Funny

    *shrug*

  7. Did you guys even read TFA??? by moochfish · · Score: 5, Informative

    I'm not really a fan of MS, but I recognize they have a lot going for them. I'm a PHP developer so please don't assume I'm defending it because I like ASP. Really, I don't.

    I think a bunch of people commenting read the press release and made their judgements without actually investigating how incredible the technology is. There was even the flamebait who posted something about cross browser compatibility. Well, watch the freaking demo video before you go trolling. You can find their first of many such demos here:

    mms://wm.microsoft.com/ms/uifx/asp_net_atlas.wmv

    Maybe I find it amazing because I'm not that used to ASP development, but I'm thoroughly impressed how far MS has come in making developing for their platform easy. The demo I pasted above shows him making a pretty standard data grid. That part is cool, at best, to anybody familiar with ASP, and flat out amazing to anybody who's never seen ASP sites being developed. About 2/3 into the video he busts out the new Atlas code (so fast forward to there). It was maybe 3 additional ASP tags to implement full asynchronous functionality plus one more to setup a "updating..." dialog. Suddenly, a page that required refreshes on any action could add, edit, and *sort* paginated data without any refreshes.

    And then he fires up the same code in Firefox and goes to show that it works exactly the same in both browsers. 3 ASP tags.

    I'm sorry, but how can you blindly bash that? Sure there's equivalent technology in the works out there (such as rails), but it doesn't make this any less amazing. If there was a development platform as complete as MS's offering but based on Python/PHP, people would be pissing their pants. To ASP developers, this will make creating AJAX functionality unbelievably easy.

    MS just scored major Hype 2.0 points today. But the hype isn't all unjustified. Again, go learn about this before you bash it.