I used RequireJS for a while and it isn't bad, but Browserify has a lot of advantages like compatibility with Node.js and npm (while the only disadvantage I see is that the compile step is non-optional).
> I'd much prefer to deliver less code to the client if possible
requirejs shim isn't signifcantly larger than what browserify adds, it's only 200 lines.
I'd be very interested in seeing a set of benchmarks comparing browserify to r.js. I'd be very surprised if the difference was meaningful, since they do basically the same thing. In fact, doesn't r.js support CommonJS-style requires?
Update: My other love for requirejs is that you don't need to use relative paths when requiring a module. Once you have a relative path, you can't change the location of either dependant or dependency. The require config lets you separate what you call the module from the location of the file.
The compilation step that browserify uses is little more than concatenate + a little bit of sugar. Practically speaking why does this matter?
I'd much prefer to deliver less code to the client if possible, so I don't see the rationale for adding a dependency on a dependency manager.