Earlier quoted context omitted.
What would be the benefit of a native application over using a browser extension? I don't see the advantage of "do it native" here. Nor do I see the advantage of doing in the browser. They both seem like perfectly good places to write a BitTorrent client. And I can certainly imagine some interesting cases where I would want to allow my site users to send traffic between each other over a well known, advanced P2P synd…
>They both seem like perfectly good places to write a BitTorrent client. Except they aren't. Web APIs don't provide the facilities necessary for a complete bittorrent stack. TCP and UDP sockets are essential (this thing uses webrtc, so it's not even bittorrent-compliant). Additional facilities like mmaped files, epoll-based socket IO and inotify make for more efficient implementations. A good bittorrent client on a g…
While it's only available to privileged and certified apps, Mozilla's TCPSocket Web API[0] gives you (unsurprisingly, given the name) raw TCP sockets.
The W3C also has a TCP and UDP Socket API[1] under development.
Obviously, exposing raw TCP/UDP sockets to the open web is a Bad Idea but Web Apps are more than that.
[0] https://developer.mozilla.org/en-US/docs/Web/API/TCPSocket