基于Chrome开源提取的界面开发框架 三(.2)

标签: chrome 开源 界面 | 发表时间:2011-08-24 19:49 | 作者:万连文 大宝PKU
出处:http://www.cppblog.com/

svn: https://x-framework.googlecode.com/svn/trunk    建议重新下载代码

很久没有在svn上更新这套库里,但自己有时间的时候都在开发增加功能。这次的更新主要是在对activex的支持,一个界面库若想成为框架,必须具备这种包容性,至少flash /webbrowser等主流的控件还是会经常用到的。这一次主要是实现了无窗口的flash、mediaplay和sl插件,实现了mshtml和webbrowser的容纳,参考有vc的sdk和国外对无窗口activex的研究,目前操纵接口仅仅供run,没有深度的wrapper。

还有一件事情就是纠正了之前的错误思想,对chrome的基础库私自做了大量修改导致维护更新很麻烦,目前基本上保持了对应,至少我自己跟踪代码的变更还是比较方便。这个过程中自己学到了很多非技术的东西,技术上也看到了google工程师对设计的精益求精。Chrome对顶层窗口的改造部分,我一直有一些说不出的感觉,代码中说了一堆理由阐述为何在下面预留1px的nc区,但是我在之前没有预留的时候反而更好。

整个工程的结构如下:
x-framework
|
--bin(可执行程序)
|
--examples(示例源码)
  |
  --demos(基础控件展示)
  |
  --desktop(chrome桌面,不知道有何意图)
  |
  --igantt(一个计划的图形产品)
  |
  --net_base_test(暂时无用)
  |
  --status_tray(应用层托盘库,很小)
  |
  --wanui_res(库依赖的资源)
|
--lib(框架库)
|
--library(库源码)
  |
  --base(基础库,标准算法、字符串、内存工具、统计工具、多线程编程工具、窗口API封装、消息泵等)
  |
  --net_base(暂时无用)
  |
  --skia(skia在windows平台使用的基本封装,主要是设备和位图的转换,支持32位位图)
  |
  --third_party(第三方库)
  |
  --ui_base(作为view库的基础,对windows的消息事件等做了一层封装和扩展)
  |
  --ui_gfx(为view库提供更好地图形封装,点线面路径图像支持、坐标转换支持)
  |
  --view(基于windows的顶层窗口对窗口世界的chrome化,兼容无窗口和有窗口的界面引擎,我增加了一些扩展)

一些demo截图:









这些示例尽管一眼看上去并不是那么震撼,局限因素不是技术,目前的问题就是控件数量不够丰富,chrome里面无窗口的控件绘制采用了native主题,当然这或许不是我目前非常看重的,它能给开发者提供的便利性才是我追求的。早期版本我也在正式的项目中采用,使用的过程中,掌握了很多技巧,也走了弯路。对于一个强大的库,如果使用的不好可能反而觉得别扭。


万连文 2011-08-24 19:49 发表评论

相关 [chrome 开源 界面] 推荐:

基于Chrome开源提取的界面开发框架 三(.2)

- 大宝PKU - C++博客-首页原创精华区
svn: https://x-framework.googlecode.com/svn/trunk    建议重新下载代码. 很久没有在svn上更新这套库里,但自己有时间的时候都在开发增加功能. 这次的更新主要是在对activex的支持,一个界面库若想成为框架,必须具备这种包容性,至少flash /webbrowser等主流的控件还是会经常用到的.

[Chrome]Minimalist for Gmail – 精简你的 Gmail 界面 | 小众软件 > Chrome

- yiwu - 小众软件
Minimalist for Gmail 是款 Chrome 应用,可以精简越来越复杂的 Gmail 界面,包括广告. 说过很多 Gmail 的好话,但 Gmail 很不像话的将邮件正文的上面、下面、右边都加上了广告,就差左边导航栏也替代成广告了. 然后就有了 Minimalist for Gmail™.

Chrome 将替换新建标签页为登录界面,推广 Chrome Sync

- 安得米 - 谷奥——探寻谷歌的奥秘
Chrome Sync可以让你在一台新电脑上也可以重回自己熟悉的浏览器,一切的一切都将通过云端自动同步. 最新的Chromium浏览器开始进行小幅修改,以推广这一功能. 包括在你新安装Chrome浏览器之后打开新建标签页的时候,以及在Chrome里新建一个profile的时候,显示一个推广Chrome Sync的页面(如上图),帮助你了解同步功能并快速登录自己的帐号.

百度浏览器内测版曝光,界面酷酷酷酷似 Chrome

- Tony - Chrome迷
业内一直有传闻称百度将推出自有品牌的桌面浏览器,但在之前一直没有得到确认,更没有人见过长什么样子. 而今天大量媒体突然曝光了号称是百度浏览器Beta1.0内测版的截图,甚至还有媒体做了详细评测. 目前尚不清楚百度浏览器会采用什么内核以及引擎,但从外观上来看,实在是太像 Chrome 了,我就不好说什么了.

Chrome三岁啦!

- Yousri - Google 黑板报 - Google (谷歌)中国的博客网志,走近我们的产品、技术和文化
发布者:Google中国公关部. 今天,我们迎来了Chrome浏览器的三岁生日. 过去三年来,网络世界不断激发着我们的灵感,将网络的力量注入所有应用程序和网络体验中. 同时,所有的现代浏览器也在速度、简易性和安全性方面有了显著的提升. 为了庆祝Chrome的生日,我们制作了一个互动的信息图形,向大家展示主要的互联网技术和浏览器的演变进程.

Chrome 14发布

- Woooon - Solidot
Google发布了Chrome 14浏览器. 主要改进了Mac OS X Lion支持和激活Native Client(NaCl). 新版的特性包括:支持Web Audio API规格,允许Web应用支持富音频处理(演示);启用NaCl,允许第三方以非特定平台二进制的形式安全的执行原生码,NaCl为浏览器新能力开启了大门,如在浏览器中原生运行Vim编辑器.

ActiveX for Chrome 登陆 Chrome 官方扩展库

- Tony - Chrome迷
三个星期前,我们报道了 Chrome迷论坛会员 eagleonhill 打造出了首款可以在 Chrome 上使用 ActiveX 控件的扩展,引来了不少网友的关注. 不过当时的版本还非常初级,问题也很多,并且没有发布到官方 Chrome 扩展库中,很多用户表示不敢用. 经过作者的努力,现在这枚扩展已经修正了大量的Bug、给用户提供了一些预定义设置.

Chrome Extensions:超強大的 Chrome Remote Desktop!

- 阿良 - TechOrz 囧科技
Cloud Computing 令目前大部份用戶要做的,都可以在一個瀏覽器當中完成. 不過,雖然目前 HTML5 的技術開始普及,但總有些動作不能在 Browser 中完成,而日前 Chromium 團隊開發的全新 Chrome Extensions,大概可以補充到 Browser 不足之處. (...)閱讀全文Chrome Extensions:超強大的 Chrome Remote Desktop.

Chrome 易用技巧:我的Chrome

- 甜菜 - 煎蛋
我只是按照自己的想法和需求,简单改造了一下Chrome,将它变成了独一无二且为我服务的玩具. 我爱这种小清新式的个性化,实用、简洁、且让别人摸不着头脑 :D. 如上图,我的Chrome 界面是这样,它的目的是清爽、放松、没有任何的压迫性,所以我不喜欢Chrome 自带的最常访问的网站快捷框,特别是当你升级到15稳定版后,标签页强制显示的“最常访问的网站”或许会让你不爽,那么就用下面的方法,让自己变回小清新吧.