KDE4 for OS X 会受到用户欢迎吗?
KDE4 的第一个 alpha 版本发布了,我们可以找到 for OS X 的二进制文件下载。有个问题早在 KDE 社群宣布 native 的 OS X 移植时就被提起,我现在才有空瞎说点看法。
Mac OS X 的用户可能是世界上对软件的界面一致性 (consistency) 要求最高的用户,也许是因为选择 Mac 并热爱 Mac 的人的审美喜好也类似,所以他们的嗅觉也惊人的一致而灵敏,对软件的移植而言,他们能热切地赞扬优秀的 port,比如 Skype,同样也有大量移植软件因为距离 OS X 用户的界面要求太远而不被关注。常见的跨平台 GUI Toolkit: GTK+, Qt 和 wxWidgets 都是如此,除非软件本身缺少替代品,比如 WireShark 和 aMule,用户才会勉强接受它。
与 Windows 开发者喜欢创造千奇百怪的界面 skin 不同,也与 Linux 开发者干脆懒得认真开发界面不同,OS X 的开发者的倾向是紧跟 Apple 的步伐。Apple 放弃 Brushed Metal 风格,他们也立即放弃,Apple 在 Mail 里用 Unified Aqua 工具栏,他们也赶紧用,Apple 在 iLife 和 iTunes 里开始用 Polished Metal 和 HUD 窗口,并放弃 Drawer,他们也一一复制,造就的结果就是用户口味特别刁钻,稍有点异味都能品出来,比如 Shiira 的开发者最近伴随 2.0 版本的发布提供了 HUD Framework,但却有人声称 CSSEdit 的 HUD 窗口“ blow these away by a mile”——就是这么苛刻,不过,如果你也是个对 GUI 设计精益求精的开发者,你就能习惯它。
大多数的跨平台 GUI Toolkit 最大的问题在于,它们能达到的只能是所有平台支持的“最大公约数”,而永远无法在任意一个平台下发挥最大效能,所以它们只好设置自己的 Design Guidelines,为了让不同平台下都呈现相同的外观和习惯。它们可能去为了 Apple Human Interface Guidelines 乃至 indieHIG 去修改自己的界面设计习惯吗?恐怕很难。
而且 KDE 的习惯又是以复制 Windows 为主,包括 File Choose Dialog 的设计,OK, Cancel Button 的位置,等等,从而就更难让 OS X 用户满意了。
事实上,跨平台的 GUI Framework 从来就没有达到过真正的跨平台的接受度,一般都只能在一个平台下拥有大量用户,其他平台下则寥寥无几。我觉得还是在软件内部封装一个跨平台 GUI 层,根据不同的需求在不同平台下调用不同的框架来实现会比较好,比如 vim 和 emacs 的做法就是如此。
fishy:
我倒是觉得KDE更接近于复制OSX,比如global menu bar之类的。
13 May 2007, 3:37 pm跨平台的gui framework基本都sucks,比如Qt在OSX下难看,gtk在Windows下难看,wx在哪儿都难看。最好看的反而是SWT。
fishy:
说KDE更接近OSX还有一个理由是他的GUI程序互相之间的交互密切,比如KMail, KNote这些的,类似OSX下Mail, Address Book, iCal之间互相交互。
13 May 2007, 3:51 pm刚才没想起来,ft
Cavendish Qi:
才4.0的alpha1,jjgod大侠就这么苛刻的要求了,hehe。
至于HIG,我想对于Qt/KDE也是可能的。
http://doc.trolltech.com/qq/qq20-hiviews.html
只不过跨平台和平台特性本身就是一种矛盾。
但我觉得KDE on Mac OS X以及未来的KDE on Windows的存在,本身就是一种精神的体现。不知道Mac OS X上有没有一个opensource应用程序列表,可以对应KDE各个应用所提供的功能。
还有就是KDE on Mac OS X以及未来的KDE on Windows,可以大大的方便原来使用KDE的用户,或者喜爱某些KDE应用的朋友在多个平台上使用同一应用,对于他们这是再方便不过的事情了。不是么?
13 May 2007, 5:20 pmjjgod:
fishy: 我同意 SWT 是做得最好 (有趣的是,也是最 light-weight 的) 的一个 framework..
Cavendish Qi: 我还是很喜欢一些 KDE based 的软件的,Konsole、Kopete 和 Kile 就是其中几个非常出色的,能在 OS X 中见到它们会很好。
你给出的链接里似乎只是涉及 HIView 的使用,但 HIG 关注的其实不是这个,而更偏向于一种界面风格,有点像我们说 Windows 下边的程序有的时候会模仿 Office 2003 的风格,Visual Studio 2005 的风格。Cocoa 程序的风格也有其鲜明的特色,主要就是在 http://indiehig.com 有比较详细的介绍。像链接中给出的 web 浏览器的示例,两个工具栏按钮就很明显的与界面整体风格不协调。
有个在 Carbon 上封装,但不是跨平台的 C++ 框架是 Nano:
http://www.refnum.com/products/nano/
这是目前我觉得做得比较好的一个。
13 May 2007, 9:07 pmCavendish Qi:
konsole, kopete应该这次kde 4 on mac就可以看到了吧,kile好像不在kde4的核心包里,估计以后也是没有问题的。
14 May 2007, 7:44 pm后来想了想,我帖的链接和你说的确实不同。这里还有一个链接,也许只是解决了一个小问题:
http://doc.trolltech.com/4.3/qt4-3-intro.html#new-widgets-and-desktop-integration-enhancements
yulewang:
quote:我觉得还是在软件内部封装一个跨平台 GUI 层,根据不同的需求在不同平台下调用不同的框架来实现会比较好,比如 vim 和 emacs 的做法就是如此。
還是用一個庫對各個平的庫做相同的封裝比較好.
15 May 2007, 1:29 am發者使用這個庫,在各平臺上都可以有native的look
sdf:
来看一下所写,欢迎回访
18 July 2007, 6:01 pm(若能回访请留下博客地址,不胜感激)
听景777-属于个人的Blog
地址1 http://www.xsblog.com/u/natinne2/
地址2 takepul.googlepages.com/2.htm
tingjing777@gmail.com
lackar:
刚来,很好奇,看不太懂:P
5 September 2007, 8:37 pm片面:
事实上楼主考虑的有点片面了.苹果用户对gui是很挑剔,但他们不是一成不变的。mac os x的界面也在变化,为什么他们就能够接受呢?关键是你做的能不能比苹果原有的界面更好。如果你做到了,苹果的用户会转而支持你。至于最后一段所提到调用不同框架的gui,不就是wxwidgets吗?我还是更欣赏qt的实现方式,那样可以保持各平台的效果都一样。
14 December 2007, 6:20 pm