Hmmm... I hate the word Ajax.
Because when I started javascripting, Ajax rapidely came up and didn't need a name of it's own: it just happened out of the will of some to break webdesign constraints.
Then again, I didn't like the word DHTML either.
But I like the fact it gets structured, normalized, and supported by companies like ibm.
So, knowing that eclipse rules as far as Java is concerned (and C/cpp for that matter), and is an exceptional development tool,
I can only bow down before..
Hey i was wondering is XMLHttpRequest like an activeX component. Like if i use it and someone visits the site will they have to install/download the activex portion?
I'm still confused about that stuff, as far as i can tell you use their coding system to build sites - and the compiler can output a dhtml/javascript version or flash. Mind you the dhtlm stuff they have only half works.
Eclipse is not like lazslo at all.
Eclipse is an Integrated Development Environment of some sort.
At the beginning, IBM wrote and published the core of eclipse, which became a community process and an open framework.
Meaning that it's main purpose, aside of acting like an IDE, is to be upgradable/customizable: Eclipse is meant to develop eclipse as well as Java applications.
It's state of the art for Java developers, it's plain amazing and helps streamline Java development like no other tool.
...
And to answer your first question, in IE, it is, so yes and yes.
But you can work around xmlhttprequest and still do Ajax. By loading the data as plain text and parsing it.
Ajax is mainly a generic term that emcompasses asynchroneous js/sside communication.
It is what amikael worked on for years (only he poured most of the charge on the server which wasn't wise), but it also is www.ozones.com, some of poi's widgets, www.bugimus.com, and the likes.
The XMLHttpRequest object has been around for a while now. At first as an ActiveX bugger in IE5 ( or 5.5 ), then as a native JavaScript object in Safari, FireFox and Opera.
The W3C has taken note and published a Working Draft of the XMLHttpRequest Object. Having an open standard will provide a common ground for all web developers and browser vendors.
Seems to contain a whole lot of cool javascript helpers as well:
quote:
AJAX Toolkit Framework (ATF) will provide extensible frameworks and exemplary tools for building IDEs for the many different AJAX runtime offerings (Dojo, Zimbra, etc) in the market. These frameworks will contain features for developing, deploying, debugging and testing AJAX applications. Tools built upon these frameworks will initially include: enhanced JavaScript editing features such as edit-time syntax checking; an embedded Mozilla web browser; an embedded DOM browser; and an embedded JavaScript debugger. Because it is a framework, ATF will provide for the development and incorporation of additional AJAX development tooling. ATF will use existing Eclipse extensions for web application deployment so that the environment will be "server agnostic" - that is, a developer may easily extend the framework to deploy their AJAX application to an arbitrary new class of server. Initial adapters will include a J2EE / JSP adapter and an Apache / PHP adapter. An additional and unique aspect of the framework is the Personality Builder function, which assists in the construction of arbitrary AJAX runtime frameworks, thus allowing those runtimes to be used with ATF tools.
Yeh i have done a bit more research on it, found out what poi said. Some browsers now do the XMLHttpRequest but IE6- is still treated as an active x object. Also i guess i'm refering to ajax because its easier to type, really all i'm doing is the HttpRequest side of things.
The thing i don't get is that some websites i visit i get the IE popup at the top saying 'do you want to allow this activex....' but i made a little trial with XMLHttpRequest and i didnt get that.
In the demo i made basically i used XMLHttpRequest to load a php serverside page and get the result from that, the result being anything i 'print' ed or 'echo' ed. Is that what you mean by plain text?
I'm assuming the non plain text mode is xml.
My main concern is i don't want users getting the 'do you want ot allow this activex' every time they load the damn thing. Up to now i have been using iframes to asynchronously get data from php scripts.
To me, *any* asynchroneous client/server communication via js/xhtml and company is ajax.
And for the time being, I'd recommend "forking" for IE until xmlhttprequest becomes a standard, and reverting to some iframe thing, to ensure maximum compatibility
(eg. xhr for Moz, Konqueror and Op, and crippled coding for IE, suits it).
But I could be wrong, it's been a while since I last made a web page.
Well i'm only supporting IE5.5+ at this stage, as its a very targetted web application - so i might stick to the text data. You should be careful using ajax like that, i mean JSON uses async etc.. actually i think i will use the JSON method its quite impressive really - and simple.
How about we make up a new word and call it jasync (javascript asyncroneous comm)... because ajax and json and many others all use Jasync.
:P
Its nothing new just people are throwing around ajax in all crazyness, using it wherever async is involved (wherever xmlhttprequest is involved really, it has a synchronous mode too!).
Yeah, that was my point exactly, but seeing IBM and the Eclipse foundation put energy in it, and after having given the latest FF build a whirl and finally adopted it (there is a Mozilla browser in EclipseAjax),
I am glad *these people* call it Ajax, because it means they will help streamline that kind of app development greatly. And god knows they know how to make incredible tools for developers.
*me happy*.
Might be what I needed to get back to some js.
And pay attention to the fact this whole fuss means Ajax may become a real standard framework for web development.
Very true, i have thought about that - i mean its not like this is any new technology all of a sudden, it just got a name :P... I beleive it may have been given names before also, for some reason it has all of a sudden surfaced tho.
It's perfect for me as i've been doing server side programming & Databases for ages, and i have been doing the client side stuff. So i dont actually need to learn anything new :P. Again its not new tho, ive been doing the same thing just with iframes for a while.
I think people were moving a bit away from javascript, this could bring life back into it - some people compare Ajax to flex etc, but flash still sickens me. In their own demo on flex they have text that is blurry and almost unreadable, until they can do the basic necessities right, they wont be on my boat.
As stupid as the Ajax term is, it helped nail the concept of asynchronous application to a slightly broader public than the web developers who anyway have all done asynchronous applications for aeons.
You should read Jim Ley's article about using the XML HTTP Request object. He provides a method to instanciate an XMLHttpRequest object that work in Internet Explorer on Windows, Safari on Mac OS-X, Mozilla on all platforms, Konqueror in KDE, IceBrowser on Java, and Opera on all platforms including Symbian.
Beside the instanciation that is crippled in IE, the browser vendors have implemented the same methods. As there was no open standard they slightly differ in some parts ( such as when the readyState is reset to 1 when you re-open() a connection, ... ).
H][RO: You can use the XML 'mode' if the server return a Content-type: text/xml/ or application/anything+xml, and of course the XML document must be valid. A node not closed, or a gremlins in the attributes and bam! the responseXML property of you XMLHttpRequest object will be null. But it's really simple to generate a valid XML document.
quote:i mean JSON uses async etc..
JSON is just a de/serializer of JavaScript objects. You can use it anywhere, regardless of the synchronous state of your code. And FWIW I don't really like JSON for it uses eval(). Eval() is evil. It has some security issues. On one hqnd I recognize that JSON is convenient because you don't have to parse a hell of XML document, but writing a parser is not hard and much cleaner.
Yeh i'm using the same method to instanciate the XMLHttpRequest object, no problem with that it's working well. I didn't have a problem with instanciating it - just wasnt sure when to expect ActiveX confirmations in IE.
Sorry i mentioned wrong with JSON, i was point out that you can use asyn data transfer with other things as well as xml, and that people are using the term AJAX when no xml is involved. I agree tho, i don't really care about it and it is showing new life to javascript for many people - which is great (myself included!)
While eval() is evil(), there is a specific JSON parser out there which means you can only pass data in the correct format, removing the security issue. I really disagree that the XML method is much cleaner, the JSON method is very clean, can work with different type objects, arrays etc and requires less parsing. (The parsing involved is basically to deal with the security issues).
Having said that - it depends on the context. For my use I am using it to run a php script, do a few things and return an object with only a couple of values, like result, message and a few other things. Really i dont need XML or JSON for that, but I am feeling that JSON is very flexible - and there shouldn't be any security issues even when using eval since it is verified.
There are security issues with many things - as long as you know what they are and use the appropriate protection its all good.
The next wave of browsers that don't already include XMLHttpRequest as standard will, like IE7 etc - i guess we still need to cater for the old browsers tho.
I admit I've not tried to do code injection in JSON with the real JSON library, but that's what I had in mind when I said XML parsing is cleaner/safer.
Indeed it all depends on the context. We've finished an Ajax application on mobile phone. The JAVA backend does its job and returns some XML documents including some datas from various content providers. The depth of the XML documents we receive is 4-5 levels at most, so it's really easy to parse. We have a Parser singleton with a method to parse each type of requests ( i.e. news, search, ... ). We also use XML because we receive some HTML markup that we sanitize ( using a whitelist of tags and attributes, using DOM parsing and of course NOT appending the markup to the innerHTML of an element in the DOM tree for the same reason that we don't use eval() ) to keep a decent presentation even though some times we receive an indigest tag soup.