React, Flux, GraphQL, Hack, HHVM...? All of this and more!
The WebUSB API provides a way to safely provide developers acces to USB devices over the web. The API is familiar to developers who have been using native USB libraries and shares the existing physical USB specifications.
Essentially the API allows USB-connected devices like keyboards, 3D printers and more complex Internet of Things devices to be addressed directly by web pages. The project originates from Google engineers and is now available to developers using the latest Chrome Canary:
This is really blowing my mind at the moment... webusb + Arduino pic.twitter.com/96ZXnp3m0f— Sam Saccone (@samccone) July 18, 2016
WebUSB takes security into account by design as there are origin projectors, similar to CORS (Cross-Origin Resource Sharing), to natively block unauthorized use of USB devices connected to the web directly. WebUSB devices will also always prompt users to authorize the use of a device before connecting to it.
Web technologies are increasingly merging with many different classes of products and blurring the lines between what is a local resource and what is a remote resource. The ability to use USB devices directly from the browser offers some interesting possibilities, but it's worth noting that the WebUSB specification is currently a W3C draft specification and there is no guarantee that it will be adopted widely.
More details from the WebUSB API Editor’s DraftTweet