I decided to do a compilation of web based resources that help learn web developing. I have strictly sticked to resources that are available on the web for free. I tried to categorize them by skill level. This will probably get revised a lot, I am looking forward to suggestions. Nearly none of this is my own work and I may be biased towards certain authors.
Beginer
Google Code Uniersity is a really good place to start learning the basics of web developing, I recommend the following tutorials:
HTML, CSS, and Javascript from the Ground Up
CSS, HTML and Javascript
AJAX Tutorial
Advanced
YUI Theatre is one of the places that has a lot of interesting talks where a developer can learn more about how the web actually works and how a developer could improve things. These are the ones that I think web developers should watch:
A developer needs to fully understand JavaScript as a programing language.
Douglas Crockford – The JavaScript Programming Language part 1, part 2, part 3 and part 4 – this is a must view for every web developer, it really helps understand how JavaScript actually works and how we can program in it effectively.
The good parts of the language need to be learned.
Douglas Crockford - JavaScript: The Good Parts
A developer should understand that the browser’s DOM API is broken.
Browser Wars Episode II: Attack of the DOMs – Presented by the Silicon Valley WebBuilder, this event brought together Mike Shaver from Mozilla, Chris Wilson from Microsoft’s IE team, Håkon Lie from Opera, and moderator Douglas Crockford from Yahoo! to talk about the current state of the browser landscape. This video helps understand why is the web broken even today.
Douglas Crockford — An Inconvenient API: The Theory of the DOM
Using libraries is mandatory.
John Resig: “Advancing JavaScript with Libraries” part 1 and part 2 – Johen Resig is the author of jQuery. He talks about how JavaScript libraries work, what they do and how can they help a web developer do more and worrying less about how the DOM works.
Christian Heilmann — YQL and YUI: Building Blocks for Quick Applications
Beyond…
Those who want to create really heavy client side web applications need to aspire for quality.
Douglas Crockford: “Quality” – this can teach a programmer new ways to look at code and measure it’s quality.
Being cutting edge is also very important, if we want to have a future, we must be ready for it.
Brad Neuberg — Introduction to HTML5 – there are a lot of things that are already there and we can make use of.
Brendan Eich — ECMA Harmony and the Future of JavaScript
Speed is very important, it could mean the difference between success and failure, so being able to optimize successfully is a big win.
Joseph Smarr: “High-performance JavaScript: Why Everything You’ve Been is wrong
Nicole Sullivan — Design Fast Websites
Nicholas Zakas – Speed Up Your JavaScript
In terms of CSS a web developer needs to avoid bloating it.
Nicole Sullivan – Top 5 Mistakes of Massive CSS
Starting easy
http://ontwik.com/html5-2/paul-irish-on-html5-boilerplate/
JavaScripting is possible on the server side too, and it can be really powerful.
Ryan Dahl — Introduction to NodeJS
Douglas Crockford — Crockford on JavaScript — Scene 6: Loopage
Dav Glass — Using Node.js and YUI 3
Developers coming from other programing languages
JavaScript is a unique language, and can suprise developers coming from other languages.
C# developers should check out:
How Good C# Habits can Encourage Bad JavaScript Habits: Part 1
How Good C# Habits can Encourage Bad JavaScript Habits: Part 2 – False-y, Testing and Default Values, Comparisons, and Looping