2011-12-31

Resources for Learning Web Development (JavaScript, jQuery)

Assuming you have some working knowledge of HTML and CSS, then learning to program behaviours into web pages requires learning JavaScript, and here's resources I've looked into to help you learn JavaScript programming:

eBooks and paper Books
By "books", I mean "Bound Optimally Organized Knowledge". It's organized for structured learning and completeness.

Books I've looked into (literally) and would give at least a 4 out of 5 stars for:
Books that look promising based on the "cover" only:
  1. jQuery Fundamentals
  2. Web Development Recipes 
  3. Eloquent JavaScript: A Modern Introduction to Programming
  4. MDN: JavaScript Guide
Interactive Tutorials
Tutorials are organized for structured learning, often in a hands-on manner, but usually leaves gaps in knowledge.  Interactive tutorials have a turn-based prompting mechanics to it.

  1. Codecademy.com 
  2. Eloquent JavaScript also comes in an older and less edited, but free, interactive, and digital form
Video Lessons
Like books, but easier to digest for the non-readers. Usually not a source for completeness in information, but completeness can be found in video lectures (though those are often less interesting than short video lessons).
  1. appendTo: JavaScript and JQuery
  2. Google: HTML, CSS, and Javascript from the Ground Up
  3. Treehouse: Learn Web Design, Web Development, and iOS Development
I'm really looking forward to seeing Khan Academy update its Computer Science videos with ones based on JavaScript (rather than the current Python). That seems to be their plan according to John Resig, Dean of Open Source and head of JavaScript development at Khan Academy (see JavaScript as a First Language).

Blog Posts

Usually entertaining, with incomplete information, but can be useful, especially for working examples.
  1. JavaScript. The core.
  2. jQuery Tutorials for Designers
  3. Super Simple Lightbox with CSS and jQuery

UPDATE 2020:
Jenni wrote an updated piece about different IDEs and what they are, and told me about it. It's over at 10 Best IDE Software List of Integrated Development Environments (IDE), and includes awesome topics like what's an IDE, how to find the right one, and reviews some of the best available today.

The article does look pretty good, and includes IDEs I use like VS Code, and Netbeans!  Currently it does not include another favourite of mine, emacs, which lots of Clojure devs like a lot, but nothing's perfect, and my post here needs an update.  So I'm linking to it here!

Hope it helps y'all.

Bibliography
I put these links up to give more information.  These are ordered by what I found interesting or useful (from most to least).
  1. Mozilla: Learn JavaScript
  2. Move the Web Forward 
  3. Ask HN: What are best online sources to learn JavaScript? 
  4. 65 Excellent jQuery Resources (tutorials,cheat sheets,ebooks,demos,plugins…)
  5. StackOverflow: jQuery book recommendation?

Background
Notice this post isn't a "86 top resources" post.  I've put a lot of time and effort into filtering out less desirable resources.

Although I have some working knowledge of JavaScript, HTML, CSS, etc., from long ago, I decided to see about learning the latest in web development.  I asked myself:

Suppose I was totally new to web development, what do I need to learn?

It turns out much has changed, but the essential technologies for web design, web-based software development ("web App" development), and "mobile App" development (if based on web technologies), are still JavaScript, HTML, and CSS.

If you have never done web development before, then you have to start somewhere, and I think "somewhere" is:
  1. JavaScript using modern idioms
  2. jQuery JavaScript library
  3. HTML in the form of XHTML1.1, but with an eye towards HTML5
  4. CSS in the 2.1 version, but looking towards CSS3 as well

Yes, HTML5 and CSS3 are the future, but the future isn't now - not quite just yet in terms of browser support and browser adoption.

No comments: