Hey Everyone,<p>I've taken a class in javascript before, and I've been using mootools and JQuery for awhile - but I haven't really kept up with it enough to become a hand coder. Can anyone recommend any great books or online tutorials?
I'm going to recommend Douglas Crockford's "JavaScript: The Good Parts". It will really show you how to get the most out of the language and avoid the nasty pitfalls.<p>As a side note, I attended a talk by him last night on this topic, and wrote up a summary. For a preview of the book, you may be interested in checking out <a href="http://www.felixcrux.com/posts/douglas-crockford-talk-waterloo/" rel="nofollow">http://www.felixcrux.com/posts/douglas-crockford-talk-waterl...</a>
I would honestly recommend reading through some of the code and trying to figure out what it's doing. Find a function in jQuery you use all of the time and figure out how it accomplishes it's goal. Also, John Resig has a decent (albeit may miss some of the points you'll need) tutorial application: <a href="http://ejohn.org/apps/learn/" rel="nofollow">http://ejohn.org/apps/learn/</a><p>(Edit: I'd also recommend any time you <i>need</i> anything, look to see if it exists first regardless of how small it is. And <a href="http://www.w3schools.com/jsref/" rel="nofollow">http://www.w3schools.com/jsref/</a> will help you enormously.)<p>As far as AJAX, I'd recommend to just understand how it SHOULD work. Understand what the Xhrconn object you have should contain and what you should be able to retrieve from the "raw" object if you need to do so. Trying to understand where it fails in IE, Firefox, Safari, and Opera is overkill (there are so many little bugs!).
There's nothing wrong with continuing to use jQuery. In fact, there is actually something wrong with "hand-coding" things for the sake of avoiding jQuery. Spend your time where it will make a difference.
I was in the same shoes as you were. I really enjoyed Javascript & AJAX 7th ed. by Negrino & Smith. It's an easy read and has great examples. It nicely builds up from simple javascript to DOM manipulation, JSON, AJAX, and ends with a brief touch up on javascript frameworks.<p>As I was reading this book at the same time I set myself a goal to build a simple implementation of Lightbox without using Jquery or any framework. As I read more, the easier it became. So as you read, you might want to choose something to construct to practice and fully understand what you're reading.<p>A great continuation for it was Pro Javascript Techniques by John Resig.
I just wanted to add, that I don't plan to stop using JQuery or MooTools,<p>I want to understand javascript better, so my implementations of mootools and JQuery tools could become more impressive.
I will recommend the book i'm currently reading: Secrets of the Javascript Ninja: <a href="http://jsninja.com/" rel="nofollow">http://jsninja.com/</a>. It is written by Jquery author, and it shows you basically how a framework like JQuery would be written. It is not a book for the faint of hearts, very in depth treatment of various aspects of javascript, such as functions/closures/timers/cross platform javascript development etc. You probably need Wrox Professional Javascript for Web Developer (2009) to brush up on the basics first. Happy coding!
I rarely use anything other than O'Reilly's"JavaScript: The Definitive Guide, Fifth Edition" (<a href="http://oreilly.com/catalog/9780596101992/" rel="nofollow">http://oreilly.com/catalog/9780596101992/</a>). It may be a bit advanced if you haven't done much programming before and is probably more of a reference book, but it covers a ton of topics and has a lot of working examples.
Jeremy Keith's "Dom Scripting" is a pretty good guide for getting up to speed with the basics of good JavaScript coding. If you want to transition to something more advanced later, I'd suggest "Pro JavaScript Design Patterns" by Dustin Diaz.
I am a huge fan of JQuery.<p>I think the JQuery website provides a great resource for learning and using it.<p><a href="http://docs.jquery.com/Main_Page" rel="nofollow">http://docs.jquery.com/Main_Page</a>
I want to echo the sentiments of others regarding the value of continuing to use those libraries. A lot of real world programming is about knowing when to use libraries and which libraries to use.