原創|其它|編輯:郝浩|2012-10-16 13:58:00.000|閱讀 3989 次
概述:對目前DELPHI市場上的皮膚控件都進行了一一測試,包括穩定性測試、內存泄漏測試、貼圖效果測試、使用效率、皮膚界面五大項進行了一個橫向的對比。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
皮膚這東西很多人褒貶不一,有人認為程序做的好就行了,界面還是保持原生態來的穩定。的確,穩定是程序至關重要的一點,離開這點其他任何都無從談起,但不可否認,無論是微軟、蘋果,還是大眾用戶,審美觀越來越高,試想同樣的QQ軟件或者酷狗軟件,功能穩定性相同,你是喜歡帶皮膚漂亮的還是喜歡原生態的呢?因此,程序界面美化也是一個產品非常重要的一點。
做皮膚其實是項浩大的工程,從美工設計、到貼圖、到程序設計,都非常的麻煩,如果不是一個非常成熟的產品且有很大的用戶群體,并且公司具有相當實力,一般都不會去自己做皮膚,畢竟涉及的東西太多,一旦出現問題,那將對軟件本身帶來無法預計的后果。
因此我選擇使用成品皮膚庫在現有的軟件上,在使用前為了在效果和穩定性上達到平衡,因此對目前DELPHI市場上的皮膚控件都進行了一一測試,包括穩定性測試、內存泄漏測試、貼圖效果測試、使用效率、皮膚界面五大項進行了一個橫向的對比,以便給正在準備使用皮膚的朋友一些參考。
這次選擇的產品都是“著名”控件包,為什么加上“著名”二字,這個是有道理的,皮膚這東西用上后直接影響到程序的運行,后續維護一定要有保障,試想你用了一個皮膚控件,沒有后續的保障,遇到BUG沒人修正,你又沒有源代碼的情況下,除了換皮膚控件外沒有任何辦法。因此著名的DELPHI控件的標準是,有正規公司或個人運作,保持持續更新,遇到問題反饋后能得到響應的控件包。
這次參與測試的控件包包含了:AlphaControls、BusinessSkinForm、DynamicSkinForm、VCLSkin和AppFace 五個,我也測試過網上能找到的一些其他控件,但其長期不更新因此直接淘汰。在控件包方面,國外的產品比國內的強的太多,拿一款QQ界面控件包來說(這里不直接指明),控件BUG成堆,甚至連最起碼的界面重繪、刷新和內存泄漏都沒做好,這樣的產品盡然也拿出來賣錢,而發現沒人購買后,作者以免費名義發布控件,但不包含源代碼后,近一年多都沒更新過一次,你發現BUG提交給他,他就讓你買源代碼,價格2000-5000不等,這樣的控件包建議大家連用都不需要用,直接PASS,以免做很多徒勞的事。
這幾個控件包除了AppFace外都提供的DEMO程序,除了AppFace外都是以Delphi組件形式提供的,而AppFace是DLL方式提供。
下表上概括了幾個界面控件包的特點:
使用便利性 | 穩定性 | 內存泄漏測試 | 貼圖效果測試 | 使用效率 | 皮膚界面 | |
AlphaControls | 便利 | 一般 | 有泄漏 | 很好 | 高 | 精致 |
BusinessSkinForm | 便利 | 好 | 無泄漏 | 一般 | 高 | 一般 |
DynamicSkinForm | 便利 | 好 | 無泄漏 | 一般 | 高 | 一般 |
VCLSkin | 便利 | 一般 | 有泄漏 | 一般 | 一般 | 一般 |
AppFace | 便利 | 差 | 無泄漏 | 一般 | 高 | 一般 |
下面詳細介紹下這幾個界面包測試時候遇到的問題。
最早測試的是AlphaControls,版本是最新的7.54 LITE EDITTION,說實在的,從界面效果來說,AlphaControls無疑是這幾個界面包里面最好的,也是最精致的,同樣提供了超過60種皮膚,而且在不斷增加,貼圖效果也是最好的。測試過程發現內存有輕微泄漏,主要集中在幾個控件上,這個問題不大。但窗口標題后面經常出現一些像亂碼的字符,這個讓人很不舒服,原本以為是7.34版本的問題,結果更新到官方最新的7.54免費版后,還是有這個問題。但這些都可以忽略,最為重大的BUG是界面最小化后,恢復時經常會導致死機,注意是死機,并不是應用程序無響應,這時候除了按硬啟動外沒有任何辦法。我原本以為是機器的問題,更換機器換使用官方DEMO,依然發現這個嚴重的問題。但該問題并不是每次都會出現,基本出現率在1/20樣子。但這個問題不可謂不嚴重,導致死機是什么概念,真是讓人無語。因此AlphaControls也是第一個被淘汰,且最不舍的控件包,希望以后的新版本可以解決這個問題。(看官方更新歷史記錄,曾經更新過這個問題,但似乎沒有徹底修正)
第二個測試的是AppFace(),這是個輕量級的皮膚控件,使用來說相當簡單,加載個DLL即可,可以說不用對程序進行任何調整。提供的界面包比較少,皮膚也不怎么精致。但內存泄漏控制的很好。在測試過程,先用了一個簡單的小軟件加載做測試,沒有什么問題,然后拿出我以前寫的一個類似記事本的程序,這時候發現,加載AppFace后,軟件盡然啟動報錯,為了確認是否是軟件問題,我特意拿了一款開源程序(做腳本編輯的),結果發現一樣的情況發生了。無奈只好PASS。
第三個測試的是BusinessSkinForm和DynamicSkinForm,這兩個控件包可以說是孿生兄弟,因為是由一家公司開發的,DynamicSkinForm比BusinessSkinForm少了數據感知控件,不做數據庫程序,沒什么區別,界面皮膚包也是通用的,而且多達170多種。但說實話,精致度還不夠高,但已經很好了。我們發現它還提供了很多新穎的界面設計組件,可以設計出非常具有特色的界面。在測試中均使用廠家提供的標準DEMO,內存無泄漏情況,這點難能可貴,畢竟是這么大型的控件包。貼圖效果也算過得去,但和AlphaControls比還是稍顯遜色。雖然提供的界面皮膚包多達170多種,但精致的還是有限,因此可以選擇性的找一些皮膚發布。使用效率來說,如果窗口不使用動畫效果,顯示速度會比較快,但界面切換有閃爍情況。如果使用動畫效果,使用效率就低了很多了,給人一種漫不經心的感覺。這兩個控件在測試的兩天中,發現穩定性很好,沒有發送死機、無響應和自動退出這些情況。
最后測試的是老牌VCLSkin(),這套控件包使用非常方便,提供的皮膚包也多,內存泄漏控制的也不錯,使用效率很高,界面雖談不上精致,不過也還說的過去。穩定性也還不錯,比起早幾年使用的時候,穩定性要提高很多,但在測試過程中還是發生了兩次異常報錯的問題。因此看來穩定性還有提高的空間。
通過測試后,我選擇了BusinessSkinForm這套控件包,雖然效率不是最高,界面不是最精致,但貴在穩定。截至文章發布前,這組控件包仍然在跑測試,沒發生任何意外。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:Vicen的博客-博客園