[转]重构:企鹅1M Web化客户端是怎样炼成的?
来源:互联网 发布:coc蓝胖升级数据 编辑:程序博客网 时间:2024/06/10 11:25
注:个人觉得穿个马甲就以为我们不认识你了!
“微内核插件式懒加载架构”名字起的很酷很深奥,不过思路不错,值得借鉴!
序
在微内核插件式懒加载架构顺利发布之际,我想对我们企鹅客户端的同学Slicoltang,Timmychen,Yiloghuang,Rockyzhang说:作为程序员,有多少人有机会参与构建一个程序框架,也许这就是我们作为程序员一生仅有的一次经历。同时我还记得这套框架之所以能够实现,是因为当初Codyzeng,Jameshuang我们一起打下的基础。
企鹅顺利完成重构并发布,客户端最小安装包从20M变成了1M。 从此以后客户端的发布变成了Web类似的发布,只需要发布一个个的文件放到资源服务器就好,用户感知这个新版本的过程就好像浏览一个网页,即用户无需参与升级过程。
至此以后客户端开发和发布的敏捷性可以做到和Web一样。
客户端真的可以Web化么?请看演示。
安装附件1M的安装包,首次启动企鹅将看到如下懒加载过程,在加载过程中,用户可以使用已经加载完成的功能:
1)首先看到任务栏图标
2)其次看到宠物形象
3)接着看到喂食和洗澡的按钮,这个时候用户已经可以进行喂食洗澡操作
4)接着出现打工学习按钮,可以进行打工学习操作
5)接着出现玩耍,交互喂养逻辑
6)接着是社区逻辑加载完成,可以进入社区
7)最后所有的逻辑加载完成
这整套的表现是如何实现的呢?
这就依赖于我们实现的微内核插件式懒加载程序架构,架构的简单框图如下:
整套架构是建立在一个插件系统上,整个插件系统由一个xml文件描述,描述插件的加载顺利,插件依赖的资源等。只要控制xml文件的版本就可以控制需要加载的插件,也就可以控制需要加载的功能。这是一个web化的软件架构,现在和web架构做一个对比:
微内核插件式懒加载程序架构Web架构加载器懒加载微内核IE,Chrome,FireFox等浏览器描述语言xmlhtml加载的对象插件图片,视频,flash等这套架构给企鹅客户端带来哪些好处呢?
这套架构几乎具备了Web和客户端所有的优势。
唯一的局限性就是依赖于内核的普及,但是当我们的内核打包大QQ的时候,相信在中国的土地上,
普及问题应该也不是问题。
我们说,客户端也可以Web化。
如果同学们对具体实现感兴趣,欢迎找企鹅客户端的同学交流。
- [转]重构:企鹅1M Web化客户端是怎样炼成的?
- 好客户端是怎样炼成的
- 好客户端是怎样炼成的
- 一流无线客户端是怎样炼成的
- 优秀的Web程序员是怎样炼成的
- 转 伟大的程序员是怎样炼成的?
- 1、伟大的程序员是怎样炼成的?
- (转)阿蒙:程序员高手是怎样炼成的?
- 程序员高手是怎样炼成的(转)
- 系统架构师是怎样炼成的?(转)
- 阿蒙:程序员高手是怎样炼成的? (转)
- 两个人一辈子是怎样炼成的(转)
- 黑客是怎样炼成的<1> 黑客学习流程图
- 妖女是怎样炼成的
- CIO是怎样炼成的
- [原]CPU 是怎样炼成的
- 黑客是怎样炼成的
- 富人是怎样炼成的
- char * 转换到 LPWCSTR
- 防内存泄漏的一些方法
- ajax jsp json 跨域
- C# out关键字
- WAS 6.1命令行(静默)安装
- [转]重构:企鹅1M Web化客户端是怎样炼成的?
- 主账号处理
- 职场里的一些话
- 改变tobhost 高度
- Java读取中文的乱码问题
- 每天写出好代码的5个建议
- 计算机英语整理
- Java5 java6 新特性
- malloc/free 和 new /delete 的区别(转自 forestassure 的 Blog)