views:

210

answers:

7

I'm looking to improve the standard of my javascript as I'm moving beyond simple AJAX forms towards much richer interactions and it's quickly getting out of hand.

There's lots of resources about how to write proper javascript, many of the best are from Douglas Crockford, but very little about relevant design patterns and how to implement them.

Do you know of any resource, books or blogs, on how to produce and manage non-trivial javascript applications?

+6  A: 

I plan to read Pro JavaScript Techniques by John Resig as well as his upcoming Secrets of the JavaScript Ninja.

Also, in my mind, "advanced" and "JavaScript" are often associated with Dean Edwards.

EDIT: it's not strictly devoted to JavaScript, though I'm also learning a lot from 24ways.org

EDIT2: from time to time, gems also pop up from Simon Willison's feed: today Dean's getElementsByTagName() implementation and John's jQuery.require().

Gregory Pakosz
Thanks, I was looking at Pro JavaScript Techniques the other day. Definitely going to purchase it now it's been recommended by several people here.
Garry Shutler
24 ways makes Chrome cry when I try to scroll!
Garry Shutler
Same here, it's smooth in Safari though. it's surely because their design is based on RGBA colors
Gregory Pakosz
That's a bug in the current version of Chrome. Fixed in the newest beta.
drewm
That means I'm not on the bleeding edge! This must be rectified swiftly!
Garry Shutler
+1  A: 

If you can stomach the tone of some of the regulars, the comp.lang.javascript newsgroup is an excellent resource. I have learned a great deal there.

Regarding design patterns, there is a book called "Pro JavaScript Design Patterns" by Ross Harmes and Dustin Diaz, although having read it I wouldn't recommend several of the practices it suggests.

Tim Down
+1  A: 

As mentioned :

Pro JavaScript Techniques by John Resig is an excellent book.

If you're intention is to use Javascript for more than just everyday form validation etc then I personally think understanding OO principles is important.

With Javascript being such a flexible language I would reccommend reading up on discipline and approaches to coding Javascript, not just the syntaxy stuff.

This book Pro Javascript design patterns should help there.

You're halfway there already with Douglas Crockford, but there are plenty of others writing great articles on the web.

UPDATED: I'm finding that over and above most languanges and tech there is a real buzz about Javascript right now and it's difficult to keep up with new stuff so I tend to check out relevant news sites like Ajaxian for posts with content linking to good authors for up to to date advances with libraries, frameworks and the like.

I recently visited the fullfrontal09 Javascript conference, all the speakers there gave excellent talks on Javascript so read anything they have written!

Read up on Closures and Scope, sugaring and currying! Robert Nyman's slides from FullFontal09 should get you started

Lewis
Ajaxian is fine for news but I wouldn't recommend it for the quality of debate.
Tim Down
I was really point out that it mentioned people like Douglas Crockford, Dean Edwards etc you;re right though Tim - I'll update!
Lewis
A: 

Make sure to also have a look at free web toolkits that are available, such as: Google Web Toolkit and Dojo or Jquery. These will help your application development efforts go much faster.

Also check out the Javascript tutorials at: http://www.w3schools.com/ajax/ajax%5Fintro.asp

Hope that helps. :)

Pho3niX
A: 

Apart from books, i would say start hacking the existing JS libraries (like amazing JQuery). Its a better way to look around the power of javascript..

Ramesh Vel
A: 

Lynda.com has an introduction to jQuery (and other Javascript classes). It provides a decent introduction as you go deeper and read the excellent books already recommended.

Here's the link: http://www.lynda.com/home/DisplayCourse.aspx?lpk2=48370

Haruki Code
A: 

This was only published recently (8th Dec.) but I've already found it extremely useful as a refresher of common JS practices.

http://stevej.name/js_executable_guide.html

BBB