D语言GUI从DWT开始

D语言一直以来有一个大毛病,就是没有好的GUI库。现在的软件基本上是GUI界面,而不是命令行。没有好的GUI库,D语言就是个鸡肋语言。

原来有个DFL 库,功能很弱,只是一个人开发。虽然可以用来写小的软件玩玩,但大的应用明显不足,我曾用DFL写过几个小软件试手,现在基本放弃了,因为已经有了更好的D语言界面库。

https://www.d-programming-language-china.org/d-yu-yan-dwt-kai-shi/

到了2008年,新版的DWT 正式发布,D语言的GUI库的问题总算基本解决了。

DWT库很早就存在了,是一个国人做的。但与SWT相比,改变的东西很多,这样SWT更新以后,DWT要同步更新就要花费很多时间,靠个人业余来做,无疑是做不长的,最后这个库就不了了之了,这是预料中的结果,谁来做都一样。我也没有试用过这个库,因为已经很长时间不更新,可能根本通不过编译。

后来一个叫Frank Benoit的德国人接手了DWT项目,采用了新的策略,也是更好的策略,就是尽量少改动SWT的内容。SWT的库,只要做一下正则表达式批量替换,再稍微手工整理一下,就成了DWT,这样,SWT新版出来后,花费很少的精力就可以做到DWT同步更新。Frank Benoit这个人工作还做得非常认真,提交bug上去,一般很快就能修正。

DWT Windows版,除了很少的内容(如COM, WebBrowser),已经基本与SWT同步,用来写不涉及COM和WebBrowser的内容,DWT已经完全可以胜任了。

DWT能做什么,想想SWT能做什么就知道了,不知道SWT能做什么,想想现在如日中天的JAVA开源IDE Eclipse就知道了。Eclipse就是基于SWT库开发的。

SWT是国际知名的IT公司IBM组织最顶尖的程序员开发的,是Eclipse组织为了开发Eclipse IDE环境所编写的一组底层图形界面 API。或许是无心插柳,或是有意为之,至今为止,SWT无论是在性能和外观上,都超越了SUN公司提供的AWT和SWING。

任何一个人,程序设计上再天才,也不可能和SWT的开发团队相比,个人的力量毕竟是有限的。这也正是我放弃个人开发的DFL库的原因 (但是DWin库中也有用到DFL, 因为D语言Windows下的库内容很有限)。DWT就是D语言版的SWT。

DWT功能丰富,但一开始可能会觉得难以上手。如果没有其他编程语言如JAVA, C或C++的基础,学习起来可能有一定难度。但万事开头难,能运行DWT helloworld程序,以后的学习就问题不大。你可以到D语言论坛   http://bbs.d-programming-language-china.org/ http://bbs.d-programming-language-china.org/forum-17-1.html 参与交流学习。

DWT的示例程序或者教程可以说几乎是无限。DWT本身有一个 DWT sample专库, 里面有上百个示例代码,http://hg.dsource.org/projects/dwt-samplesD语言中国   https://www.d-programming-language-china.org/ 也贡献了一些示例代码。

SWT的教程也就是DWT的教程。

你可以买SWT的教程来学习DWT, 或者找网上的教程,这样银子也省了。我在一开始的时候就曾找中文SWT教程来学习。SWT的代码改成DWT, 要修改的地方很少。

网上英文的SWT教程更多,我在写DWT程序时经常去搜索相关代码,绝大多数问题都可以得到解决。

DWT上手以后,一般的问题还要经常阅读DWT源码,现在我最多的学习方式是阅读源码,然后就知道实现什么功能要用什么样的代码调用。

写D语言GUI程序,就用DWT吧,不会让你失望的。

https://www.d-programming-language-china.org/d-yu-yan-dwt-kai-shi/
D语言GUI从DWT开始

相关文章: