NOTE: I’ve moved the list to it’s own dedicated page so that I can manage it a little easier so for the most up-to-date list, go to the following page.

I’ve been meaning to do a roll-up of top JavaScript, CSS & HTML development tools that I use or have been recommended to me and after having lunch with my bud Brian Wilpon today, I realized I just needed to do it. He asked me what some of the newer tools are and I think this is the best way to help him (and the community in general). It’s definitely not an all-inclusive list so if you see some that you feel I should add or remove, let me know in the comments.

Here they are by category:

Debugging Tools That Make Life MUCH Easier:

Effectively debugging JavaScript applications is a royal pain in the derriere and to compile that, the available tools just don’t stand up to those used by managed code developers. Luckily, we do have a decent set of tools that lessens the pain substantially. Firebug is definitely a must have since it incorporates so much DOM & XHR introspection as well as the Web Developer Toolbar. Both are simply awesome. I also love Charles for HTTP sniffing and it’s saved my butt when Firebug couldn’t handle it.

IE8 Developer Tools – Microsoft’s browser debugger tools

Firebug – Mozilla’s browser debugger add-on

WebKit Web Inspector – Webkit’s browser debugger tools

Fiddler – HTTP Sniffer. Great for seeing Ajax requests.

Charles – HTTP Sniffer. Great for seeing Ajax requests. (my personal fav)

Service Capture – HTTP Sniffer. Great for seeing Ajax requests.

dynaTrace Ajax – HTTP performance analyzer

Web Developer’s Toolbar – All purpose Firefox toolbar to inspect everything on a page

YSlow – Analyzes page performance based on accepted industry best practices.

PageSpeed – Analyzes page performance based on accepted industry best practices.

DebugBar – An IE plugin that brings advanced debugging features to IE including JS, DOM & HTTP inspection

CSS Editors:

I prefer to write my CSS code by hand. Call me old-school but many swear by the following CSS editors. CSSEdit by MacRabbit (Mac only) is especially loved by many designers.

TopStyle

Rapid CSS

Xyle

Stylizer

CSSEdit

CSS Frameworks:

These frameworks have really taken off. Like their JavaScript brethren, they help to abstract much of the complexity of building consistent layouts in cross-browser fashion. They’re definitely something I need to look into more and from what I’ve read, 960 GS & Blueprint are the ones people are looking at.

960 Grid System

Blueprint CSS Framework

YAML

Yahoo YUI Grids CSS

Tripoli

Object-Oriented CSS

CSS Resets:

Want to minimize browser inconsistencies? Then use a CSS reset stylesheet to specify baseline CSS styles that make browser presentation defaults more consistent.

Meyer Reset by Eric Meyer

YUI2: Reset CSS

IECSS

JavaScript Libraries:

I definitely recommend everyone to learn JavaScript as you’ll need it to be a really effective client-side developer. With that said, a good JS library will go a long way to making your development faster and much more stable. These libraries are all very mature and dramatically help to abstract the complexities of cross-browser development. My personal favorite is jQuery, of which I’m a member of the project team.

jQuery

jQuery UI

Prototype

MooTools

Dojo

YUI

JavaScriptMVC

qooxdoo

Ext JS

Adobe Spry

Raphael.js – simplifies working with vector graphics on the web

LabJS Dynamic Script Loader – Allows execution and load management of JavaScript files

Lawnchair – A lightweight client-side JSON document store

Sessvars.js – Client-side session data management solution

Reactive Extensions For JS

PURE JS Templating Lib

Underscore.js – Utility lib for jQuery that provides a ton of extended functionality

JavaScript Minifiers

Every byte counts when you’re sending files via HTTP and best practices dictate that on a production, you need to optimize all of your files to minimize page load times. Compressing JavaScript code is one of the easiest ways to do that and these tools will help. On the jQuery project, we’ve started using Google’s Closure compiler because it’s generated the best compression. Try all of them out to see which suits you best.

YUI compressor

Closure compiler

JSMIN

Dean Edward’s Packer

Microsoft Ajax Minifer

Dojo Shrinksafe

JavaScript Shells

There are times when you just want to test a snippet of code without actually going through the trouble of creating a full page. That’s where JavaScript shells shine. JSFiddle and JSBin both rock because apart from supporting plain ole JS, they also allow you to include a host of libraries including jQuery, MooTools, & Dojo.

