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位版本的话,它现在的效果如下:
Wireshark 的详细介绍:请点这里
Wireshark 的下载地址:请点这里
相关阅读: