DEV Community

Are there any new or upcoming browser APIs you are keeping an eye on?

Ben Halpern on June 02, 2019

Collapse
 
pulljosh profile image
Josh Pullen

Portals have caught my eye as an interesting restructuring of the internet:

It seems like we're moving away from an internet which is organized by domain and more toward one which is organized by topic. This is, of course, ideal for Google, who has been leading the effort, which will probably make it pretty controversial.

Personally, I think this change in organization makes sense. But I want to know: What do you think of it?

Collapse
 
koehr profile image
Norman

I'm very concerned about this feature. It's very clearly something that helps ad-tech by allowing communication between the host and the embedded pages.

Of course it also allows for a lot of great features by enabling interactive embedded content. But I'm very careful with this and I'm pretty sure looking for a plugin that protects me from all the new possible advertising.

Collapse
 
ben profile image
Ben Halpern

Yeah, exciting. But also concerning if it becomes a Chrome-only thing. What’s the latest on outlook for other browsers?

Collapse
 
pulljosh profile image
Josh Pullen

Not good, as far as I can discern. Chrome's incredibly fast pace and willingness to change the standards definitely echos the IE days, which is scary.

Even though each feature on its own seems like mostly a good idea, if other browsers fall behind we could be in some trouble down the road.

Collapse
 
nektro profile image
Meghan (she/her)

Yet another feature that should've been developed as an importable library and not native to a browser.

Thread Thread
 
philnash profile image
Phil Nash

I actually think that Portals couldn't be developed as a library. Otherwise Google would have done to use with AMP articles in the search carousel. Promoting an iframe to be the top level content in a smooth manner is not something you can just do with JavaScript, which is why they are adding this to the standard.

Thread Thread
 
nektro profile image
Meghan (she/her)

I see it now, after reading web.dev/hands-on-portals/ and hope this can come to other engines soon :D

Collapse
 
lepinekong profile image
lepinekong

interesting, I was looking for something like that, thanks.

Collapse
 
ben profile image
Ben Halpern
Collapse
 
koehr profile image
Norman

This is one of the very useful upcoming features in my opinion. All those semi magic lazy loading scripts are soon a thing of the past. The browser is anyways much better suited to make this decision (eg for deciding if content should be pre or lazy loaded or just simply together with the rest)

Collapse
 
jochemstoel profile image
Jochem Stoel

WebGPU is the working name for a future web standard and JavaScript API for accelerated graphics and compute, aiming to provide "modern 3D graphics and computation capabilities". It is developed in the W3C GPU for the Web Community Group with engineers from Apple, Mozilla, Microsoft, Google, and others.

Collapse
 
papaponmx profile image
Jaime Rios

Hi, Ben.

Yes, there are two of them:

  1. The Payment Request API. For me this is a huge step forward for eCommerce. I had the opportunity of developing most of the checkout on modelorama.com.mx and this API removes a lot of friction for consumers. Support is almost there:
    caniuse.com/#search=payment

  2. Intersection observer API. It is already standard and it really helps to make websites faster.

Collapse
 
steveblue profile image
Stephen Belovarich • Edited

Form associated custom elements. A much needed addition to custom elements spec that make handling form elements easier.

Spec: html.spec.whatwg.org/multipage/cus...

Collapse
 
bennypowers profile image
Benny Powers 🇮🇱🇨🇦

This is a specific case of the element internals API proposal which will also give us control over things like the a11y object model. Exciting stuff.

Collapse
 
zcdunn profile image
Zack Dunn

Web Share and Web Share Target would be awesome to have across all browsers! That's a major part of the PWA experience that's still missing. On mobile, where share interactions are built into the OS, PWA's obviously missing out. And a nice side benefit is that it would remove the need for annoying site-specific share buttons on every site.

Collapse
 
philnash profile image
Phil Nash

Yes! We need Safari to support share targets.

Have you noticed that DEV uses the Web Share API though? 😉

Collapse
 
zcdunn profile image
Zack Dunn

That's awesome to hear, but the API is only supported by Chrome right now. I use Firefox so it's not available for me. Still a win for progressive enhancement!

Thread Thread
 