jsfiddle.net

JSBin

mootools.net/shell (MooTools-specific)

Color Management:

As a programmer, I’m insanely color scheme challenged. I’m inclined to mix yellow with mauve causing a concerted moan to occur across the design community. Luckily, these tools help you choose web safe color schemes that are not only consistent but won’t burn the eyeballs off your site visitors. :)

Colourlovers

Kuler

Editors and IDEs:

I work at Microsoft so you would expect me to be a Visual Studio whiz. Not so. Only recently starting at MS, I’ve only dipped my toe in the VS waters. What I’ve seen though has impressed me but I still have a long way to go before I understand it. If you’re on a Mac, though, I do highly recommend both TextMate and Coda. Both are truly awesome. I’ve used Coda a little more because I liked the UI of it a little better than TextMate’s but TM’s bundle system and ecosystem is amazing. You can get code-complete for just about anything via bundles. For Windows, Notepad++ has been just awesome. I wish it had built-in FTP support like UltraEdit.

Visual Studio

Expression

TextMate

Coda

UltraEdit

Komodo IDE

Notepad++

Notepad2

BBEdit

Aptana

Espresso

Sublime Text

WebStorm

VIM

Eclipse

Netbeans

Geany

Wireframing:

I know some of you are cowboys (or cowgirls) and you just want to start hacking. Well, for the truly impatient, these tools at least let you wireframe your pages quickly and easily. I’ve used Balsamiq and FlairBuilder and both rock. It seems that FlairBuilder is really cranking it up with some nice features. Both are Adobe AIR apps which means they’re cross-platform.

Omnigraffle

Balsamiq

FlairBuilder

Visio

Axure

WireframeSketcher

Browser Testing:

I’ve been fortunate to have multiple OS versions over the years. My wife would definitely prefer for me to have a couple of less PCs sitting around but it’s let me test out my web apps on a variety of platforms, browsers and OSes. Shoot, I even have a version of IE6! For those with less hardware, these services should definitely help. Note that services like BrowserCam & Gomez are subscription-based but worth the cash if you can afford it.

BrowserCam

Adobe BrowserLab

Microsoft Expression Web SuperPreview for IE

Gomez

TredoSoft MultipleIE

CrossBrowserTesting

Multi-Safari

Browserscope

Cuzillion

IETester

Testing (based on the list by John Resig):

This was a list I snagged from John Resig. Obviously, he’s done a boatload of testing so I know this list rocks. JSLint is the old mainstay created by Douglas Crockford but other have really become increasingly essential to good testing. jQuery developers should definitely be looking at QUnit & jQuery-Lint. The most complete tool is Selenium but it does have a bit of a learning curve. If you’re into determining JS performance, checkout SunSpider, Dromaeo, Google’s V8 Benchmark and JSLitmus. These measure the performance of the JS engine, not your apps.

JSLint

jQuery Lint

JSUnit

Selenium Core

JSSpec (MooTools)

UnitTestJS (Prototype)

QUnit (jQuery)

DOH Unit Testing (Dojo)

YUITest 2

YUITest 3

Mochitest

ScrewUnit

JsUnitTest

jsUnity

JsTestDriver

Crosscheck

Env.js

FireUnit

W3C Markup Validation Service

W3C CSS Validation Service

SunSpider

V8 Benchmark

Dromaeo

JSLitmus

HTML Validator Firefox Add-on

Documentation:

Yahoo UI Docs

APIs – Most comprehensive list of APIs on the web

jQuery Docs

jQuery UI Docs

MooTools Docs

Prototype Docs

Dojo Docs

JSON Reference

JSONP

Server-Side JavaScript

Rhino

Node.js

Narwhal.js

CommonJS Standards Project

Persevere

Comet

Books

The books below are really a great selection. I have many in my own library and every so often re-read them I’m currently reading High Performance JavaScript by Nicholas Zakas. Another great book is Stoyan Stefanov’s Object-Oriented JavaScript: Create scalable, reusable high-quality JavaScript applications and libraries. I also highly recommend Steve Souders performance book at the bottom of the list. They’re basically the definitive sources for optimizing your web apps.

JavaScript/DOM:

JavaScript Libraries:

HTML & CSS:

Performance: