Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am a complete starter in web development, as I know only basics of HTML and CSS, although I have a history of desktop development. What is the usual roadmap to get started in web apps, based on AJAX? We decided to use Dojo toolkit as our javascript library. Is the following a feasible map?

1-Learn basic javascript(already on it)

2-Learn what DOM is

3-Start with Dojo documentation and examples

4-Get into AJAX with Dojo

Addendum: My goal is not to become a professional web developer who builds public web pages, it is not my specialty. I am trying to build an interface to an embedded product my company develops. We chose dojo mostly because it provides widgets for easy interface development. I am just trying to find out the easiest way to get this done.

I got several satisfactory answers and have difficulty choosing the best.

share|improve this question

closed as off-topic by gnat, MichaelT, GlenH7, Robert Harvey, Dynamic Jul 7 at 22:43

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – gnat, MichaelT, GlenH7, Robert Harvey, Dynamic
If this question can be reworded to fit the rules in the help center, please edit the question.

5 Answers 5

up vote 6 down vote accepted

There is no one true way to learn AJAX development. The best way to get started is, well, just to get started. The absolute minimum you need to know is,

  • Basic JavaScript, with an emphasis on JS scoping rules and the UI thread

First bookmark https://developer.mozilla.org/en/JavaScript/Reference

The 'A' in AJAX stands for Asynchronous, which means that you have to learn how to write callback functions (which are all closures). The scoping of JS closures can be tricky if you haven't worked with them before. Read http://javascript.crockford.com/code.html on 'Function declarations' to get started and read up on situations on stackoverflow.com after that.

Read up on Function#apply and Function#call,

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/apply

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/call

  • Learn the basics of the DOM and CSS

The DOM is just a big tree of nodes with properties. In combination with CSS this gives you the visual page that you see in the browser. Using JS you can add visual effects and create/remove new node structures on the fly. See http://books.mozdev.org/html/mozilla-chp-5-sect-2.html

  • Learn about DOM Events

Events are how people interact with your page/application. Most frameworks provide helper/lib calls for handling this, but using them is pretty pointless if you don't understand the underlying behavior. http://www.quirksmode.org/js/events_properties.html

JavaScript is one of these 'building block' languages where the standard library provides only the basics. For example, there are no namespaces, but there are several ways in which you can usefully fake them. Every framework does it differently. Get a grip on the basics without using a framework before you commit to a specific framework for a project.

There's a lot more to learn, but this should get you started. If you want a depressingly long list of skills you need to master, try this SO question, http://stackoverflow.com/questions/72394/what-should-a-developer-know-before-building-a-public-web-site

The most important thing is just to get started. Build some trivial hobby project and you'll find the most important things you need to learn fast enough.

share|improve this answer
    
To future web travelers, starting Asynchronous web development, By utilizing Promises (A type of JS library that makes callbacks easy), you'll start off on the right track, instead of switching to it later. –  user129679 Jun 10 at 1:32

Here is my suggestion:

  1. Learn basic javascript;
  2. Master html DOM;
  3. Learn advanced javascript;
  4. Try with the first experiments by calling static html documents;
  5. Learn the basics of a server-side language (as PHP). Among those basics, the fundamental ones for Ajax include methods for passing data between scripts;
  6. Try with the first experiments involving calls for dynamic data;
  7. Try with the second ones;
  8. Once you feel secure enough, chose a framework or library that will strongly reduce your development time.
share|improve this answer
1  
And Install firebug and see how ajax request & response data –  pramodc84 Dec 22 '10 at 8:47

Your map is fine in my opinion, but I suggest to couple all of your steps with some little app, which contain all things you want to learn. It would be great if you will manage to make it useful not only to yourself, but your work mates.

Edit: cbrandolino roadmap is very good. But anyway, try to apply all new knowledge to something useful.

share|improve this answer

Some frameworks like GWT and Flex can be learnt as it is and you don't get any extra benefit by learning javascript.

share|improve this answer
1  
Unfortunately, this is not useful in my situation, thanks for the hint anyway. –  Atilla Filiz Dec 21 '10 at 12:45

Postpone learning JavaScript, if you know any of Java, C, C++, C#, PHP.

  1. Learn jQuery
  2. Profit
  3. [optional] Get to know more about basic JavaScript or try another js lib (like Dojo) if you really feel the urge.
share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.