Boot to browser (fire OS, Chrome OS, Web OS) and browser containerized
This article attempts to illustrate 2 different technical scenarios: one is to launch to the browser (e.g. fire OS, Chrome OS, HP Web OS, Tizen Web Rutime), and the other one I call browser containerized
Start to the browser to believe how much you already know, it is through the underlying driver support, HTML5 Device API and so on, the browser core into the entire operating system of the application run, the use of all users of the user's application can be written in HTML + CSS + JavaScript way, This undoubtedly saves the programmer a lot of time and effort, but the problem is that browser vendors don't think ahead, and this Web application scenario has some drawbacks:
- The likelihood is not enough; (this may be the JIT of the JS engine is not good enough)
- Might not be able to achieve the effects of using the native UI Framework (Android/ios), for example, custom layouts? Flexible multi-column + graphic surround layout?
- Some of the original TCP/UDP socket creation features are missing, WebSocket is theoretically pure TCP, but it is not enough and relies on HTTP itself to complete session initialization
Look at the latter scenario: The browser is containerized, this means that there is no need to "boot to the browser", OS or the original OS, the browser as a container, hosting the Web application. Supposedly, Emscripten this LLVM to JS compiler should solve most of the problems, but it is not mature enough: containerized actually requires a controlled management of Cpu/io resources (flexible scheduling, on-demand, quota limits), for example, To be able to allow the Web app to dynamically adjust the socket connection that it can open concurrently, JS execution should not preempt too many CPUs 、。。。 Wait a minute
Basically the difference between these 2 is equivalent to XEN/KVM these virtual machines and Docker this lightweight container, but a corresponding OS and native applications, a corresponding browser and Web applications.
Incidentally, the overlay file system used by Docker and the fast versioning snapshot can be regarded as the core feature of container technology, then "browser containerized"?
Browser New functional Development research: Boot to browser (fire OS, Chrome OS, Web OS) and browser containerized