Just wanted to pick your brains on what do you think how relevant is cross-browser testing. Do we really need to test our code on 50ish Chrome versions, 25is Firefox versions and so on.
Probably not, unless you're a really big outfit with a vast user base. But you should test on at least a recent Chrome version and a recent Firefox version, and probably Safari.
And unless your product is irrelevant to mobile users, on both iOS (Safari) and Android (Chrome, Firefox), with both phone and tablet form factors.
Also please consider writing your apps in a way such that they don’t completely shit the bed if your 600th ad tracker script fails to load. I hate having to disable pihole so that Google can track me while I pay my utility bill.
However, there are other CSS frameworks (Bootstrap/Tailwind/etc) that do.
Even using those, I'd still give other browsers a look over to see if anything looks odd. One weird one we had was, on Chrome/Edge a React dropdown looked fine, but on Firefox it was somehow positioned like 80px too high. I don't remember exactly what the fix was, just that it was a CSS problem and the original developer was relying on a Chrome default they didn't realize was there and not in other browsers. Something akin to "position: relative; top: 20px;" just happened to look vertically centered, but only in Chrome-based browsers.
Any experienced software developer will have some experience testing against those. I don't think you need to go out of your way to test against specific builds of those browsers, with maybe the exception of Safari and Mobile Safari since I have noticed standards-compliant differences over time with older iOS devices.
That is to say, there isn't anything wrong with what Safari and Mobile Safari do, but the WHATWG living standards have changed over time just enough that older Apple devices may render web pages differently.
Try not to just limit yourself to Chrome though. And if you're using vendor extensions, don't rely on them, just use them to pretty up from your baseline designs.
I've also worked at places where our product was specified to work with Chrome, I would try to run it with Firefox and no dice and they would not accept any ticket to fix bugs in Firefox.
There's an assumption today that browsers get updated frequently. My work computer is a managed Windows machine that I had administrator access to, the one complaint I have is that the Firefox is a long-term support version which is often long as in "in the tooth". Bloomberg would complain about it incessantly until I got the new LTS version. Other than that I think browsers are usually up to date.
https://www.reddit.com/r/linuxquestions/comments/yfjaa1/disn...
I just ran into this bug myself like two days ago, when Disney+ just up and quit working. And even better, if you apply the UA string hack to work around that, it breaks Netflix! I had to, for the moment, install a browser extension that allows persistent site-specific UA string overriding. And sure, that works as such, but c'mon... this is bullshit. People, test your dang websites on more than Chrome on Windows for FSM's sake.
Times have changed in that you won't have layers and layers of branching logic to work around browsers that aggressively disagree with each other. But Chrome tends to fudge the web standards in some of their dark corners, Firefox tends to stick to the letter of the web standards rather than the spirit, and Safari tends to have random little gaps and quirks
Your UI will probably be usable without cross-browser testing (assuming you're not doing anything exotic), but it will probably have little things here and there that aren't quite right
This direction worries me (we did this with MSIE and it took a decade+ to heal those wounds).
However, some of our tools are used by the general public (I've found the user agent for a coupon app as well as some PlayStation browser in the logs; might have been spoofed, of course). Those are written to the lowest common HTML/CSS/JS standards, so we don't try fancy features, and Babel or similar can be helpful. IE11 is out of grace, but we still support years old versions of most browsers, because it costs money and goodwill when too many fail.
I personally don't like or use any of the frameworks you presented. If I had to pick one I would choose Vue.
jQuery did a lot for inter-browser compatibility, so I don't understand the argument. On the contrary, it was much more difficult to manage diverging code without it.
99% of my web programming is displaying some data, a website to interface XY. I don't like modern websites at all. Probably more a design descision than a framework issue, but I try to minimize any browser scripts in the first place and just haven't felt the need for somthing like React or Angular.
The latter is especially true when you're trying to make a PWA or 'web app', since Apple does not like letting websites have similar abilities to native apps on their devices...
You’ll probably find out that you don’t have too many browsers that actually matter.
https://jsfiddle.net/svandragt/236Lhkub/3/
So I’d say yes
iOS Safari on the other hand, can't be updated on older phones since it's tied to iOS updates. This makes any Safari bug linger for a few years. It's also the only rendering engine available on iphone so some people are truly stuck using an old version.
So I'd say, test on Chrome because it's ubiquitous and test on iOS Safari like it's the new Internet Explorer.
I'm not sure about Firefox. I personally use it and test on it, I think it's the right thing to do for the web. And at least with that you've covered most rendering engines.
The only time I've ever seen this intense level of testing was on a government project that was producing someone that everyone in the country would be required to use. So if that is what your situation is yes, you need to do that much testing because if it is mandated by law that citizens use it, it better be able to handle whatever combination of citizen and tech it encounters.
Otherwise I think you are probably being somewhat hyperbolic here.
Aside from that where accessibility is concerned there can be significant differences between various combinations of browsers and screen readers.
It was an e-commerce site which sold _very_ grey area products (most were banned from Amazon/eBay/FB Marketplace/etc.) and the ancient IE spec gives you an idea of the demographic they ~exploited~ sold products to ...
The market for selling questionable medicinal pills is much much larger than I could have ever imagined. Absolutely mind blowing!
It is of course painful to test in so many variants, so a decent compromise is often to just test in the latest version of all browsers. There's enough coverage there to help you find any potential problems.
A recent issue we found, was that Safari was responding different to some HTTP headers.
My intuition says you'd get better value out of testing different browsers shallowly rather than 50 old versions of Chrome, though.
I don't QA for these things beforehand, but when they do occur, it helps to have a way to perform cross-browser testing to fix the bug.
So at least test on recent versions of the three major engines.
When writing CSS, I rely on caniuse.com when not certain.
We’ll probably see Gecko used in more embedded applications but Firefox is a joke at this point.
Real browsers like Chrome, Firefox and Edge generally "Just Work", Safari on the other end seems to be an endless tire fire that either implements things poorly or not at all. Doubly true for the iOS versions which generally tend to be older and worse than desktop Safari.