DEV Community

Ben Halpern
Ben Halpern Subscriber

Posted on

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

Top comments (33)

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.