# Other Programming > AJAX >  So what IS AJAX?

## curtis.dehaven

Hello All...  

Ok, so I've heard enough about AJAX.  So what is it?  Is it a tehnology?  A technique?  Do I need to download something for it?  A co-worker is hooked on AJAX.  Me?  I'm an old c++ programmer sold on ASP.NET - and so the debate goes on...  Do ASP.NET and AJAX compete?  Or do they work together?  Sometimes it seems asp.net does what ajax does without all the code...  I went as far as picking up a book, Ajax Patterns and Best Practices, by Christian Gross.  So far a good book.  There's even a pattern for a problem I've been trying to solve for some time - pushing unsolicited data to the client.  So interesting...

Ok, so what's the point of this post?  I implore you.  In a reasonably sized single paragraph - what IS AJAX?

Curt

----------


## RITIK

*Ajax is just a style of design, one that milks all the features of modern browsers to produce something that feels less web and more desktop.* 

*DETAILS*

Good news: *You can run Ajax right now.* At least, assuming you have a web browser from the past few years - IE, Firefox, Safari, or Opera. Have you seen Google Maps or perhaps GMail? They're both Ajax applications. So are Zuggest and the AjaxPatterns Wiki Demo . 
What do they all have in common? *All these applications take a great leap forth towards the richness of standard desktop applications. No longer are you forced to wait five seconds for the page to reload every time you click on something. Ajax applications change in real time. They can let you drag boxes around, they can refresh themselves with new information, they can completely re-arrange the page without clearing it.* And there's no special plugin required.

----------


## Shuja Ali

Take a look at this thread
http://www.codeguru.com/forum/showthread.php?t=386373

----------


## vinitsankhe

AJAX in Microsoft developing Environment is called as Remote Scripting.

MS-VISUAL STUDIO 6 had good AJAX support. I developed a web based chat client that would automatically receive Chat Messages from the other person without any submit / refresh of the web page to the server. Just like a Desktop application

Problem with AJAX in ASP 6 was ASP does not support server threading due to which AJAX requests would queue up at the server thereby making server slow in response. As number of people using chat client would increase the frequency of getting messages from the other party would slow down exponentially.

I wonder how dotnet supports AJAX? Has it eliminated the AJAX request Queuing problem? I am searching....

----------


## dmeikle

most of my ajax has been using java, but I've been looking at tutorials on dot net with ajax and they look pretty well laid out.  I have a friend who's done 1 site using ajax with dot net and said it was just as straight forward as any other server side language.  this was before I read about its use on dot net, so I haven't confirmed a lot of items with him on it.

----------


## MDC Admin

I just got a book today on Ajax as well. I've seen the new features used in vBulletin 3.6 and they are neat to say the least.

I was wondering if they were the open source version of asp.net. Something to be used with Java Script, and PHP.

Ajax just reminded me of ASP.Net. For example, the ASP.Net validation controls that validate data and post the results or error summary information on the page without refreshing.

Was Ajax designed to compete with the .Net features, or is it something completely different? I haven't had a chance to crack the book open yet, so I still have no clue how it works. I'm sure I'll get a better idea once I start to read the book.

It seems like a cool technology. Seems like it will help web applications run a lot faster, and also save on bandwith from loading these pages over and over again just to get the same information downloaded with a "tiny" change.

----------


## Shuja Ali

Ajax has been around for quite some time now. And it is not a competitor of ASP.NET. AJAX as such is a Framework that will allow you to make web applications more richer in UI and more faster. It use Javascript and XML to communicate with the server asynchronously. You can implement Ajax in Classic ASP too.

ASP.NET comes with its own implementation of Ajax which is known as Atlas.

----------


## dmeikle

alas...in typical microsoft fashion - I downloaded the libraries from the ajax.asp.net site last weekend, plus the informative video tutorial.  Either the libraries did not install with their 'wizard' or the tutorial does not match the framework.  *golf claps*...well done MS....well done....  :Mad:  

Give me a simple jar file to drop into the lib folder any day.... 

In all fairness to dot net I haven't given up yet though...I can't, I have an upcoming project using it.  Ali, I've downloaded the 3 msi files from the ajax.asp.net site, installed them all (some of them are just sample sites) but they don't show up in my web developer express (2005) projects.  Do you have any suggestions to help me get it 'recognized' by the IDE?

cheers.
Dave

----------


## MDC Admin

Well reguardless I've given up on Microsoft, after going from VB6 to VC++ to .Net. I'm tired of it. Technology is good but I'm off to try some new technologies, just got books on PHP5, CSS2, Java Script, and Ajax.

I can't wait to check out the Ajax book and see what it's all about. Will be nice to be on the other side for once.

----------


## Shuja Ali

> In all fairness to dot net I haven't given up yet though...I can't, I have an upcoming project using it. Ali, I've downloaded the 3 msi files from the ajax.asp.net site, installed them all (some of them are just sample sites) but they don't show up in my web developer express (2005) projects. Do you have any suggestions to help me get it 'recognized' by the IDE?


What exactly is not working in your case. I do not have Web Developer Express right now, but I remember using it with these samples earlier. They worked for me.

----------


## dmeikle

