在跨平台流行的今天,有很多JavaScript、HTML5/WebUI、或者是Flutter等各类所谓跨平台GUI开发框架不断涌现,但是实现一些界面容易,想做高性能桌面或者其它平台GUI客户端,跨平台只能是偏向于展示类应用。 真正的技术还得看原生开发,纯原生性能固然好但是不支持跨平台,所以非官方的C/C++原生库,也是一个不错的选择。 不论你是想真正做一款GUI客户端软件还是说学习C/C++这类最高逼格的语言的技术,或者是了解GUI开发的真技术,都可以玩一玩今天我要推荐的库。毕竟C/C++才是所有程序员"梦开始的地方"!QT 关于C/C++跨平台GUI库,最知名的莫过于Qt这个库,从我目前苹果macOS系统的桌面电脑上来说,很多强大的软件就是Qt开发的,比如影视调色软件"达芬奇17"、比如3D建模雕刻王者"ZBrush",以及国产软件WPS、亿图图示等,基本上跨平台的桌面软件大部分都使用了Qt框架。 Qt支持Windows、Linux、MacOS、Android、iOS,以及支持MCU嵌入式开发、甚至WebAssembly浏览器环境,几乎支持所有平台,同时可以使用C++、QML、Python开发方式,此外还有第三方各类语言绑定库实现,官方文档也十分详细和丰富! GTK GTK是超级经典的GUI框架,主要是Linux用户开发GUI桌面程序的库,但支持跨平台,也有很多语言的绑定库。 wxWidgets wxWidgets是一个古老的C++语言GUI组件库,支持Windows, macOS, Linux等系统,有Python、Perl、Ruby等绑定库,github目前3.9K星星! AWTK AWTK 全称 Toolkit AnyWhere,是中国人开发的一个跨任意端的GUI界面程序,目前GitHub星星2.3K,对于一个GUI库来说还算有一定热度,可千万别和Vue这种简单要死的web前端库比热度,技术难度和用户数量市场需求不在一个频道。 GUI-lite GUILite是一个写繁体汉字的大佬程序员开发的。目前在国内gitee码云平台有仓库托管,已有3K以上星星,GitHub上已有5.7K星星! 从介绍来说,非常的厉害了,支持几乎所有端,同时还兼容其它GUI库。 JUCE-Framework JUCE是一个C++跨平台开发库,目前GitHub星星已3.7K,说明还是一个有人用的框架,我曾在YouTube看过国外教程,做的GUI程序确实挺高端的。 支持macOS、iOS、Windows、Linux、Android。 Gaclib Gaclib是一个C++框架,主要是GPU加速器。 目前支持Windows、Linux、MacOS,感兴趣可以研究下,国内用公司使用这个库来做GUI客户端程序。 YUE 一个轻量级C++语言GUI框架,支持Windows、Linux、MacOS。 目前已有C++、LUA、JavaScript绑定库。github有2.6K星星! libui libui是一个C语言开发的GUI库,目前github星星10K,支持所有平台。 其次,支持了几乎所有的主流编程语言的绑定库。 Nuklear Nuklear是一个C语言的GUI库,目前github星星13.3K,是一个与OS无直接依赖的(跨平台)的GUI库。同时目前已有Java、Golang、Rust、C#、Python等少数语言的绑定库实现。 其它的更小众的不就少了,如果你还有更好玩的GUI库,欢迎在评论区进行推荐与交流。