发新话题
打印

讨论一下,到底哪个GUI在D语言中最有前途?

讨论一下,到底哪个GUI在D语言中最有前途? 但请各位网友注意言语,不要搞人身攻击,只从技术上讨论。

在D语言中,比较出名的GUI有DFL,gtkD,DWT,也许还有其他的,但我认为最后能活下来的可能就是这3位中的一个。

对于我个人来说,最看好GtkD。
理由如下:
1. DFL是直接用D语言构造,难度大,听说只有一个人开发,现基本处在停止状态,能不能继续还不好说。
2. DWT是从Java port过来的,难度也不小,并且现在Bug一大堆,基本没办法使用(听说编译一个小程序,就有10M大)。
3. 现在来说说GtkD的好处。
   1) Gtk是直接用C语言编写的,并且跨平台,而D语言可以直接调用C库,这样就不会带来新的Bug。
   2) Gtk有一个底层库Glib,这可是一个好东西呀,如果你的写的东西即想在Windows下运行,又想在Linux、Unix下运行,需要这种底层库的封装。
   3) 稳定性和可靠性。 如果只是用D来玩玩,那这一条没关系。但是如果你要用D语言来写商业软件,那这一条就相当重要。可以说这是DWT,DFT没办法相比的(关键点)。

我就写这一点,看看各位网友的看法,欢迎拍砖!

TOP

我看qtd库也不错呀。qt也是开源、跨平台的库,并且在qt4.5中加入LGPL授权,而qtd库是对qt库的一个绑定,从官网
http://code.google.com/p/qtd/
上看更新比较快,尽管还没有像gtkd一样正式发布,但有qt的强大功能支持,还是很有前途的。

TOP

从长远来看,我个人比较看好DWT.
从功能上来说,SWT及相关类库的功能非常强大,是其他GUI库根本不能相比的,而且SWT背后是强大的IBM在推,其前景不容怀疑。

从SWT到DWT,主要是把Java的一基本类做D语言的封装,这个封装稳定下来,DWT也就可以稳定下来。对于D语言比较熟悉的人来说,这个封装的难度不是太大,主要是个体力活。
现在的dwt2, 把swt的示例代码直接copy过来,几乎不用任何修改就能运行。

现在基于dwt2的程序,体积可能非常大。我经过多次的试验,发现这主要是D语言编译器DMD的bug. 在dmd 1.038及以后,有时会把没用到的import module 也编译进binary, 而swt, jface的模块数以千计,导致binary可能急剧增大。而dmd 1.037就好一些。我现在的做法是用dsss0.75编译整个dwt2库,这样binary的体积就比较正常了,原来10MB的程序,可以降到4MB, 如果用压缩程序压缩一下,也就1MB,这是可以接受的。用dsss编译比较正常,这可能是因为dsss 0.75的rebuild用的是比较早期版本的dmd的后端吧。

现在的d语言GUI库,大概都是one man project, 这也不只是dwt的问题。

现在的开发来说,居我所知,还是dwt的Frank比较活跃些,不是很复杂的问题,提交bug,一般很快能修复。再说dfl, tango 0.99.8已经发布近一个月了,dfl还没有同步更新。我已经尽量不去碰dfl了,谁也不知道这个项目什么时候会挂掉。而dwt, 如果Frank不感兴趣了,相信也会有人接上。

用dwt写小的程序问题不大,复杂的应用,dwt的转换还没有完成,有一些功能还不可用,还有一些bug.不知道GtkD现在的bug是不是更少。

关于GtkD, 也有人认为,使用过dwt后,不能接受其语法。

TOP

我觉得从生命力看 qtd,gtkD,DWT 这三者会比较好
DFL就不好说了!

另外,qtd如果能发展起来,那还真不错!

TOP

引用:
原帖由 d2008 于 2009-4-24 18:19 发表
我觉得从生命力看 qtd,gtkD,DWT 这三者会比较好
DFL就不好说了!

另外,qtd如果能发展起来,那还真不错!
呵呵,看来DFL是没戏了,那就在qtd,gtkD,DWT这3个中选择了。
看好gtD和DWT的主要是看好他们的未来,但也说明了一个问题,gtD和DWT这两个库现在能用的可能性比较低,大家不喜欢gtkD的原因是它的编程方式比较特别,另外还有一个最主要的不喜欢gtkD的原因是,gtk是用C语言写的。其实我认为gtk用C语言写的,这在D语言中恰好是它的最大优势(D语言无缝支持C语言库),而大家不喜欢C语言的原因我想是microsoft教育的结果吧(特别是windows程序员),其实在Linux/Unix下,很多程序都是用C写的

不知道大家是在哪个行业写程序,而我是在电信行业写程序,而电信行业对程序最基本的要求就是,稳定可靠并且性能好。从这个角度讲gtkD现在是胜过gtD和DWT的,gtD和DWT为什么现在还没办法实用,就是因为D语言对C++语言支持不好,移植gtD和DWT库需要进行额外的封装,而这种封装就造成了bug的产生!

TOP

從穩定性,可靠性和性能角度來說,選擇gtkD確實有道理。

TOP

我以前是搞编程的,现在没再弄了。
喜欢上D,纯粹我个人的喜好!因为用C++ 做软件太那个了~

版主和管理员都说得好, gtkD 对D编程来说,确实是一个很好的选择。

D现在只是语言上的强大,而不是实际应用上的强大,当D稳定了,又有完备的基础库时,才有可能是真正的强大啊!

TOP

xfBuild可以解决依赖问题减少体积。现在我用xfbuild还编译不了dwt,不过感觉只是个小地方错了,应该稍微改下就能编译。

TOP

分析的倒是有些道理。呵呵。

TOP

用D几年了,现在觉得,真要写程序,还是要用C++, D没有商业支持,进步太慢了。

QT采用LGPL了,用QT C++写程序觉得很不错。可以跨平台,还有商业公司支持。有IDE, 有正则,数据库支持等等。

看来要慢慢告别D了。用D的唯一好处是同样的功能可以少写些代码。但少写代码并不是最重要的,最重要的是能实现想要的功能,能跨平台。但D的库实在太贫乏了。

相比GTK,  wxWidget, 似乎缺乏强大的商业支持。

TOP

发新话题