It's perfectly fine to use whatever tool gets the job done. People say how to do it instead, but no one has to follow the advice.
IMHO it's something different for a framework to offer an API on top of a something that doesn't even work reliably: Wicket's browser detection is using regex-matching on identifiers generated by browsers to make it difficult to be detected :P. Regarding integrating of mentioned libraries: LibraryXY.browser(clientInfo.getUserAgent()).supportsZ() I don't see a benefit of having that in Wicket or wicketstuff. Integrating modernizr might be more interesting, but I doubt many people need browser detection on the server. Have fun Sven Am 29. März 2018 04:34:00 MESZ schrieb Maxim Solodovnik <[email protected]>: >"you would use feature detection" - unfortunately it doesn't work >Good real-life example is WebRtc: you can check it is supported, >then you need to know which browser your client is using .... (Plan A, >Plan B, Universal, "Safari way") > >Another example wmode for <object>, FF acts differently, > >so I really miss "which-browser" feature detection .... > >On Thu, Mar 29, 2018 at 5:31 AM, Korbinian Bachl ><[email protected]> wrote: >> >> >> ----- Ursprüngliche Mail ----- >>>> even in 2009 it was considered bad: https://www.sitepoint.com/why- >>>> browser-sniffing-stinks/ >>>> and in case that is not enough, read what the guy that invented >modernizr >>>> has to say: >>>> http://farukat.es/journal/2011/02/499-lest-we-forget-or- >>>> how-i-learned-whats-so-bad-about-browser-sniffing/ >>>> >>>> >>> I do not trust anyone who says "don't do it this way" but doesn't >say how >>> to do it! >>> >>> There are several of "if (isBrowserX()) {...} else {...}" in Wicket >JS code >>> and they served well for the last decade. >>> Since there are several other *Java* libraries for user agent >detection >>> this means that someone still finds them useful despite what other >people >>> claim. >> >> unreliable things wont get reliably by pointing into the past and >then telling that your fater did it the same way.... >> >> nowadays you would use feature detection, see: >> >> >https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/Feature_detection >> >>> >>> >>>> btw: >>>> https://github.com/HaraldWalker/user-agent-utils -> this is EOL, >guess >>>> why... >>>> https://github.com/pieroxy/java-user-agent-detection/releases -> >last >>>> release from september 2017... >>>> >>>> >>> Sep 2017 is like yesterday >> >> (all only MAJOR releases!) >> >> 28. September 2017 - Firefox 56 >> 14. November 2017 - Firefox 57 Quantum >> 23. Januar 2018 - Firefox 58 >> 13. März 2018 - Firefox 59 >> >> 2017-09-05 - Chrome 61.0.3163 >> 2017-10-17 - Chrome 62.0.3202 >> 2017-12-05 - Chrome 63.0.3239 >> 2018-01-23 - Chrome 64.0.3282 >> 2018-03-06 - Chrome 65.0.3325 >> >> and this is just 2 desktop ones! I dont want to talk about the loads >of updates my android device got in that time (firefox mobile, chrome >and samsung internet!) - oh, and btw: they still lie about the user >agent all time.... dont get me wrong, but sep 17 is freaking old in >case you need to reliably detect the browser! > > > >-- >WBR >Maxim aka solomax
