DEV Community

Ben Halpern
Ben Halpern

Posted on

What's new and upcoming in browser land?

By definition, this is the kind of thread that never gets old.

Are there any new and upcoming features shipping in browsers, or updates on browser support for certain features we should be paying attention to?

Discussion (49)

Collapse
stefandorresteijn profile image
Stefan Dorresteijn

More PWA support in both desktop and mobile browsers is happening and we should be paying a lot of attention

Collapse
maxart2501 profile image
Massimo Artizzu

And, above all, more hardware and OS support for the web. Things are progressing steadily for Web NFC, Shape Detection API, Web Share API...

Collapse
jonasgroendahl profile image
Jonas Grøndahl

Super excited for more PWA support.

Collapse
jrop profile image
Jonathan Apodaca

WebAssembly is gaining more traction lately, and with it in particular running Rust in Node.JS and in the browser. Pretty exciting stuff

Collapse
maxart2501 profile image
Massimo Artizzu

Web Assembly will support a lot more features as time passes!

Threads! Garbage collection! DOM bindings! And so on.

Collapse
jrop profile image
Jonathan Apodaca

Can't wasm-pack for Rust already generate DOM bindings?

Thread Thread
maxart2501 profile image
Massimo Artizzu

Yes, sorta, but it shouldn't be possible, technically. I guess it's actually JavaScript that does the manipulation and it's exposed to the WASM part. I don't know the details...

Thread Thread
woubuc profile image
Wouter

Currently it's a JS lib that does the actual DOM manipulation and then communicates back to the WASM lib iirc. Not all that performant since you've got marshaling between JS and WASM in both directions for every call, but it's possible.

The DOM integration would provide direct native access to the DOM from your WASM binary. It's the one feature I'm waiting on before I really dive into it.

Thread Thread
jrop profile image
Jonathan Apodaca

TIL!

Collapse
itsjzt profile image
Saurabh Sharma • Edited

Waiting for Edge to come, finally something that would compete with chrome.

Collapse
gklijs profile image
Gerard Klijs

That's sarcasm right?

Collapse
stephanie profile image
Stephanie Handsteiner

Well, Edge is currently being rebuilt on top of Chromium, thus it'll be more or less the same thing then.

Collapse
seanmclem profile image
Seanmclem

The chromium version of edge is already freely available from Microsoft. I've been using it as my default browser for several weeks, it is really promising.

Thread Thread
nickytonline profile image
Nick Taylor (he/him)
Collapse
scottishross profile image
Ross Henderson

No, I've been using it for the last 2 months at work. It's faster than Chrome, I've been able to get my extensions, etc.

There's still a lot of work to do for features etc, but they have to make sure to not go the way of Mozilla.

Collapse
markwaterous profile image
Mark

You mean now that it'll be running on Chromium and is basically the same thing with different clothes? :(

Collapse
seanmclem profile image
Seanmclem • Edited

It will give IE holdouts something to switch to that's easier for Developers. Also the edge chromium has different privacy settings and other neat little account management and UI bells and whistles. I think their intent is to Port over all those unique things from the original Edge. And MS has already committed code back to the original chromium project. It's nice to have the same old blink and V8 engines powering my browser, but the renewed Vigor of a desperate Microsoft developing features. Google has gotten lazy and barely iterated much on Chrome in years, besides consistently implementing new browser standards. Which will now also work perfectly in Edge. It's the best of both worlds

Collapse
rhymes profile image
rhymes

Firefox has been testing Picture in Picture: hacks.mozilla.org/2019/07/testing-...

Collapse
graciano profile image
graciano codes

FINALLY

Collapse
droidmakk profile image
Afroze Kabeer Khan. M

It has came out really good I should say!

sinni800 profile image
sinni800

It's not a good thing because this way, Google can increasingly dictate what the Internet should be. And they are.

Things like making Youtube slow on IE are, from one perspective, some kind of necessarily evil to get badly supporting browsers out, but it's also flexing that Google can practically decide what browsers will implement.

Let's say Google creates a new API and uses it on Youtube. Firefox will suddenly look like they're not competing. So what do they do? Include it of course. Youtube for a longer time used the non standardized Shadow DOM v0 API that only Chrome implemented (instead of using the standardized Shadow DOM v1 that everyone else targeted). It made Youtube look sluggish on Firefox but fast on Chrome.

I think all of this is harking right back to Microsoft being nonstandard with IE but people actually pulling it in because it has a high amount of users.

Thread Thread
maxart2501 profile image
Massimo Artizzu

I've come to the conclusion that it's better this way, as long as... it's better. It's a tautology, but il what I want to say is that Edge promised a lot but didn't deliver enough, and Chrome is definitely a better browser - at least Chromium is a better engine.

When Google will start sitting on its success, another contender will probably appear. But, in the meanwhile, Microsoft's engineers have started working on Chromium's codebase. Like, there are literally issues assigned to folks from Microsoft.

So far, so good?

Thread Thread
sinni800 profile image
sinni800

Well, I hope. But even if they get lazy sitting on their success, it will probably take just as long as with IE to get moving out of there again

