Bolt界面引擎是迅雷公司从2009年开始开发的第四代界面库。迅雷7是首个采用该引擎成功开发的产品,目前迅雷旗下大部分客户端产品都基于该引擎开发,并稳定运行于超过3.5亿台PC上。(这里有一些演示的Demo,下载)
交互设计与开发在现代软件产品,特别是互联网产品里占有越来越重要的位置。比如目前市值全球第一的Apple公司,凭借交互出色的软件和工业设计完美的硬件,获得了广大消费者喜爱和追捧,市场份额遥遥领先成为众多巨头模仿和追赶得对象。我们都知道,产品的基础交互体验水平,通常是由产品所在的系统平台决定的,如果希望产品的交互体验水平能超越平台框架所提供的基础体验,就需要各种界面库、控件库、引擎库,这个现象在Windows平台上尤为常见。纵观整个行业,在各领域各式各样的优秀开源库层出不穷,但确少有被公认和广泛使用的界面库。
Bolt界面引擎通过观察交互设计师的工作流程,对整个交互开发的思维方式进行了创新,提出了“完全基于原子对象组合交互”的概念,并强制在开发中使用MVC模式。界面引擎基于这个理念,提出“界面引擎不提供控件,但提供开发控件的方法”,让每一个会使用“Bolt”的工程师都天然掌握了开发可复用界面控件的方法。并且从这个概念出发,“Bolt”能轻松开发各种绚丽的动画效果,做到“不提供内置效果,但提供了一致的动画效果开发思路”。 古语有云:“授人以鱼,不如授人以渔”, Bolt界面引擎就是希望通过掌握新的思路来提高生产力,让开发人员能真正掌握开发优秀交互的关键技能。
使用Bolt界面引擎,你需要首先掌握一门简单高效的脚本语言:lua,并学会使用XML。开发完整的产品,还需要掌握使用C/C++给lua环境扩展功能的方法。Bolt界面引擎是为了能高效开发一流的,需要长期维护与改进的工业级产品而设计,并不是一种(也不希望)能快速上手,然后随便拖拖控件完成一些玩具产品的快速RAD开发框架。目前,“Bolt”只专注于交互开发,光掌握它并不能让你完成一个完整的应用产品。因为我们希望Bolt能成为您完成伟大产品过程中的一件称手兵器,而不是让工程师最后变成了技术的追随者。
BOLT提供了一系列小工具,可以帮助开发者更好地使用引擎,检查编写错误,生成辅助代码,监视资源使用,详细分析内存使用情况等等,建议开发的时候使用这些工具,可以较好地提高开发效率,彻查bug。
1.1.0.332 更新时间:2012-03-19查看版本详情>> 点此下载
1.为更好地支持对外开放,做了相关调整
2.FlashObject和WindowlessFlashObject增加SetReturnValue接口
3.XLFS增加文件句柄泄漏保护机制,防止由于忘记关闭文件而导致的内核对象泄露
4.XLFS优化zip文件的读写性能
5.RichEditObject增加autourldetect属性配置
6.图形库拉伸绘制算法增加反走样支持
7.ImageObject增加antialias属性和方法,支持反走样
8.WebBrowseObject增加dochostflags属性和方法
9.Flash相关对象增强保护处理
10.图形库增加XL_ResetAlphaChannel接口
11.完善对象树移除元对象的相关逻辑
12.修复RichEditObject在粘贴嵌入对象时候,可能导致的崩溃
13.修复RichEditObject调用GetRichTextRange返回长度值不正确的bug
14.修复RichEditObject首位嵌入对象在GetText时候无法识别的bug
15.修正hostwnd在非层窗口下,焦点切换逻辑
16.WebBrowseObject和FlashObject增加GetWindow接口
17.修复XLFSIO对zip文件覆盖写入可能会失败的bug
18.动画对象增加GetID接口
19.修复图形库文本部分(freetype)一个可能导致的崩溃
20.修复元对象主动触发mouseleave时候输入命中测试的bug
工具列表:
XLUECL
检查xar包、xml文件和lua脚本的编写错误,编译生成XLUE引擎运行所必须的nametable.cfg文件
LuaSpy
用于显示Bolt界面引擎中Lua虚拟机和运行时的全局对象,类似VBA中的“对象浏览器”
XLUEMonitor
用于实时监视应用程序中Bolt引擎相关对象的数量,可用于性能优化等方面
UELoader
运行xar包,不需要编写代码,可以直接查看界面交互效果
Npp插件
Nodepad++是目前bolt引擎推荐的编辑器,Npp插件是为了快速开发xml和lua而编写的Nodepad++插件
Decoda
目前经过我们的测试,比较好用的一款的Lua集成编辑环境,其Lua调试功能十分强大,可以编辑和调试Lua脚本
CurveTool
用来以可视化方式创建和查看曲线(Curve)资源