The browser platform is progressing. Below is a list of recent platform features, either available the major modern browsers, or which we might see soon.
Ready in modern browsers(Edge 14, Firefox 50, Chrome 55, Safari 10) now:
- Arrow functions
x => x*x
- Template strings
- Web Audio API
- GPS, device orientation
- speech synthesis
- file api
- crypto-random / basic ciphers (vary between platforms)
- maps, sets, …
- for..of and generators
- fullscreen(not iOS)
- error-stack (safari missing)
Hopefully getting ready soon:
- P2P data transfer (WebRTC Peer Connections) – works in Chrome and Firefox, will be available in next version of IE. Missing in Safari, but cordova plugin exists for iOS app deployment.
- WebAssembly – behind flag in Firefox/Chrome, – under development in the rest.
- WebVR (available in firefox+chrome, and next edge)
- getUserMedia – Missing in Safari, but cordova plugin exists for iOS app deployment.
await– available in Chrome, coming in Firefox 52, behind flag in Edge, not in Safari yet, but can be emulated via babel.
- fetch will come in next version of safari (ready in the others)
- ServiceWorkers – partial support in Firefox/Chrome, behind flag in next version of Edge, not in Safari yet.
- Pointer events (Behind flag in Firefox, Safari still missing)
- timings (safari missing)
- vibrations (safari+edge missing)
- gamepad (safari missing, should come in next version)
- WebGL 2.0 (opengles3) behind flag in Firefox/Chrome, and next version of Safari. Not in edge yet.
- media recorder api (only chrome and firefox at the moment)
- simd (coming in firefox/edge, intent-to-build in chrome, cordova-plugin for android apps)
- speech recognition (in chrome, behind flag in firefox)
Hopefully getting ready (but unfortunately not that soon):
- weak references
- tail call optimizations
- 64 bit integers
- advanced webassembly features (GC, threading, …)