DEV Community

loading...

What’s the most interesting new or upcoming browser feature?

ben profile image Ben Halpern ・1 min read

Discussion

pic
Editor guide
Collapse
tbodt profile image
tbodt

WebAssembly. I truly believe there will come a day when every single piece of software ever written can be compiled into WebAssembly and and will run on any computer ever. And I can't wait.

Collapse
dubyabrian profile image
W. Brian Gourlie

This, so much. It goes beyond just having a better compilation target. LLVM is working on a WebAssembly back-end, which besides immediately making a huge number of languages available to the browser, also brings along tons of optimizations.

Collapse
ben profile image
Ben Halpern Author

That is really exciting. What are your (or anybody else's) high level thoughts about what the intermediary steps will look like? Is it just going to be a matter of swapping out some compilation targets and a few polyfills along the way or are there going to be other possible hiccups?

Collapse
tbodt profile image
tbodt

Right now, you can install Emscripten incoming and compile most portable C/C++ programs with CC='emcc -s WASM=1'. Eventually, Emscripten will be migrated from using an asm.js to wasm translator to using LLVM's WebAssembly backend. I don't know what's going to happen after that...

Collapse
x2plusy2 profile image
Aaron Chamberlain

Agreed. Im just hoping that it picks up quickly. Particularly I. That there will be multiple language/compiler choices

Collapse
ben profile image
Ben Halpern Author

I'm personally looking out for requestIdleCallback. It's a method which allows the browser window to execute a queue of code during idle times as to not interfere with critical processes which affect the user's experience. It should be a major jank killer.

I have conditionally mixed it into some of my code already. Since it's already supported by Chrome, it's a worthwhile addition to certain parts of code, but you cannot quite architect around its presence yet.

Collapse
sime profile image
Simon Males

I'm using it now for firing non-critical tasks Google Analytics events. Firefox will support requestIdleCallback in v52.

Collapse
paragoniescott profile image
Scott Arciszewski

Marking HTTP (without TLS) as insecure. Hands down the best security UX move, and it wouldn't have been possible without the ISRG (a.k.a. LetsEncrypt).

Collapse
maxart2501 profile image
Massimo Artizzu

I might be trivial, but it's ES6 modules for me, including the new import() method. Finally a standard way to define and load modules. Still quite a way to go, though (something like an year, an year and a half, including Node.js too).

Honorable mention for decorators.

Collapse
kaganasg profile image
Gary Kaganas

Another good one is the Background API. Part of what makes the web feel grown up is that it cares for your data even if a little strand of webbing comes undone; like for example when your mobile data takes a vacay.

Collapse
kaganasg profile image
Gary Kaganas

Surprised this is the first post on Service Workers. Edge is working on it. Safari is working on thinking about it. Once it lands cross browser the the web will be one step closer to taking over native apps.

Collapse
dubyabrian profile image
W. Brian Gourlie

Aside from WebAssembly, the new Fetch standard that is set to replace the atrocious XMLHttpRequest API.

Collapse
tux0r profile image
tux0r

Partially, WebAssembly; but I'm actually afraid of it because binaries don't belong in the browser and the sheer fact that compiling is recommended tells us that we made a very big mistake in the first place.

Collapse
k2t0f12d profile image
Bryan Baldwin

Extinction.

Collapse
mistermantas profile image
Mantas

Custom elements, CSS variables, CSS grid, Fetch, progressive web app functionality.

All lovely.

Collapse
cadeyrn profile image
Sören Hentzschel

Container Tabs in Firefox. No other browser offers something similar.

Collapse
ben profile image
Ben Halpern Author

Besides the form factor, is this that much different from the Chrome "People" menu? Perhaps I'm missing something.

Collapse
habib_a_qureshi profile image
Habib Qureshi

Read my mind and start browsing - do not use (upload) any server side processing (with the reason to improve feature or anything...)

Collapse
fezvrasta profile image
Federico Zivolo

Complete rewrite of the engines to work with modern hardware (Mozilla Servo).

Collapse
yaybdj profile image