well, i installed ASPAJAXExtSetup.msi and the other 2 msi files (one is samples, can't remember the other).  then I was watching the video by scott guthrie...he also uses developer express, so it should have been verbatim.

I click start->new project...but there's nothing there for a dot net ajax project although I'd already installed the msi files using the wizards.


oh for the love of pete.....would you believe it?  I just opened developer express as I'm typing this to confirm a few items, and NOW it's showing the ajax projects in the solution selection window....hahahahaa.

I guess I'll give it a go now...

----------


## Shuja Ali

It might have been that you needed to restartthe Developer Express. But anyways if it is working now, you are good to go.  :Thumb:

----------


## vinitsankhe

*dmeikle*, Atlas Setup that you have donwloaded clearly states it is Beta version.

It does not run on my home PC but its does on my office PC.

To solve the problem once in for all I downloaded the AjaxPro Source Code (an older stable version for DOT NET Ajax made available by the third party vendor called Ajax Pro Vendor  for free )

Make the DLL out of the source code and refer it in ur project

Start using it. It works very fine on my both PCs.

But Atlas when installed on my office system also worked fine. It offers some really cool tools like the UpdatePanel i.e. a panel where in u must drop your server control and all its events, although coded on server side like normal submit control, would automatically turn into Client side giving it a sleek look.

Impressive!

----------


## dmeikle

very cool, thanks!  I'll definitely check it out.

----------


## vinitsankhe

But still I wonder if AJAX runs on win98\ older version 2k (non Dotnet) PCs?

One of my server is like that, it simply rejects AJAX calls.

----------


## dmeikle

well, I do my local development on an XP and it works fine.  even some of it on a win 2k OS (since it seems a lot more stable...).  with the win2k machine, as long as the dot net framework is installed (it's running 2.0) it's fine...although it's slow as molasses.

All of the live hosting is on win2k3

----------


## vinitsankhe

Have u ever tried Remote Scripting (another name for AJAX) on classic ASP 6 model?

I somehow feel that its fast there.....

----------


## dmeikle

I have not - I haven't had to work with classic ASP in about 3 or 4 years, although before that, I was writing lots of major applications using ASP with VXML (voice XML) and WML/WAP. But after understanding how requests are handled by a server, I figure it should be very easy to implement.

----------


## TheCPUWizard

Remopte Scripting is not exactly AJAX. The Microsoft product based on AJAX is called ATLAS, and is still in a pre-release state (although there is a go-live license that allows it to be used in production).

Mixing client and server execution has been around for some time, and in that respect, ATLAS/AJAX is nothing new. 

What is new, is that both the Microsoft and Third Party Vendor's offerings shield the developer from the intricies of having the various parts communicate (almost) seamlessly.

With previous techniques, if you wanted to update just part of a page [and not a frame], you had to "hand roll" both the client side script, and some server process to provide the updates. With Atlas/AJAX, you no simply drag an UIPDATE panel onto your ASP.Net page, and viola.

----------


## dmeikle

I've got the ajax with dot net down to a science now...  I don't really like the atlas project stuff - most of what I write for dot net is all utilizing our prewritten toolbox controls, so I had to use my prewritten javascript functions page and write a custom handler that works quite well for just about all my needs.  Using our prewritten tools, I can implement ajax faster than I can configure the atlas controls.

I think there's a benefit to using the MS controls if you feel more comfortable working at a higher overall level of programming, but if you're comfortable working at a lower level of design, and want to get more into proper design patterns, it's better to use your own.

----------


## TheCPUWizard

dmeikle,

I am sure you can use your own library faster than you can use a standard library. I will not even question which library has more features, is more robust, is better maintained, etc.

What I will point out, is that, if you hire a new developer, or sell your solution into a development environment, you are *very* unlikely to find one who has experience with your library (unless the person has also won the lottery a dozen or more times). 

Standards exist to leverage experience and knowledge.

If your application was based on ATLAS/AJAX (or any other recognized platform), then you have a reasonable chance to find a developer with the revelant experience.

No matter how much we like to think of ourselves as inventors and innovators, for the majority of professional software development efforts, it is really a business proposition.

*What development environment will provide the best return on investment.* For the vast majority of cases. the answer is an existing supported technology or process.

----------


## codeexpert123

Ajax is a way of developing Web applications that combines:

XHTML and CSS standards based presentation 
Interaction with the page through the DOM 
Data interchange with XML and XSLT 
Asynchronous data retrieval with XMLHttpRequest 
JavaScript to tie it all together

----------


## PeejAvery

codeexpert123, please remember to keep on relevant posts. This post is already a year old! Thanks.

----------


## andreasblixt

AJAX isn't something that is easy to define today. Looking at what it stands for - Asynchronous JavaScript and XML - the term stands for nothing more than a technique that involves making asynchronous (non-blocking) requests using JavaScript that retrieve XML data. Nothing else.

However, today, the term is becoming more and more vague in meaning as it's used in promotion of products. Thanks to its vague definition, many people see it as a good and complex thing that makes a product awesome.

I won't try to convince you that it should only be used to define something that uses JavaScript to retrieve XML data, so I'll concede that, today, it means most of the points you (codeexpert123) wrote in your post. Mentioning XHTML and CSS together with it is pushing it though, but that association probably comes from Microsoft's contribution to AJAX-enabling a website. Some of their "AJAX" controls don't even have the slightest to do with AJAX (most of the control extenders don't.)

----------


## andreasblixt

> codeexpert123, please remember to keep on relevant posts. This post is already a year old! Thanks.


Oh, I didn't notice it was that old when I replied... Oh well...

----------

