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