客户端开发使用的主流界面库的综合功能对比

2748 人浏览 | 时间: 2017-05-02 14:33:00 | 作者: codexia

        之前搜集到一份客户端GUI开发的各种界面库的功能详细对比图,很详细,所以还是整理出来,以免丢失了。

        各种界面库的功能详细对比图如下所示:

    各种界面库的功能详细对比图

    各种界面库的功能详细对比图,点击图片查看大图】

        从10个方面进行对比,分别是接口设计、界面编辑器、高级布局功能、平面绘制、平台兼容性、语言支持、IDE兼容、视图模型分离机制、运行时库支持、协议。当然,还有其他的界面库没有列进来,因为这个资料也是比较早的了。WPF比Windows Form的界面漂亮多了,各方面支持都比forms好,都是微软的。duilib界面库作者没有维护,所以也就不怎么流行了。

        几个比较的指标我简单的解释下,好于不好,各有各的选择。

    1.接口设计

        接口设计说的是,我们在做界面开发时,我们如何与界面库进行互动。界面库提供什么样的方式,让我们开发人员可以参与界面的定制开发,也就是常说的接口。通过这个接口,我们可以实现自己定义的界面效果。主要有代码中直接干涉界面的方法属性模型(可以直接将界面当做一个对象,然后调用各种属性就可以快速修改界面,如VB、C#、WPF)、通过虚函数重载的函数调用系统API来修改界面(需要写很多代码,控制界面麻烦,如MFC、WTL)、使用回调函数让用户函数进行界面的绘制(如wxWidget)和基于信号槽机制进行用户界面的绘制(如QT、GTK+)。

    2.界面编辑器

        界面编辑器也就是可视化编辑界面的支持。基于方法属性模型的C#界面编辑器就和代码中修改属性差不多,非常方便,界面编辑器支持的非常好,对界面的定制可以很丰富。而MFC和WTL则是基于资源编辑器,可以进行界面的可视化编辑,但是功能有限,对界面的更多的控制依赖于代码实现。QT和GTK+有完善的界面编辑工具,其他的连界面编辑工具都不完善。

    3.高级布局功能

        高级布局一般是提到的水平布局、垂直布局等等,也就是可以按照一个布局的序列自动排序界面元素,而不需要一个个的指定,这样让界面布局变得更加方便。而MFC为代表的则都需要自己手动指定界面的布局,没有高级布局,很原始。

    4.平面绘制

请微信扫码阅读
为防止恶意爬虫,
已开启反爬机制

相关阅读