Wireshark正在使用Qt進行重寫
今天我發布了Wireshark的下一個開發版本 1.11.0。這標志著該項目方向的一個重大變化。我們將用戶界面庫由GTK+切換到了Qt。這兩個庫都便于開發者編寫應用程序,且跨平臺時時無需重寫大量代碼。在Wireshark的外觀效果發展及普及的道路上GTK+起了很大的作用,但對我們使用的平臺它支持地不是那么高效,而且隨著時間的推移這個情況變得更糟。
做如此大的改變是一個很艱難的決定。這意味著將重寫了成千上萬行需要精心設計的代碼。我們可能是做這種轉變最大的獨立應用(下面隨時糾正我哦)。然而,我認為這是值得的,它對項目的長期發展是有益的。歸根結底它回到一件事情上來:
Wireshark的工作是告訴你你的網絡上發生了什么。如果它不能在你的系統上運行的話它什么都不是。
如果你使用的是Windows、Mac OS X和Linux Mint,我們需要相應地支持這些系統。如果你使用iPad或Galaxy Note我們會給你一個幽深、不解和困惑的凝視,但同時也在想是不是應該支持iOS和Android。
我剛開始寫Ethereal時(wireshark原來的名字)它看起來像這樣:
看起來它像是在Linux和Solaris上。它沒有其他的樣子因為當時我們僅支持這兩個平臺。我之所以選擇GTK+這個用戶界面工具庫是覺得它最有感覺。相比其他當時的可選項它有許多優點。它很小巧,輕量級的,很容易上手,有活躍的開發團隊,有一個兼容的授權。不久之后我們增加了對Windows的支持。GTK+起初在Windows上有些兼容性問題,但隨著時間的推移情況好起來了。
從那時起平臺的境況發生了變化,但不幸的是GTK+沒有隨之變化。最明顯的是Mac OS X已經得到普及,人們開始索取適配他們系統的Wireshark版本。GTK+支持OS X,但定義它為二類平臺,且在OS X上很難安裝和使用。我們需要在使用X11(如Inkscape)或使用一個實驗版的GTK+(比如Gimp)上選擇。但無論哪種方式都需要開發者付出大量精力且產出的還不算是個用戶的合格品。使用GTK+的Wireshark在外觀及表現上都不像是個Mac OS X應用:
相反Qt則對我們支持的所有平臺提供了一個好且干凈的用戶體驗。如果你安裝了64位版本的話,它現在的效果如下:
#p#
這對用戶意味著什么?
如果你是一個高級用戶你應該繼續使用GTK+風格一段時間。你還應該不時地試一下Qt版本,來看看你的工作流程如何改變。在Windows和Linux上這兩個版本都會默認安裝。
如果你正在運行OS X你應該使用Qt版本。對常規工作來說它有一個更好的工作流程。再次,如果它沒有的話我們的工作就算白做。
這對開發者意味著什么?
如果你正在使用GTK+開發新特性你應該停下。你很可能在浪費你的時間。如果你想幫助遷移代碼的話那一起開發吧。
什么可用?
在“文件”和“編輯”菜單里的都可用。
你可以捕獲、過濾或檢查流量。
你可以編輯參數設置。
你可以追蹤流會話。
你可以查看TCP流圖表。
什么不可用?
剩下的功能。捕獲選項、I/O圖表、流圖表、Voip分析等都不能用。我們還有大量的工作要做。
切換到Qt是一個長期而艱苦的過程,但我對未來感到興奮。
P.S. 依舊支持Solaris。
譯文鏈接:http://www.oschina.net/translate/wireshark-switching-to-qt