浏览器新实用功能开发研究:启动到浏览器(Fire OS, Chrome OS, Web OS)与浏览器容器化

启动到浏览器(Fire OS, Chrome OS, Web OS)与浏览器容器化

本文试图阐明2种不同的技术方案:一个是启动到浏览器(如Fire OS, Chrome OS, HP Web OS, Tizen Web Rutime),另外一个我称为浏览器容器化

启动到浏览器相信大家多少已经有了解,它就是通过底层的驱动支持、HTML5 Device API等等,把浏览器内核做成整个操作系统的应用运行时,使用用户的所有应用都可以通过HTML + CSS + JavaScript的方式编写,这无疑节省了程序员大量的时间精力,但问题是,浏览器厂商不思进取,这种Web化应用方案有一些缺点:

  1. 可能性能不够;(这可能是JS引擎的JIT还不够好)
  2. 可能无法实现用原生UI框架(Android/iOS)能够做到的效果,比如说,自定义布局?灵活的多列+图文环绕的布局?
  3. 缺少某些原始TCP/UDP Socket创建功能,WebSocket理论上是纯TCP的,但它不够通过,且依赖于HTTP本身完成会话初始化

来看后一种方案:浏览器容器化,这里的意思是说,不需要“启动到浏览器”,OS还是原来的OS,浏览器作为容器,托管了Web化的应用。照理来说,Emscripten这款LLVM到JS的编译器应该解决了大部分的问题,但它还不够成熟:容器化实际上要求对CPU/IO资源进行可控的管理(灵活调度、按需分配、配额限制),比方说,要能够允许Web应用可以动态调整它可以并发打开的Socket连接、JS执行应该不抢占太多CPU、。。。等等

基本上这2者的差别就相当于Xen/KVM这些虚拟机与Docker这种轻量级容器的差别,只不过一个对应OS和原生应用,一个对应浏览器和Web应用。

顺带说一句,Docker所使用的Overlay文件系统及快速的版本化快照可以视为容器技术的核心特色,那么“浏览器容器化”呢?

时间: 2024-10-12 16:25:12

浏览器新实用功能开发研究:启动到浏览器(Fire OS, Chrome OS, Web OS)与浏览器容器化的相关文章

浏览器新实用功能开发研究:单页富客户端应用的会话/视图状态复制及远程同步功能

浏览器新实用功能开发研究:单页富客户端应用的会话/视图状态复制及远程同步功能 目录 1 一个简单的使用场景 2 单页(富客户端)应用的会话/视图状态表示 3 状态复制及远程同步 4 SPA情景下的Web Cache变化 一个简单的使用场景 我之前成功地在3台机器上使用Google OAuth账户登陆过feedly,不幸的是,后来Google的账号登陆地址被gfw封了,所以我没办法在新电脑上进入我的feedly,值得庆幸的是,feedly始终缓存了我的登陆凭据(不知道是不是用Cookie表示的?)

.NET Core容器化开发系列(零)——计划

.NET Core相当完善的跨平台特性以及其轻量化的底层接口为我们能顺畅进行微服务开发提供了非常棒的基础. 作为支撑微服务最常见的基础技术--容器化将是本系列的核心内容. 接下来我计划用一个月左右的时间记录我在ASP.NET Core容器化开发中的一部分尝试.文章大概刚要如下: .NET Core容器化开发系列(一)--Docker里面跑个.NET Core .NET Core容器化开发系列(二)--单机Kubernetes上运行.NET Core .NET Core容器化开发系列(三)--集群

Selenium如何在浏览器新开一个Tab

实现如何在浏览器中新开一个tab,并输入url. import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.Keys; WebElement element = null; String url="http://www.baidu.com"; try { element = d

无插件的大模型浏览器Autodesk Viewer开发培训-武汉-2014年8月28日 9:00 – 12:00

武汉附近的同学们有福了,这是全球第一次关于Autodesk viewer的教室培训. :) 你可能已经在各种场合听过或看过Autodesk最新推出的大模型浏览器,这是无需插件的浏览器模型,支持几十种数据格式.目前该产品还没有正式发布,但如果你感兴趣,座位紧张,赶紧报名:   http://www.autodesk.com.cn/adsk/servlet/item?siteID=1170359&id=23581540  (这是系列培训中的一部分)   通用无插件大模型浏览器–Autodesk Vi

浏览器内核引擎开发工作的主要关注点

浏览器内核引擎开发工作的主要关注点 跳转至: 导航. 搜索 目录 1 稳定性 2 性能 3 功能 4 其他因素 稳定性 对Android浏览器这种既有Java代码又有C++代码来说,稳定性意味着: Java代码不应该有NPE(空指针异常) C++代码不能出现内存错误,包括: null deref 指针越界访问 重复delete.free后use.循环引用.不对齐访问 等等 在某些情况下,空指针来自于有线程安全问题的代码(存在竞争条件),这类问题无法稳定再现,必须做好设计.review.编码规范,

EEPlat的基于浏览器的在线开发技术

EEPlat的开发内容主要包括配置开发和基于API的扩展开发两块内容, EEPlat的配置开发基于后台的配置环境,直接通过界面操作配置即可.EEPlat的配置平台是用EEPlat自解释构建的,本身就是EEPlat上开发的产物,因而整个配置环境是基于B/S模式,可以在浏览器上通过后台用户名密码登录后在线实用的. EEPlat基于API的开发可以使用在线模式和传统代码级模式,在线开发模式通过浏览器上后台配置提供的代码编辑界面,能够直接编写发布并使用.主要包括界面控制脚本代码.控制器开发.自定义动作.

如何使用IE9浏览器自带开发人员工具捕获网页请求

我们在通过浏览器访问一个网页的时候,有时候会遇到页面不能正常显示,图片不能正常加载的问题. 如果我们需要知道浏览器打开该网页时,网页中每个元素的加载情况.这时,我们便可以借助浏览器自带开发人员工具,来获取网页请求的信息.以下以IE9浏览器为例,接下来主要介绍如何使用浏览器自带开发人员工具捕获网页请求,调试表单. 1.开启工具 按F12快捷键启用开发人员工具.如图所示: 启用"网络选项卡".如图所示: 2.使用捕获功能 选择"开始捕获"按钮,按下F5快捷键,让网页重新

Java网络编程 - 浅析web服务器与浏览器的实现原理

我们基本每天都在通过WEB浏览器,去浏览一些新闻,看看视频之类的. 众所周知,这就是所谓的B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件. 那顺道就来简单的看一下,所谓的Web服务器(例如知名的Tomcat)与浏览器,基本的实现原理是什么样的呢? 首先可以明确的就是,例如我们所做的通过浏览器输入一个地址,访问一个网页的操作. 实际对应的底层操作简单来说就是:客户端(浏览器)面向于WEB服务器的网络通信. 那么

Atitit.业务系统的新特性 开发平台 新特性的来源总结

Atitit.业务系统的新特性 开发平台 新特性的来源总结 1.1. 语言新特性(java c# php js python lisp c++ oc swift ruby  go dart1 1.2. 流行lib.frmawork  新特性 jdk clr framework 新特性 (jq   Servlet2 1.3. Ide 新特性( eclipse vs netbea jetbrain2 1.4. Vm  新特性 clr  jvm(jvm好像没有独立的版本号,继承在jdk里面2 1.5.