这是我朝思暮想的东西。
Firefox 有多好?作为独立个体而言,其“好”倒未必有那么夸张,不过它提供的创新机会倒真的广阔无边。比如,此前我一直想,要是有个不臃肿,启动和交互不那么缓慢,可以专心做好做精一件或者少量几件事情的 Firefox 该多好啊--那就是 WebRunner 了。
简而言之,Firefox 是使用了 XUL,XPCOM,Gecko 等组件的 Web 标准解释器,解析并 render 那些 *ML,现在人们习惯从 Firefox 作为 入口 或者 interface 来开发并使用 网站,或者 web app 了。可是,如果我只想要一个专门看 Google Reader 的应用呢?这么说你可能会觉得很无聊,干吗不从 Firefox 访问 Google Reader?那换个角度说,如果我想要一个叫做 Google Reader 的应用在我桌面上,它非常非常适合浏览 Google Reader,它只含有与 Reader 以及 RSS 订阅等相关的 code 或者插件,启动和解释飞快。这样是不是理由充分了一点?我的 Maxthon 每次启动都会加载上次的 70 多个页面,就是这样也比 Firefox 启动和交互速度块。我真的希望我那个 Google Reader “本地” 应用不含有那么多永远用不着的功能和插件,以及因 Firefox 带来的漏洞等。所以…… 所以我不会说 Firefox 不好,我只会说我们不需要吊死在 Firefox 一棵树上。
WebRunner 是个利用 XULRunner 的应用,是个能够解释并 render web 内容的浏览器(这是本质),不过没有通常的浏览器 UI,核心功能是 host 那些 web application。这背后的概念是 WebRunner 作者 Mark Finkle 的 Site Specific Browsers (SSB),插一句,他是 Mozilla Platform Evangelist 。可以把一个 SSB 看作为单个 web application 优化并完美协作的应用,当然,WebRunner 是有“浏览器能力”的,也就是支持各种 markup 语言。和标准浏览器要支持各种 web 标准并提供 UI 以及各种衍生功能不同,SSB 可以做得小巧并有针对性。考虑到浏览器衍生应用逐渐丰富,比如如果有 Google Gears 支持,那前途…?再比如,有了 SSB 概念,web 标准,或者 web app 选用的浏览器平台就显得无比重要了。
有 SSB,web application 其实可以在面目上表现得更亲和--它可以做的和 native 软件一样。一个叫做 Google Reader 的应用,可以有自己的安装包,用户下载,一路 next 装在本机,从开始菜单或者桌面快捷方式访问,打开后访问的是那个 web app;界面上没有无关的 按钮,菜单,提示等;从这里访问 Google Reader 的 cookie 也不会和用 Firefox 访问 google 的有联系,隐私由我控制;插件装太多或者页面太多时 Firefox 缓慢或者不稳定的事情都烟消云散。与此类似,twitter 客户端?google office?都可以通过 SSB 实现和发布,只要 UI 和网络速度满足,他们都会像本地应用一样方便,这才是让人浑然不知已经在线的软件使用体验,那时候,双击桌面上的 gcalendar.webapp 快捷方式和双击 Outlook 就有得一拼了。
WebRunner 的做法是,自己是通用的容器,app--比如 google calendar,twitter--都可以单独下载,叫做 Web Application Bundles,bundle 包含这个 app 的配置文件,图标和相关的 JavaScript。下载这个 bundle 就是相当于下载应用啦。只要装好了 WebRunner,下载来的 .webapp 文件双击即可在 WebRunner 中打开,目前已经有 google reader,gmail,google calendar,google docs,google analytics,facebook,twitter 等现成 webapp 可用,GMail 还可以有弹出新邮件来临提示等功能。哦,显然,WebRunner 和这些 webapp 都是 OS 无关的。WebRunner 走得比 Flock 远得多,后者不过是定制的 Firefox,前者则是基于和 Firefox 同样的 foundation 的,与 Firefox 一个层次的应用,提供的功能,扩展性以及开发者能力完全不是一回事。

