markdown guide
 

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

 

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

 
 

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

 

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

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

 

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

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...

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.

 

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

 
 

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

 

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.

 

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.

 

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

 

It's a good thing, really. Microsoft never managed to release a decent browser, and they finally realized what's the best thing they can do. It doesn't really reduce the diversity of the ecosystem, as their browsers aren't used that much, simply because they're awful.

Safari is the new Internet Explorer. It's the funky browser that always thinks differently (this is intentional) and wastes your time.

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.

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?

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

As much as Google is basically the Internet inc., I don't think it's a good thing developers have to put up with ancient and abandoned browsers. Edge felt like IE 11.1, with partial ES2015 support that was all over the place.

I assume Microsoft can easily put more manpower into their browser than Mozilla, and outdo them, yet they've never done that.

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).

Not really. Even Chromium is full of nasty blobs from Google and telemetry. There are forks out there that attempt to clean up Chromium.

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 :)

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

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

With that sort of release cycle they had no chance to keep up, and they've asked for their failure.

 

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

 
 

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.

 

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

 

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!

 

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).

 
 

Firefox has been releasing such great devtools updates for CSS recently

 

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.

 
 

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.

 

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.

 

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.

 

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.

 
 
 
 
 

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

Classic DEV Post from Jan 30

What are "HTML-CSS-JS" and "CSS-in-JS", anyway?

There's a lot of debate around these frontend strategies! There's not a consensus definition of what they even are. Let's fix that, and add some nuance!

Ben Halpern profile image
A Canadian software developer who thinks he’s funny.