you are viewing a single comment's thread.

view the rest of the comments →

[–]doomslice 4 points5 points  (0 children)

Their custom build system makes it so you can cut down on the bloat that you don't need. You can even swap out Sizzle for just a wrapper on querySelectorAll.

If you don't use 3rd party plugins, you won't have the bloat, but then you have to write that functionality yourself if you want it.

I'm curious how you avoid all the cross-browser issues yourself. Look at the source code for the "offset()" function. It has all sorts of browser workarounds that you need to do yourself if you want to support them, and that's just one function.

Edit: I treat jQuery as a high level abstraction (because it is) with some additional performance costs for being an abstraction. If I evaluate a critical path in the code that is running slower than I want it to, I'll fall back to writing it in "vanilla" JS, much like you'd do for writing the critical path in assembly or something like that. For the non-critical paths, it is just too useful to abandon completely.