在这一轮互联网技术及商业浪潮中,web app 让人们最兴奋的理由之一是基于浏览器,与 OS 无关,可是,我们是不是常常武断,不加思索,囫囵吞枣地认为,“基于浏览器”就是“基于浏览器软件”?“基于浏览器”就是要人们启动浏览器,输入 URL,在一个和该 web app 无关的 UI 里操作?too simple!naive!那个“基于”,是“基于浏览器引擎”,引擎(Gecko,WebKit/KHTML,Opera’,Trident)可以做很多事情,Firefox 只是引擎上的一个应用而已。一句话,web application 所依赖的核心能力,是 Gecko 这样的引擎而非完整庞大的浏览器应用。
目前的 WebRunner 还比较简陋,和期望还有点距离,虽然操作速度已经很快,不过还是让人感觉只是没有了菜单栏,工具栏和地址栏的 Firefox,当然,这里也有那些 web app 的 UI 还不那么亲和具有“欺骗性”有关,不过我还是心存希望,十分看好。
除了 WebRunner,AIR 我觉得也是编写 RIA rich internet applications 的潜力好手,你可以觉得这不过是个 Flash 在桌面上的 runtime,不过 AIR 也可以通过内置的 WebKit 做 WebRunner 非常类似的事情--是从里到外,从结果到机制都很类似的事情。
[tags]webrunner, gecko, brower, firefox, air[/tags]
Tags: air, brower, firefox, gecko, Technology, Web, webrunner
很有趣的概念。不过对我而言,“基于浏览器”,似乎还是更符合我的需要,因为不需要安装更多的程序,换到什么机器都可以使用。
基于你的介绍,webrunner还是需要下载独立的.webapp文件,如果有100种网络服务,那就是100个文件,这个似乎不是很好。
不过也可以有一个webapp里bundle了100个服务的
请问一下,google reader的app文件哪有下呢?
在官方页面 http://wiki.mozilla.org/WebRunner 的最下面有 reader,还有其他程序的列表
默认开70多个页面。。。你是什么职业?
米饭和面条居然都吃。。。你是什么胃?
很不喜欢 mozilla 的人这样,每个程序都得自己带一套重复的 xulrunner,
每个程序都要浪费掉十多 M 的 Gecko。
Prism我已经在用了,并且经常在用,因为它在某些程度上可以节约我的时间。
通过事先的某些操作。
我现在可以直接使用Win+R→gmail→打开我常用的gmail了(*^__^*) 同样,GR、Analytics、Calendar有是这样的(*^__^*) 。
不过Prism还是有些缺点的,例如不知道用的是什么版本的FF内核,在使用Google Docs的时候无法显示光标的位置(-.-)=3
在打开抓虾的时候,发现抓虾的界面有些问题。(鲜果完全是无法打开(︶︿︶))
因此如果Prism项目能把这些搞定的话,我想这一定是非常优秀的产品(*^__^*)
我的一篇文章引用了你的一段话,解释webRunner的。
不过有个地方不明白,是不是写错了:“核心功能是 host 那些 web application”
,应该是hook吧?
这里没有 hook 或者 callback,或者截获,是 host,因为现在 webrunner/prism 是容器和运行环境
[...] 刀枪blue的webrunner ; Fiorano’s Blog的Mozilla美丽的三棱镜 - [...]
[...] 这个实验最早是基于WebRunner的,关于WebRunner,刀枪Blue做了一个很专业的解释,我就不好再献丑了: WebRunner 是个利用 XULRunner 的应用,是个能够解释并render web 内容的浏览器(这是本质),不过没有通常的浏览器UI,核心功能是host (?)那些 web application。这背后的概念是 WebRunner 作者 Mark Finkle 的 Site Specific Browsers (SSB),插一句,他是 Mozilla Platform Evangelist 。可以把一个SSB 看作为单个 web application 优化并完美协作的应用,当然,WebRunner 是有“浏览器能力”的,也就是支持各种 markup 语言。和标准浏览器要支持各种 web 标准并提供 UI 以及各种衍生功能不同,SSB 可以做得小巧并有针对性。考虑到浏览器衍生应用逐渐丰富,比如如果有 Google Gears 支持,那前途…?再比如,有了 SSB 概念,web 标准,或者 web app 选用的浏览器平台就显得无比重要了。 [...]