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