2016-12-29 JavaScript features in modern browsers 2016
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:
- WebGL
- Arrow functions
x => x*x
- Template strings
- Web Audio API
- Promises
- Classes
- let+const
- rest-parameters
- proxies
- GPS, device orientation
- indexeddb
- speech synthesis
- file api
- crypto-random / basic ciphers (vary between platforms)
- maps, sets, …
- for..of and generators
- destructuring
- 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.
async
/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, …)