6 ms·
Developing against Chrome is exactly "support every browser's quirks" instead of developing against the actual standards (usually Firefox has the truest impleme
by hashhar 8y ago
Developing against Chrome is exactly "support every browser's quirks" instead of developing against the actual standards (usually Firefox has the truest implementation of which).
- dx034 8y agoBut as a web developer I don't necessarily care about standards. I want the page to work for as many users as possible. For the longest time this meant to support IE's way of doing things, now it means to support Chrome (unless you target Enterprise users). Even if you develop for Chrome, Firefox and Edge you'll just end up building workarounds for all 3, not adhering strictly to the standard.
- rootusrootus 8y agoThis is like an unpleasant blast from the past. It was wrong when web developers did this for IE, it's wrong now.
- Blaiz0r 8y agoSorry to break this to you, but as a web developer you should only care about standards, otherwise you have no standards. The standards are a single source of truth for your production, if you build solely to a single browsers quirks (in this case Chrome) then those quirks can change at any time.
- fixermark 8y agoThis point of view is as ignorant of reality as the grammarians that say Webster's English is the only true English. Every standard is a three-edged sword: the spec, the intent behind the spec, and the practical application of the spec in the real world (which all-too-often, unfortunately, includes things like "Yeah, that's what the spec says, but then scammers realized you could exploit that to use people's browsers to mine Bitcoin or something, so no browser actually does that"). A web developer codes against real machines, not the imagined, idealized, and non-existent machines the specs describe.
- Blaiz0r 8y agoIf that were true then web developers would have never bothered supporting alternative browsers. Regardless of browser matrices, it is the will of the developer to support the open web platform that made sure that Internet Explorer and thus Microsoft didn't own the web (browser) in the 2000s. Anecdotally this point of view has done no harm to me and I'm not the only that shares it.
- fixermark 8y agoWeb devs support multiple browsers for the same reason desktop and mobile software developers code against multiple operating systems: some of their customers prefer those systems, and when you ask a customer to switch their framework to support your product you risk they'll say "no." The reason web developers care about those customers varies from dev to dev. Some believe there is value in a heterogeneous ecosystem of browser implementations. Some have a few high-value customers who refuse to switch (or, in the case of e.g. Microsoft, cannot switch because enterprise constraints are restricting what browser stack they're allowed to run). But the point stands that when you support multiple browsers, you don't approach ideal user experience (in terms of performance and reliability) for all your customers by throwing your fingers in your ears and proclaiming "That browser is out of spec!" when you find a quirk---you do what you have to do to make your code run on, around, or in spite of the quirk.
- Blaiz0r 8y agoThe standards are the starting point for the code, that dosen't mean that a dev shouldn't then write code to support the quirks of the browsers. Writing to support one browser first was exactly what got everyone down in the deep hole writing code for IE only to find that it didn't work the same in Firefox and Chrome early on. Also the Dev should be well aware that anything they write to support quirks could well be invalid code such as IE conditional comments.
- zaarn 8y agoBy your argument we should only need a single dictionary, Websters, because your language is real and not the imagined one people in other english places speak, Webster just happens to be the one that aligns closest to your usage of english.
- fastball 8y agoAnd if you build to the standards, it's possible that no actual browser implements them correctly. And then what?
- saagarjha 8y agoYou wait for them to do so, and are vocal whenever this happens.
- fixermark 8y ago"Wait for them to do so" is an answer that guarantees your team will get passed over in favor of a team that brought a working product to market today, to solve real problems real users have.
- CharlesColeman 8y ago> And if you build to the standards, it's possible that no actual browser implements them correctly. > And then what? Build to standards first, then accommodate quirks last. Building to Chrome first is just building to its quirks, and totally forgetting about standards.
- Zarel 8y agoI'm not sure what the difference is. It's not like people learn HTML from Chrome's source code. They learn HTML from places like MDN, which document web standards. "Write HTML, test on Chrome" - what people do in practice - seems to fit "build to standards first, accommodate quirks last" just as well as "build to Chrome first".
- ng12 8y agoMy standard is the browser ~95% of my users use. It's the only meaningful one. I still fix FF bugs when they come in (it seems to be a bigger offender than IE recently) but developing for Chrome first is the only approach which makes business sense.
- robin_reala 8y ago95%? I haven’t seen less than 20% mobile Safari on any site I’ve worked on in the last few years, and that’s not even including Edge / IE / Firefox and desktop Safari.
- ng12 8y agoOur users are almost exclusively professionals working on Windows desktops. Probably a fairly unique situation but the point is standards are relative.
- kkarakk 8y agoonly true in american markets
- robin_reala 8y agoI was actually talking about UK and Sweden (haven’t been to the US in 15 years).
- kkarakk 8y agowhat's the difference? these countries are basically american markets, everything west of belarus is kinda a software monoculture
- aaaaaaaaaaab 8y agoYou would have loved IE6 back in the day.
- noir_lord 8y agoI get to mandate the browser the work system supports (which is Chrome because that was what the majority of users used when I started so I went with what would cause the least amount of pain) but every feature I rollout works with Chrome, Firefox and mobile Safari (I test all three). It adds very little extra work with the advantage of surfacing edge cases/issues that might have bitten me even if it was just Chrome in the mix. Also from a business risk point of view tying the entire platform to a capricious vendor is dangerous and I've been around long enough to remember the days of IE5 then 6. Once bitten, twice shy.
- symlinkk 8y agoI read comments like this all the time and I feel like I'm in a different world. I just write standards compliant ES6 code, put it through a transpiler and some polyfills, and my code runs on every browser. I haven't had to think about which browser I'm targeting for years.
- fixermark 8y agoIt's often the case that this works fine. When you get into corner cases (i.e. if you try to stretch what animation APIs can do or you start to need to care deeply about the performance constraints of flex layout), you start to need to care about how the browsers actually work. ... but you can (and I'd argue in a lot of cases, looking around at the overly-complicated sites on the web, should) write a lot of fully functional web pages by keeping to the standard and trusting it's good enough. We are no longer in the bad old days where IE and other browsers deviated significantly---most of the browsers today adhere closely to the spec, and in the places they don't, it's often more like one browser handles a nasty corner case better than another because the browser built an optimization in for a critical path your page layout cares about.
- fgkramer 8y agoI'm tempted to say JS is not the biggest problem between browsers, but CSS... the fact that valid CSS code behaves differently and that it cannot be fixed without changing most of it. Not even mentioning if you actually need to change your DOM structure to make a layout work.
- collyw 8y agoChrome is the new IE?
- Chlorus 8y ago> (usually Firefox has the truest implementation of which). Is there an "objective" test for standards compliance these days, like the good ol' acid test was for the box model? I agree with this sentiment, but only anecdotally - I'd like to see something concrete to back it up.
- DannyBee 8y agoDevelopers have never, in the history of the world, cared about standards. Nothing can be more blindingly obvious when strolling through history. You don't even have to look at the web. Look at SMTP, IMAP, you name it. People don't write C++ and think about the standard, they write C++ and see if it compiles. Should they operate this way? Of course not. Are you going to change human psychology and cause this to happen anytime soon? Nope. If you want them to change, you'd have to provide a reason it matters, and very abstract long term notions of "goodness" are not gonna cut it for most developers, for better or worse.
- jrochkind1 8y agoWell, they care about standards when the consequences of _not_ caring about standards become painful in the ecosystem as a whole. But if that gets fixed, they go back to not caring... until/unless the pain rises. But in general I agree with you. > People don't write C++ and think about the standard, they write C++ and see if it compiles. Yep, you not just have to provide a _reason_, you have to provide tools that fit into workflow as efficiently as conveniently as that. (Ideally, that's a (in this case) compiler that's standard compliant!)