bubu 商店提供安装程序是在线安装的,会下载一个20M多的安装包,然后安装。 安装完目录如下:
目录介绍:
Bubu: 程序的主目录
Apps: 应用的目录
|-- Apphash: 每个应用对应一个hash 目录
|-- Verhash:每个应用版本hash
|-- manfifest.json,window.html, background.html : 应用的文件
DownloadHelper: 下载程序的目录,
V1.0.0:包含主程序BubuChrome.exe和它依赖的动态库,以及程序的配置文件。
Userdata: 用户临时数据,与Apps目录类似,会在verhash目录下有些临时数据文件
JDeskBand.dll :启动栏程序
基本原理
每个Bubu 应用为存储在Apps目录下的文件的集合。每个应用目录的根目录里都有名为manifest.json的配置文件。这个配置文件用来告诉BubuChrome加载程序的基本信息。manifest.json的内容为:
{
"name": "豆瓣电台",
"version": "2.0",
"icons": { "19": "img/icon-19x19.png",
"29": "img/icon-29x29.png",
"42": "img/icon-42x42.png",
"256": "img/icon-256x256.png" },
"description": "豆瓣电台是豆瓣网推出的一个在线音乐收听页面",
"window": "window.html",
"background": "background.html"
}
这几个配置项是必须的:
name: app的名字
version: app的版本号
icons: 每个app需要4个icons图片(19x19,29x29, 42x42,256x256),这些图片是完全不透明的。
description: app的简单描述
windows: 当单击启动栏上的app icon时,需要加载和显示的html页面。
background:它没有UI,用来通知的html 页面,
下图说明一个应用的框架和原理
注:
(1) (2) 网页可以读写本地存储
(3) 前台窗体页面和后台页面之间可以通过bubu API 的 RPC接口通信
(4) 豆瓣的窗体加载的是douban.html
(5)(6) 网页可以通过调用bubu API 可以通知任务栏 (目前有消息通知和tooltip提示)