Bolt界面引擎是迅雷公司從2009年開始開發(fā)的第四代界面庫。迅雷7是首個采用該引擎成功開發(fā)的產(chǎn)品,目前迅雷旗下大部分客戶端產(chǎn)品都基于該引擎開發(fā),并穩(wěn)定運(yùn)行于超過3.5億臺PC上。(這里有一些演示的Demo,下載)
交互設(shè)計(jì)與開發(fā)在現(xiàn)代軟件產(chǎn)品,特別是互聯(lián)網(wǎng)產(chǎn)品里占有越來越重要的位置。比如目前市值全球第一的Apple公司,憑借交互出色的軟件和工業(yè)設(shè)計(jì)完美的硬件,獲得了廣大消費(fèi)者喜愛和追捧,市場份額遙遙領(lǐng)先成為眾多巨頭模仿和追趕得對象。我們都知道,產(chǎn)品的基礎(chǔ)交互體驗(yàn)水平,通常是由產(chǎn)品所在的系統(tǒng)平臺決定的,如果希望產(chǎn)品的交互體驗(yàn)水平能超越平臺框架所提供的基礎(chǔ)體驗(yàn),就需要各種界面庫、控件庫、引擎庫,這個現(xiàn)象在Windows平臺上尤為常見?v觀整個行業(yè),在各領(lǐng)域各式各樣的優(yōu)秀開源庫層出不窮,但確少有被公認(rèn)和廣泛使用的界面庫。
Bolt界面引擎通過觀察交互設(shè)計(jì)師的工作流程,對整個交互開發(fā)的思維方式進(jìn)行了創(chuàng)新,提出了“完全基于原子對象組合交互”的概念,并強(qiáng)制在開發(fā)中使用MVC模式。界面引擎基于這個理念,提出“界面引擎不提供控件,但提供開發(fā)控件的方法”,讓每一個會使用“Bolt”的工程師都天然掌握了開發(fā)可復(fù)用界面控件的方法。并且從這個概念出發(fā),“Bolt”能輕松開發(fā)各種絢麗的動畫效果,做到“不提供內(nèi)置效果,但提供了一致的動畫效果開發(fā)思路”。 古語有云:“授人以魚,不如授人以漁”, Bolt界面引擎就是希望通過掌握新的思路來提高生產(chǎn)力,讓開發(fā)人員能真正掌握開發(fā)優(yōu)秀交互的關(guān)鍵技能。
使用Bolt界面引擎,你需要首先掌握一門簡單高效的腳本語言:lua,并學(xué)會使用XML。開發(fā)完整的產(chǎn)品,還需要掌握使用C/C++給lua環(huán)境擴(kuò)展功能的方法。Bolt界面引擎是為了能高效開發(fā)一流的,需要長期維護(hù)與改進(jìn)的工業(yè)級產(chǎn)品而設(shè)計(jì),并不是一種(也不希望)能快速上手,然后隨便拖拖控件完成一些玩具產(chǎn)品的快速RAD開發(fā)框架。目前,“Bolt”只專注于交互開發(fā),光掌握它并不能讓你完成一個完整的應(yīng)用產(chǎn)品。因?yàn)槲覀兿M鸅olt能成為您完成偉大產(chǎn)品過程中的一件稱手兵器,而不是讓工程師最后變成了技術(shù)的追隨者。
BOLT提供了一系列小工具,可以幫助開發(fā)者更好地使用引擎,檢查編寫錯誤,生成輔助代碼,監(jiān)視資源使用,詳細(xì)分析內(nèi)存使用情況等等,建議開發(fā)的時(shí)候使用這些工具,可以較好地提高開發(fā)效率,徹查bug。
1.1.0.332 更新時(shí)間:2012-03-19查看版本詳情>> 點(diǎn)此下載
1.為更好地支持對外開放,做了相關(guān)調(diào)整
2.FlashObject和WindowlessFlashObject增加SetReturnValue接口
3.XLFS增加文件句柄泄漏保護(hù)機(jī)制,防止由于忘記關(guān)閉文件而導(dǎo)致的內(nèi)核對象泄露
4.XLFS優(yōu)化zip文件的讀寫性能
5.RichEditObject增加autourldetect屬性配置
6.圖形庫拉伸繪制算法增加反走樣支持
7.ImageObject增加antialias屬性和方法,支持反走樣
8.WebBrowseObject增加dochostflags屬性和方法
9.Flash相關(guān)對象增強(qiáng)保護(hù)處理
10.圖形庫增加XL_ResetAlphaChannel接口
11.完善對象樹移除元對象的相關(guān)邏輯
12.修復(fù)RichEditObject在粘貼嵌入對象時(shí)候,可能導(dǎo)致的崩潰
13.修復(fù)RichEditObject調(diào)用GetRichTextRange返回長度值不正確的bug
14.修復(fù)RichEditObject首位嵌入對象在GetText時(shí)候無法識別的bug
15.修正hostwnd在非層窗口下,焦點(diǎn)切換邏輯
16.WebBrowseObject和FlashObject增加GetWindow接口
17.修復(fù)XLFSIO對zip文件覆蓋寫入可能會失敗的bug
18.動畫對象增加GetID接口
19.修復(fù)圖形庫文本部分(freetype)一個可能導(dǎo)致的崩潰
20.修復(fù)元對象主動觸發(fā)mouseleave時(shí)候輸入命中測試的bug
工具列表:
XLUECL
檢查xar包、xml文件和lua腳本的編寫錯誤,編譯生成XLUE引擎運(yùn)行所必須的nametable.cfg文件
LuaSpy
用于顯示Bolt界面引擎中Lua虛擬機(jī)和運(yùn)行時(shí)的全局對象,類似VBA中的“對象瀏覽器”
XLUEMonitor
用于實(shí)時(shí)監(jiān)視應(yīng)用程序中Bolt引擎相關(guān)對象的數(shù)量,可用于性能優(yōu)化等方面
UELoader
運(yùn)行xar包,不需要編寫代碼,可以直接查看界面交互效果
Npp插件
Nodepad++是目前bolt引擎推薦的編輯器,Npp插件是為了快速開發(fā)xml和lua而編寫的Nodepad++插件
Decoda
目前經(jīng)過我們的測試,比較好用的一款的Lua集成編輯環(huán)境,其Lua調(diào)試功能十分強(qiáng)大,可以編輯和調(diào)試Lua腳本
CurveTool
用來以可視化方式創(chuàng)建和查看曲線(Curve)資源