<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[GTK+, Qt, wxWidgets 比较简评]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Sun, 02 May 2010 05:07:48 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	//这位台湾的高手把GTK+, Qt, wxWidgets比较分析得相当到位。<br/><br/>GUI toolkit <br/><br/>先讲 GTK+ <br/>GTK+ 主要用在 X Window 上，整个设计的架构和许多概念和 MFC 以及一般 Windows 上 <br/>的程式开发大异其趣，入门门槛较高，而且最主要的特色是，他用不具有物件功能的纯 <br/>&quot;C&quot; 语言，模拟物件导向。 所以写起来比较复杂艰涩，而且充满大量巨集，使用和除错 <br/>都不是很容易，但优点则是可以用 C，不需 C++，如果和 Win32 SDK 比较，不会难学 <br/>多少，缺点是不易上手使用，而且文件比较缺，架构又非常复杂，且提供的东西比起其他 <br/>无所不包的 library，是简陋了一点，函数命名又臭又长。 对於简单的程式，GTK+ 会 <br/>显得太复杂，但是当你开始想扩充其他 library 也都没提供的进阶功能，就会开始赞叹 <br/>GTK+ 的架构严谨，还有超乎想像的高度弹性。 同样的东西要用 MFC 来做反而会要人命 <br/>并且多国语言的支援良好，内部也全面使用 UTF-8，相容性好，又是 unicode <br/>能够习惯的话，GTK+ 值得推荐，但没有很建议学，毕竟不好学，要用到熟会需要比 <br/>较久，而且那样很多 C++ 的功能会用不到。 GTK+ 有 C++ 版本叫做 GTK--，没用过 <br/>但看文件觉得，并没有比 gtk+ 简单到哪里去。 因为 gtk+ 本来就是物件导向，所以 <br/>即使换了 c++ 语言，写起来架构还是差不多的。 另外，gtk+ 有 Windows 版本，但缺 <br/>点是，执行缓慢，不稳定，而且介面是使用 gtk+ 自己的，不是使用 Windows 内建的 <br/>&quot;Native&quot; 原生图形介面，看起来会不太习惯。 Mac OS X 下可用 X11 来执行 gtk+ <br/>但那样出来的程式是长得像 UNIX 程式，而不是美美的 OS X Aqua 外观 <br/><br/>wxWidgets 和 MFC 最接近，命名习惯或架构都高度相似，会 MFC 几乎不用重新学习 <br/>有十余年历史，此外，他的物件封装比 MFC 要好，提供的功能也多上太多，又跨平台 <br/>一般知名的 MFC 程式都会选择用 wxWidgets 改写，来快速移植原程式到其他平台 <br/>例如 eMule 用 wxWidgets 移植出 aMule, xMule, 还在开发中的 Filezilla 3...等 <br/>而他最主要的特色是，他是&quot;跨平台&quot;的 &quot;Native&quot; GUI toolkit，在各种平台上都可写出 <br/>使用该平台内建 Native 原生图形介面的程式。 在 Windows 上就长得跟其他 Windows <br/>程式一样，在 Linux 下就使用 gtk+ 的图形介面，在 Mac OS X 下就可以使用华丽的 <br/>Aqua 外观风格，这点是非常强悍。 不像 gtk+ 到其他系统都还是只能用 gtk+ 自己的 <br/>缺点是，中文支援在有些地方会出问题，例如剪贴簿的操作。 得自己 patch <br/>但仍然相当推荐，即使是个庞大的 library，效能依旧不会太差，尤其在 Windows 上 <br/>执行速度并不输 MFC，与其学 MFC，不如学 wxWidgets。 <br/><br/>Qt 的功能，应该是这三者加上 MFC 之中最强大的，文件也很完整，又有 RAD 工具 <br/>可以辅助开发，并且有商业公司做强力后盾。不但有 Windows/X Window/Mac 版本， <br/>甚至还有嵌入式系统可用的版本，稳定性还不错，物件封装也算良好，资源比 GTK+ 或 <br/>wxWidgets 多得非常多，而且发行公司提供了相当多范例，算是一家以开放原始码成功 <br/>营利的模范公司。 知名的 KDE 整个是用他开发，证明了他的稳定性和强大功能。 <br/>缺点是如果你用他开发非 GPL 开放程式码的软体，必须以极昂贵的金额，购买商业 <br/>版本。 而他的图形介面并不完全是 &quot;Native GUI&quot;，只是透过 theme 去模拟系统上的 <br/>标准 GUI，所以看起来很像，却会有些地方可以明显看出破绽。 执行速度缓慢还有过於 <br/>庞大则是另一个问题。 虽然封装得很良好文件也齐全，并不代表他就很容易学 <br/>还有一个严重问题是，他写的不是标准 C++，他使用的 signal/slot 机制必须透过 Qt <br/>提供的 preprocessor 处理过才可以转送给编译器，这部份可能被限定用 qmake，算是 <br/>一个可惜的地方，不过瑕不掩瑜，还是很推荐。忘了说，他内部也是 unicode， <br/>多国语言没问题。 <br/><br/>以上三套只是简单介绍，其中 Qt 的程式我没有实际完整开发过，但明显的三套都远远比 <br/>只能在 Windows 上用，功能少 Bug 多难学难用几乎无多国语言支援的 MFC 要强。 <br/>三套可跨平台的 library 大家可自行选择，只能用在 Windows 的 MFC 就不用考虑了 <br/><br/>wxWidgets 内带 wxodbc，可惜 wxd 目前并没有包装它。 <br/><br/>总结：wxWidgets性能及ui最好，Qt最大最全，GTK+架构及扩展性最好<br/><br/>来源：http://pantherlover.blog.163.com/blog/static/502287092009266911868/
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] GTK+, Qt, wxWidgets 比较简评]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>