philnash profile image
Phil Nash

Web Share is actually supported in Safari (iOS and desktop) as well as Chrome on Android. It is definitely more relevant for mobile usage, but as the web share target and installable PWAs come to desktop I'd like to see it in all the browsers.

And yeah, it's all about the progressive enhancement! That's why I wrote a web component to progressively enhance share buttons with the web share API.

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

Template Instantiation will provide another piece of the puzzle for web components.

Imagine something like this fake pseudocode without framework or library dependencies

<template id="user-tpl" type="repeat">
  <li>
    <article>
      <h1>{{name}}</h1>
      <img src="{{picture}}" alt="{{alt}}"/>
      <p>{{description}}</p>
    </article>
  </li>
<template>
Enter fullscreen mode Exit fullscreen mode
document.getElementById{"user-tpl")
  .instantiate(users, someUl)
Enter fullscreen mode Exit fullscreen mode

See github.com/w3c/webcomponents/blob/... for real examples.

Collapse
 
nektro profile image
Meghan (she/her)

Amazing! Been waiting for this.

Collapse
 
bennypowers profile image
Benny Powers 🇮🇱🇨🇦

Constructable Style Sheets and ShadowRoot#adoptedStyleSheets, as well as something like CSS modules will let us write shadow styles in CSS without a build step.

that last proposal was in danger of stalling, so if you have something productive to add to the discussion, get over there.

Collapse
 
nektro profile image
Meghan (she/her)

Built-in Modules for Javascript! Something that imo that should've come at the same time all in one go with the introduction of script[type=module] but what can you do?

github.com/tc39/proposal-javascrip...

developers.google.com/web/updates/...

Collapse
 
philnash profile image
Phil Nash

Y'know, I thought the MediaRecorder API was pretty new. But Firefox launched it in 2014 and Chrome followed up in 2016. It's very cool though and it didn't stop me writing about it this week though.

I'm also excited that the web is getting a contacts API. This is one of those things that native apps can do and web apps can't, but this time built with the security model of the web (so apps can't just upload all your contacts without you knowing).

Also on the "well, native can do it" front, the native file system API is also going to expand the potential for web applications.

Collapse
 
georgecoldham profile image
George

Ive been following this too, a little. The largest issues I have seen, is that manufacturers of bluetooth devices seemingly create their own specification for interfacing and most of the time dont provide documentation.

Solutions to this have been sniffing the traffic, but if you can sniff the traffic and figure out the API interface from this, then it is also likely insecure.

Collapse
 
dmfay profile image
Dian Fay

I'm waiting to see just how badly the imminent webRequest limits on adblockers in Chromium affect security and the browsing experience.

Collapse
 
maniflames profile image
Maniflames

The Shape Detection API! It allows for detecting & scanning barcodes, text and faces (that last one is kinda creepy though😅). At first I was very afraid it was just a chrome thing because they're the only one with an available trial but there is a spec for it so we'll just have to see how other browsers respond...

The main reason I keep my eye on this is because you won't need to depend on libraries and external api's anymore. In a world where users are getting used to features like these on their phone an the web feels like a logical next step. (Definitely worried about security and privacy though).

Collapse
 
irreverentmike profile image
Mike Bifulco

I've been looking for reaons to get in trouble with Promise.allSettled(). It'll make a good handful of use cases more UX friendly for me. I've got a couple posts about it, this is the first 👇

Collapse
 
kurtz1993 profile image
Luis Hernández

As I've been loving RxJS for a while now, I'm keeping an eye very close to the Observables proposal --> github.com/tc39/proposal-observable

Collapse
 
kognise profile image
Kognise

I've been keeping an eye on Houdini.

Collapse
 
paxa profile image
Pavel Evstigneev

Webauthn. Already support fingerprint scanner in chrome, other browsers support only hardware key for now. Will be great addition to simplify login process

Collapse
 
maxart2501 profile image
Massimo Artizzu

Portals, Houdini, import maps and loaders... There's tons of exciting stuff in the future 🤩

Collapse
 
rhymes profile image
rhymes
Collapse
 
bugtester46 profile image
bugtester46

test