Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming IT Technology

AJAX Buzzword Reinvigorates Javascript 541

samuel4242 writes "Javascript may have been with us since the beginning of the browser, but it's going through a renaissance as companies like Google create Javascript-enabled tools like Google Maps . There's even a nice, newly coined acronym , AJAX for "Asynchronous Javascript and XML". A nice survey article from Infoworld interviews Javascript creator, Brendan Eich, who says that this is what he and Marc Andreessen planned from the beginning. Perhaps AJAX will finally deliver what Java promised. Perhaps it will really provide a solid way to distribute software seamlessly."
This discussion has been archived. No new comments can be posted.

AJAX Buzzword Reinvigorates Javascript

Comments Filter:
  • by 0kComputer ( 872064 ) on Tuesday May 24, 2005 @12:23PM (#12624375)
    Isn't part of this due to Microsoft's non-complient browser API?

    Go ahead and mod me as flamebait.
  • by Karma Farmer ( 595141 ) on Tuesday May 24, 2005 @12:24PM (#12624391)
    You're smoking crack. Client-Side scripting has always been in JavaScript or languages that look exactly like JavaScript.
  • widget set (Score:2, Insightful)

    by oever ( 233119 ) on Tuesday May 24, 2005 @12:26PM (#12624411) Homepage
    What we need now (and Google has shown that it's feasable) is a Javascript based GUI.

    Gnome and KDE can conquer all desktops once they are ported to this AJAX framework.

    Where's the first javascript based window manager? Personalized Google is the first step in that direction.

  • by NardofDoom ( 821951 ) on Tuesday May 24, 2005 @12:26PM (#12624415)
    ... until every browser does things the same. A lot of the current applications for Google Maps (like this one [chicagocrime.org]) don't work in Safari.

    Unless standards are complied with fully there can never be "one programming language" for web scripting. Anyone who's had to debug Javascript in IE that works in Firefox knows this.

  • by Anonymous Coward on Tuesday May 24, 2005 @12:27PM (#12624417)
    This has been possible for years. I've personally been using this type of scripting in web applications since 2001. Why the big fuss all of a sudden? Is it just because of the new XhtmlhttpRequest object (or whatever the hell its called)? You can do the same thing with an iFrame. Sure, its not as elegant, but it gets the job done. And it registers in your browser history.
  • by Anonymous Coward on Tuesday May 24, 2005 @12:27PM (#12624419)
    Yeah, but that doesn't mean Javascript can't deliver what Java promised, which is what he meant
  • Javascript? (Score:2, Insightful)

    by Umbral Blot ( 737704 ) on Tuesday May 24, 2005 @12:29PM (#12624452) Homepage
    Quite honestly javascript is a very poor language. The reason it is used so much is that it is basically the only alternative to client side scripting without Java. I would be excited by a more robust replacement for javascript, but this just seems like taking a bad idea and running with it.
  • by natrius ( 642724 ) * <niran@niran.COUGARorg minus cat> on Tuesday May 24, 2005 @12:29PM (#12624463) Homepage
    Having to go back to the server again and again and again to get tiny amounts of data doesn't sound too nice to me.

    That's what you do each time you click on a link to go to a different web page within a site. With AJAX, you only get the data you need. It's not slow. Have you used Google Maps? GMail? That's what's going on behind the scenes, and it makes the experience far better.
  • Java (Score:5, Insightful)

    by HRbnjR ( 12398 ) <chris@hubick.com> on Tuesday May 24, 2005 @12:32PM (#12624493) Homepage
    People keep talking like Java has failed and is now dead and gone.

    I have been programming primarily in Java since 97, and if you ask me, it's just *starting* to pick up steam.

    The language itself is just becoming mature - with big strides (generics, etc) in Java 1.5. And only now are we seeing alternate implementations to Suns, with GNU Classpath approaching a million lines of code, and GCJ compiled applications shipping in Fedora Core 4. Java applications such as Eclipse are also just starting to become popular, and Java API's for things like GNOME are just appearing on the horizon.

    So quit calling Java dead :)
  • Gah (Score:3, Insightful)

    by American AC in Paris ( 230456 ) * on Tuesday May 24, 2005 @12:32PM (#12624496) Homepage
    Perhaps AJAX will finally deliver what Java promised. Perhaps it will really provide a solid way to distribute software seamlessly.

    All "AJAX" is going to do is sell a bunch more four-color glossies to those IT types with more stars in their eyes than substance in their heads. It's just another vaguely-defined acronym with a catchy ring to it.

    For anybody who actually writes code, things like Google Maps are simply a happy marriage of time-honored techniques and modern browser tricks. They're cool, they're novel, they're useful, they're quite well-written, and they're letting us do things in the browser that used to require plugins--but there's nothing terribly eye-popping about the techniques themselves.

  • Open up AJAX (Score:5, Insightful)

    by iamthesamurai ( 464513 ) on Tuesday May 24, 2005 @12:34PM (#12624513)
    There is a need to standardize (as much as possible) the way that AJAX will work in the browser. There are a lot of code-writers and code-copy-n-pasters out there. When you visit one of these sites, you know because the browser may act funny due to poor programming/hacking of Javascript interacting with the server. AJAX is much bigger than just XML messaging, it's an opportunity to bring a more traditional application model to the browser via Event handling and dispatching. Notice that if you have an engine or framework that is well built, it's quite simple to add event handlers like key presses or mouse clicks or even drag-n-drop. If one was to script each element on a page, that gets heavy and can slow the browser. Which - btw, is why AJAX hadn't caught on until recently: computing resources were not sufficient in many cases.

    That being said, everyone should look at http://www.sourcelabs.com/ajb/ [sourcelabs.com]AJAX Mistakes. There's also a nice list being compiled at http://www.openajax.net/ [openajax.net]OpenAJAX .net. This combination of technologies has been around for a while, however, as people find them more useful and interesting, there is a need for good information and a solid foundation for folks to work off of.
  • by Anonymous Coward on Tuesday May 24, 2005 @12:36PM (#12624526)
    Running script direct from arbritrary servers is not acceptable from a security standpoint. Inline scripts (aside from event handlers) need to be depreciated and the end user permited to audit signed scripts on a site by site basis before running them.

  • by hey! ( 33014 ) on Tuesday May 24, 2005 @12:36PM (#12624537) Homepage Journal
    Of course, most people developing web applications have a little experience in the main technologies in AJAX, particularly DHTML and DOM, which are the critical ones. Only now we have a buzzword that HR an latch onto.

    On the other hand, if they're looking at people who can architect something like Google maps, well, they're going to have to wait until the frameworks catch up. I've got my eye on Echo.
  • by davide marney ( 231845 ) on Tuesday May 24, 2005 @12:41PM (#12624594) Journal
    Perhaps AJAX will finally deliver what Java promised. Perhaps it will really provide a solid way to distribute software seamlessly... (emphasis mine)

    The "promise" of Java (write once, run anywhere) is exactly the same as Ajax. A big implmentation difference is in the runtime. Ajax's runtime is native to the browser; Java's runtime is not.

    If what you need to do can be done with Ajax, then Ajax delivers on the promise, today. Java? Sure, it delivers big-time, if you can live with Web Start and deploying the runtime to every desktop.

    Ajax should be welcomed by Java advocates everywhere. The marketplace are finally "getting it" regarding write once, run anywhere. The limitations of Ajax are substantial, so it won't be long before people need more muscle.
  • by ciroknight ( 601098 ) on Tuesday May 24, 2005 @12:43PM (#12624616)
    I'd rather go back to the server every time for a small, 2k object than go back to the server for 14k of HTML, and 160k of images/flash/multimedia/etc. For most application's, it's even a smaller object than that. Just look at Google Maps vs Mapquest. Every time you change zoom, Mapquest has to refresh the entire page, whereas G Maps, it's entirely seemless, and doesn't even seem like it's going to the server at all.

    It's got some other potential uses I've been investigating as well. Brings back the whole HTML-based video game idea, now that you don't have to refresh the entire page to change one variable to something useful...
  • by Jeff Hornby ( 211519 ) <jthornby AT sympatico DOT ca> on Tuesday May 24, 2005 @12:47PM (#12624661) Homepage

    why bother with IE?

    Are you kidding? Are you out of your mind? Are you trying to lose money?

    These are the things that my clients would say to me if I even asked: why bother with IE? IE still has ~90% of the browser market. If you decide to ignore IE, 90% of the world will ignore you, and you therefore reduce your revenues by 90%.

    You'd be better off ignoring all other browsers and focusing solely on IE than not supporting IE.

  • by twifosp ( 532320 ) on Tuesday May 24, 2005 @12:48PM (#12624671)
    I find it hard to believe that the buzzword itself breathed life back into Javascript like the title implies.

    I think maybe the slick apps like google maps is finally showing what good code CAN do, instead of the bloated bug ridden javascripting of yesterday.

    Or maybe I'm just not transcending expectations by thinking outside of the box, and therefore my toolset isn't capable of brigding the information gap causing a chasm with my ability to think forwardly.

    I'm struggling to identify which is worse: The day when we report that a buzzword has made progress, or the day a buzzword actually creates progress.

  • Yeah, But... (Score:5, Insightful)

    by Greyfox ( 87712 ) on Tuesday May 24, 2005 @12:56PM (#12624775) Homepage Journal
    You're still programming in a brain damaged environment. The browser provides a tiny fraction of what the entire system is capable of and a tiny fraction of the refinement of the programming interfaces that have been around since the '70's. The only way that programmers will be able to cope with these shortcomings will be to increase the scope of the browser until it pretty much becomes the OS. At which point we will have gone full circle.

    That being said, this does look like the least annoying of a lot of really annoying hacks to attempt to shoehorn stateful programming into an inherently stateless paradigm. Personally I think we should be rethinking the underlying infrastructure before we build too much on top of it.

  • Re:Java (Score:2, Insightful)

    by ciroknight ( 601098 ) on Tuesday May 24, 2005 @12:59PM (#12624814)
    Maybe dead is too harsh, but "failed to live up to its promise as a client side application's framework", is still a fair assertion if you ask me. When I first heard about and learned Java, it was preached to me by everything I read as the future of everything; life as we knew it would end and this whole beautiful future of Java running everything would take over. Bunk.
    Where Java excelled was code-once locations; cell phones, nifty watches, machines of different archetectures that want to run the same program. Now with Java coming back into the personal computer, I can't help but to gag; Microsoft realized it's out of the game and .Net became the next end-all, be-all application framework, and the open source goons jumped on it just as fast as they did java, only they came out with something that worked much faster.

    So now I sit asking myself what I should be coding in, and I more and more find that the answer is as same as always, good ol' C++. Piece of shit language, but at least I know it'll still be around in 5 years, and everything should be able to compile without fighting a million version changes.
  • Re:MOD PARENT UP (Score:3, Insightful)

    by Surye ( 580125 ) <{surye80} {at} {gmail.com}> on Tuesday May 24, 2005 @01:03PM (#12624848) Homepage
    Is all of slashdot completely retarded this morning? No one confused Java and Javascript as the same thing. They mearly compared the big picture of AJAX and Java, which is portable clientside applications.

    Oh, and "There is one thing for sure though... nothing will finally deliver what Java promised. It's dead Jim. JavaSCRIPT on the other hand..." So, you're saying Javascript on the other hand... may fill that promise? Like the summary says? =D Stop coming to Slashdot please.
  • by MightyMartian ( 840721 ) on Tuesday May 24, 2005 @01:06PM (#12624871) Journal
    Well hopefully 4.x browsers are going to be in a rather sharp minority nowadays. I don't do a lot of fancy Javascript, mainly just form validation and the like, and I actually haven't had a compatibility issue in two or three years now. I don't even think about the older browsers. If someone is still running IE 5 or Netscape 4, then that's tough for them.
  • Re:widget set (Score:4, Insightful)

    by mmkkbb ( 816035 ) on Tuesday May 24, 2005 @01:08PM (#12624898) Homepage Journal
    Well, that answers the age-old question: what do end-users need 4 GHz processors for?
  • by Anonymous Coward on Tuesday May 24, 2005 @01:15PM (#12624958)
    Even with AJAX, web-based applications are still giant kludges. HTML forms is a kludge put together quickly to make web pages interactive. It's still missing basic elements like combo boxes and modal dialogs. Javascript is the same thing, a kludge that some people try too hard to make into a real programming language while keeping it backwards compatible.

    If you want to make real applications using browsers, you need to come up with native support for many more GUI elements, and you need to come up with a scripting language that is robust and geared towards programmers, i.e. totally unlike javascript. Create these two parts with no concern for backward compatibility, stop asking web "designers" to implement interactive applications, and you will have the start of real web-based applications.
  • by Anonymous Coward on Tuesday May 24, 2005 @01:20PM (#12625004)
    More functional? Dashboard widgets have the complete OS X toolkit available - you can hook into anything. Konfabulator is javascript only. Try again.
  • by Jeff Hornby ( 211519 ) <jthornby AT sympatico DOT ca> on Tuesday May 24, 2005 @01:22PM (#12625040) Homepage
    The problem with the Graceful Degradation principle is that it makes the same assumption that the designers of HTML made: the only thing people are going to want to do on the web is publish books.

    When you're trying to create a full-fledged application on the web, base HTML just doesn't cut it. Hell, even for most websites, Basic HTML doesn't cut it.

    The problem is that HTML was never really thought through. Creating sites in HTML (or any derivatives like XHTML) just doesn't work. HTML is a good model for the Gutenberg project but a bad model for everything else.

    What we really need is a new language that has nothing to do with HTML that can create complex interactions. Unfortunately that doesn't seem to be happening. Even movements in that direction like XAML borrow too much from HTML.
  • Re:widget set (Score:2, Insightful)

    by xiphoris ( 839465 ) on Tuesday May 24, 2005 @01:26PM (#12625082) Homepage
    It exists and it's called XUL [xulplanet.com], used on the Mozilla platform.
  • Re:Java (Score:3, Insightful)

    by Espectr0 ( 577637 ) on Tuesday May 24, 2005 @02:20PM (#12625715) Journal
    The language itself is just becoming mature - with big strides (generics, etc) in Java 1.5

    Big strides? How is a broken design and implementation of a feature become a big stride? Generics in Java 2 version 5.0 version 1.5 suck big time. The implementation does NOT guarantee type-safety. It DOESN'T eliminate casts, they are still being done, with a processing cost, it's just syntactic sugar.

    To try to somewhat fix this horrible implementation, they did autoboxing, a.k.a the worst feature in C#. You would think that adding the int value "8" to a list would make the list a list of ints. But no, they are a list of objects, and old-fashion conversions are done, very slowly.

    The correct implementation would let using primitives types directly, just like C#. It is sad when a virtual clone of Java is better than Java itself, and sad also because Microsoft did it.

    Back on topic, people think another language like javascript is going to succeed? It won't. Javascript works differently in all browsers. At least Java is "mostly" compatible between all vendors.
  • by argoff ( 142580 ) on Tuesday May 24, 2005 @02:45PM (#12625999)
    I don't know about you, but between all the nuances in the javascript, and all the newances in the DOM, and trying to figure out where one starts and the other begins, and have you ever tried to figure out which functions/properties work correctly for which object, and have you ever tried to figure out which DOM to use and how to make DOM's of different browsers compatable, or even simply trying to figure out which objects are really on your web page, and then trying to deal with things like XML parsing on top of that, and then now asynchronous communication, not to mention new things in the pipe like XUL, and franlky ....

    Forget the toilets, AJAX is kicking my ASS and I can't imagine that other people who want to do more than copy cutie javascript tidbits aren't having the same problem. What am I missing here?
  • Re:Java (Score:1, Insightful)

    by Anonymous Coward on Tuesday May 24, 2005 @04:49PM (#12627354)
    Sounds to me like you're having trouble getting the Java environment, i.e. JRE, running properly on your OS, not getting Java applications running. Myself, I've been able to install the JRE on both Windows and Suse without a problem, and once that's installed, it's fairly brainless to run most Java apps.

    Maybe it's a bias of my years in the industry.

    Excuse me but, (a) if you have so many years experience you should be able to realize the real source of the problem and stop blaming all Java apps out there, and (b) I have 15+ years experience from Algol to C++ to Java and PHP and I have no bias, in fact I'd say bias is an awful thing to have in this industry, you better lose it fast.
  • by drew ( 2081 ) on Tuesday May 24, 2005 @05:21PM (#12627654) Homepage
    There was "one programming language" for web scripting back when MS had 95+% of the browser market share, and FF and Moz decided to go on a jihad instead of realizing that the specifics of the standard aren't that important and a de-facto standard is good enough for most people.

    ahhh... right. so should they have followed the de facto standard as implemented in IE 5.0, IE 5.5 or IE 6.0? And how do they verify that they are compatible with whichever defacto standard they chose without visiting every site that uses the de facto standard in some way?
  • by tiptone ( 729456 ) on Tuesday May 24, 2005 @05:41PM (#12627853)
    to quote you:

    "The amount of data being exchanged is far less (if you do it RIGHT, you people who are talking about using the XMLHttpRequest.responseText property, this does NOT include you)."

    Are you implying that accessing the data being returned using req.responseText is incorrect? How else should it be done, using req.responseXML? Who has a client-side XML parser?

    Also, no data from the client should EVER be trusted, not even a little. So pushing the validation code down to the client is a waste, you're just going to have to do it again on the server side. I'm really not trying to blast you or your comment, it just raised some questions with me.
  • by masklinn ( 823351 ) <slashdot DOT org AT masklinn DOT net> on Tuesday May 24, 2005 @05:48PM (#12627932)
    I don't think giving it a cool name made it popular. I couldn't give a shit what you called it.
    That's still what happened.
    That and (much more importantly) google using it in live webapps with GMail, Google Maps and Google Suggests.

    Everyone was pretty much ready, the web was ready, we needed someone to actually make the jump.
    The CoolGuys© at google did it, people now know it works (aka it isn't yet another crappy useless technology) and are therefore willing to use it.

    Google was the First Factor
    The AJAX buzzword was the second one, because let's face it executives love buzzword, and without a l33t buzzword to go with it a technology just doesn't exist as far as they're concerned (Asynchroneous Javascript + xmlHttpRequest + DOM doesn't quite sound as sexy as AJAX, now does it?), and if an executive doesn't know your technology he won't allow you to use it in a professionnal environment.
  • by NutscrapeSucks ( 446616 ) on Tuesday May 24, 2005 @08:03PM (#12629341)
    The big burst of interest is because Firefox, Opera, and Safari now support XmlHttpRequest, so you can deploy a public web application which uses it. And yes, gmail showed people how.

    Microsoft devs have known about this techinque for a while, but it was catgorized as one of those "Evil IE-Only ActiveX" things that you could only get away with in single platform intranet apps. I also think that most people coming from a non-MS webdev background don't really know anything about proprietary IE APIs other than you shouldn't use them.
  • Re:Yeah, But... (Score:4, Insightful)

    by drix ( 4602 ) on Tuesday May 24, 2005 @08:39PM (#12629607) Homepage
    You're missing the point: you don't need that complexity any more. Google Maps basically gives me the ability to use a $300 thin client to accomplish (some of the) tasks I do at work using a $5000 Xeon machine with $10000 worth of ESRI [esri.com] software to do at work. What's more, if Google comes up with some way to make Google Maps better, like, say, add satellite images, they implement that functionality overnight and have millions of users using it the next day. Compare with the release-patch-rerelease paradigm of old. I don't consider JavaScript and the browser and it to be a brain-damaged programming environment--you just have to remember that you are no longer expected to do any heavy lifting on the client side, and the majority of the GUI tasks are already handled for you by the browser itself. Most of the "refinment[s] in programming interfaces that have been around since the 70s" were to simplify those very chores. In that sense, the limited functionality provided by JS is really quite elegant.

    Also, emulating stateful-ness over the web is being handled at a much lower level than the browser these days, and to good effect. See Tapestry [apache.org].
  • Re:Yeah, But... (Score:1, Insightful)

    by Anonymous Coward on Wednesday May 25, 2005 @12:32AM (#12630962)

    But seriously, my point is that it doesn't make sense to write javascript code for nearly every application just because HTML and HTTP don't provide the needed functionality.

    Why? Behaviour is outside the scope of HTML and HTTP. HTML is meant to form documents into a structure and describe what each part of the structure means. HTTP is meant to transfer resources across a network. Neither of these things includes behaviour or interaction with users. Why do you want to glom it on?

    You might as well argue that HTML is redundant because HTTP should do everything HTML does, and HTTP is redundant because TCP should do everything that HTTP does, TCP is redundant because IP should do everything TCP does, and so on.

    Believe it or not, it does actually make sense to partition a particular problem space into multiple solutions. If we didn't do that, we'd have a single mega-protocol that nobody would ever implement.

    Of course if we were going to skip the browser completely (as your comment hints) we'd better off using a compiled language than an interpreted one like Javascript.

    Compile vs interpret is an implementation detail, not a property of the language. For example, Python is interpreted when you fire up the Python shell, but is compiled when you run an application from the command-line.

  • by pAnkRat ( 639452 ) on Wednesday May 25, 2005 @05:43AM (#12632195)
    today, you don't do "roleovers" in javascript.
    It can be handled with CSS perfectly well.

Nothing is finished until the paperwork is done.

Working...