Collapse
aut0poietic profile image
Jer

Not sure you can call it "upcoming" yet, but I'm pretty excited about the silly things you can do with CSS Houdini. Though while I dig JS, having the page's layout entirely dependent on more JS doesn't feel great.

Collapse
areahints profile image
Areahints • Edited

really? who names these things? i'd like to submit my resume.

Collapse
maxart2501 profile image
Massimo Artizzu

Houdini could be the most exciting thing coming to CSS. Can't wait to see things progressing, and see things more defined in relation to Layout API, Parser API and Font Metrics API. Cool stuff!

Collapse
laurieontech profile image
Laurie

Firefox showing you why your CSS rules aren't implemented/what is overriding them.

Firefox accessibility tree view.

ES2019 support in the Chromium engine (and firefox and safari).

Collapse
areahints profile image
Areahints

im going back to firefox for this

Collapse
zcdunn profile image
Zack Dunn

Firefox has been releasing such great devtools updates for CSS recently

Collapse
cadienvan profile image
Michael Di Prisco

I think we will see a complete division between old front-end developers and new one. We are already seeing it now, but not as we will in the next 9-12 months. React, Angular, Vue are so easy to learn people often forget about vanilla JS and its part in the ecosystem. I think this will change in the following year and we will see some negative numbers in frameworks usage, as we did with Bootstrap (Not falling, but remaining still and losing some terrain month after month), going back to the roots with performance, accessibility, scalability and maintainability in mind. And, of course, PWA & CSS Grid will increase in usage statistics.

Collapse
bennypowers profile image
Benny Powers 🇮🇱🇨🇦
Collapse
maxart2501 profile image
Massimo Artizzu • Edited

Oh boy, a lot of stuff is coming! Oh well, I guess it's always a lot of stuff, actually...

JavaScript is evolving

New features get added every year. A couple of days ago the Nullish Coalescing operator had reached stage 3, and a couple of hours ago the Optional chaining proposal did the same!

Now, those proposals need to reach stage 4 to become officially part of the language, but reaching stage 3 means that browsers, Node and TypeScript will start to implement them soon, so they will be de facto usable.

Standard library

As we've seen with the new kv-storage API, browsers will start implement new features not by exposing some new global object, but rather by built-in modules prefixes by std:.

But the most interesting part is about import maps: they instruct the environment how to resolve package names, so that would mean a super nice way to polyfill missing features, loaded just if needed.

Loaders for everything!

We've done it countless times, abusing the language thanks to webpack, but the act of importing a CSS file into JavaScript won't be a mere dream anymore, but a reality!

But first, we'll have JSON and HTML imports; later, we could have custom loaders for everything we need to have as a dependency.

Final thoughts

It's just a couple of things here, but there are really a lot. Many already reported by other comments here: Houdini, Web Assembly, PWAs...

The "sad" part is that most of this innovative force comes from Google and Chrome, forcing Microsoft to give up, leaving Firefox to hobble behind and Safari... well, Safari being the new IE.
It's a still way better situation than, say, 10 years ago but still not optimal.

Collapse
zcdunn profile image
Zack Dunn

I've been following the Nullish Coalescing and Optional chaining proposals for a while. It's exciting to see them reach stage 3! Now if only the pipeline proposal could make some progress.

Collapse
stargator profile image
Stargator

Flutter for the web becoming more and more standard in the flutter SDK.

Once building web apps is as simple as creating an Android and iOs app with Flutter, it'll be interesting to see how it gets adopted.

Collapse
lukewestby profile image
Luke Westby

The Shape Detection API - accelerated, native support for detecting barcodes, faces, and text in images. I’m not excited about the face detection but the other stuff seems very useful.

havarem profile image
André Jacques

Nice, just found those forks (Bromite, Brave, ungoogled-chromium). What I meant to say is that since Chromium is fully open-source, we can see those pieces of code and remove it.

Will take a look at those forks this week-end :)

Thread Thread
sinni800 profile image
sinni800

Yeah, you're right on that. But forks is honestly not what interests the stark majority of people... And those set the bar with their sheer mass

Thread Thread
sinni800 profile image
sinni800

Their problem until now was that their release cycle didn't allow catching up with Chrome. They could only change Edge during the feature release cycle going half a year or more.

Then they made a change and Google broke the change (happened with Youtube, Google put another transparent Div over everything or something, which broke Edge's hardware acceleration).

They've kinda given up trying to catch up

Collapse
mvoloskov profile image
Miloslav 🏳️‍🌈 🦋 Voloskov

Share Target api!

Collapse
onekiloparsec profile image
Cédric Foellmi

Python. brython.info

Collapse
numtostr profile image
Vikas Raj

Promise.allSettled() 🤞

havarem profile image
André Jacques

Don't forget that Google is wrapping Chromium to make Chrome and that Chromium is fully open-sourced and is not bound to Google services (maybe some, not sure).

Collapse
adam_cyclones profile image
Adam Crockett

globalThis

Collapse
adam_cyclones profile image
Adam Crockett

class field syntax

Collapse
likebrain profile image
Ricardo Rivera

Why should there be something new? The browser war is over ...