
Overview of New JavaScript APIs Now Supported by Most Mainstream Browsers - fagnerbrack
https://www.sitepoint.com/native-javascript-development-after-internet-explorer/
======
errantspark
There's also a few less well supported but perhaps more exciting APIs just
around the horizon, or already here hidden behind launch flags. I've been
having fun with:

# Web Audio

Spectrograms and synths, this one is fairly mature, no IE support of course,
but everything else supports it.

# MIDI

Mostly fun with knob and slider controls for various sideprojects. No support
anywhere save Chrome.

# WebVR

Works surprisingly well, I find es6 to be much more friendly when validating
random VR ideas than Unity or Unreal, which are basically the only other
options. Requires a custom build of Chrome or dev Firefox, also works in
Cardboard via polyfill.

# Gamepad API

Self explanatory, some games are just more fun with gamepads, now those games
can be webgames. Works pretty much everywhere

# WebGL2

Transform feedback, more than one Render Target (deferred rendering with just
one requires some extremely clever swizzling that's really not that fun to
work with/implement), Instancing, Uniform Buffers and more. Tons of fun stuff
that will bring the state of 3D graphics in the browser a lot closer to today.
Behind a flag in Chrome, supported in Firefox.

~~~
rawnlq
# WebRTC

P2P communication (data, video and audio). Almost ready except for safari.

# WebBluetooth

Very experimental but some of the demo projects are really cool (control an AR
drone quadcopter from a webpage).

~~~
errantspark
Oh yeah, WebRTC! I forgot that one. I wrote a little multiplayer hovercraft
racing game using WebRTC via peer.js last year. Super fun to explore
programming networked systems in js.

~~~
Already__Taken
Is there any way to do this without a central server coordinating the peer
connections? I'd love to host something off a static site but I've not figured
anything out yet.

~~~
stymaar
You need something for the signaling part (sending the WebRTC offer, answer
and ICE candidates to establish the connection).

It's not necessarily a «central server», if you can convince you users to send
each other the info text-encoded via Facebook or any messaging system, it will
technically work (but it won't be really ergonomic for you users ;).

I wonder if some people provide a SaaS solution for webRTC signaling. Quick
survey: would you be willing to pay for it ?

~~~
Already__Taken
My specific thing was somebody asked for a demo of a heatmap, I knocked up a
page that heat mapped the pointer and wanted every user to aggregate to the
map.

So no for such a demo I probably wouldn't be coughing up.

~~~
stymaar
For a demo you can just code a 20-lines signaling server using websocket with
nodejs or anything.

------
joelg
No Safari support yet, but I'm really excited about the new Fetch API to
replace XMLHttpRequest: [https://developer.mozilla.org/en-
US/docs/Web/API/Fetch_API](https://developer.mozilla.org/en-
US/docs/Web/API/Fetch_API)

------
GlennS
I'd be a bit cautious about actually using these right now.

It seems like there are still a lot of people (particular in larger
organisations) on Internet Explorer 8 or 9, and also a chunk of phones running
Opera Mini.

So, sadly, no Flexbox for me just yet.

~~~
tinus_hn
Not if you work for enterprise dinosaurs. For the rest of the world, using
features like these is a good way to make upgrading seem worth the effort.

