I am curious about the pros and cons of using user agent detection in a web server to determine which version of a JavaScript resource to send to the client.
In particular, if some web browsers support a feature natively while others require a verbose JavaScript workaround, is it better to serve the workaround to everyone and run it only if it's needed client-side, or to serve the workaround only to the browsers that require it and send a thin wrapper around native features to the rest?
What problems could arise with that second approach, and might they outweigh the benefit of smaller responses for the supporting browsers?