Firefox 69 - New Features But Still Not Caught Up? |
Written by Ian Elliot | |||
Wednesday, 04 September 2019 | |||
There is a move towards preferring the Firefox browser, especially by programmers and those in the know, because of Chrome's increasingly anti-privacy choices, but is Firefox keeping up with the modern web? As a developer forced by circumstance to use many of the "latest" web dev features, I am particular sensitive to what works and what doesn't. Recently I have come to the conclusion that in a multitude of small ways Chrome is ahead of Firefox. Of course, it isn't easy to be objective as finding out what browser supports what advanced feature isn't easy. Firefox 69 is the latest release and its list of new features also focuses the mind on what hasn't made it into the code just yet - if ever. You might think that HTML5/CSS and even JavaScript have now settled down enough to expect only small changes and additions, if any. In the case of HTML and CSS this seems to be true. The additions are two new properties to handle overflow and an extension to @supports to test for a selector. Not exactly a big step forward - and I suppose this is good. When it comes to JavaScript things aren't quite so small. The main claim to fame in this upgrade is the addition of public instance fields. If you had asked me I would have said that Chrome and Firefox already supported all variations on static v instance and public v private within the class syntax - but no. I have to admit that my ignorance of the current state is that I prefer not to use the class syntax. Why would I want to use JavaScript as if it was Java, or some other inferior language? Even so, for those who want to pretend that they are still in Kansas, sorry, Java, then I assumed that this element of TC39 had been implemented. As it turns out, Chrome only has it enabled by default in 74/V8.4 (April 2019) and Firefox has just added public instance fields in this release. Private instance variables are still being worked on. A small thing but a good reason to use Chrome if you are trying to get ahead. The addition of the Resize Observer API is good news and it lets you hook into changes in the size of an element's content or border box. Good news, but Chrome has supported it since version 64 at the start of 2018. The Microtasks API is a bit of a specialist tool. How many JavaScript programmers are even aware that there are microtasks? Basically, it lets you add any function definition to the microtask queue. As the microtask queue is emptied before the main even loop is restarted, you can see that this is very useful if you are trying to do accurate sequencing. Great, but again Chrome had it enabled by default at the start of 2018. There are lots of examples where Chrome has the latest and Firefox is catching up. In some cases there is even no info on when the feature might appear. The most important is probably the lack of support for 2D graphics in OffscreenCanvas - Firefox seems to support it but only in WebGL mode. It is this sort of lag that means you are likely to see "works best in Chrome". After the moan, it is good to see that the developer tools are getting better. Firefox now supports remote debugging, event listener breakpoints and stepping though async functions. Why is Firefox lagging? Is it just the number of developers that Google can throw at Chrome? Could Mozilla spend its resources better by concentrating on supporting core standards rather than implementing user interface tweaks, forcing Pocket integration on users, making recommendations based on usage and so on. Target the developers or the devs will stop targeting you. Firefox's market share is going down and, to paraphrase Steve Balmer, it needs developers, developers, developers...
More InformationFirefox 69 — a tale of Resize Observer, microtasks, CSS, and DevTools Related ArticlesFirefox Premium Coming This Fall Microsoft To Go Chromium Update: Confirmed Mozilla Turns Twenty Years Old Mozilla Privacy Study Vindicates Tracking Protection To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
Comments
or email your comment to: comments@i-programmer.info <ASIN:1871962579> <ASIN:1871962560> <ASIN:1871962501> <ASIN:1871962528> |
|||
Last Updated ( Wednesday, 04 September 2019 ) |