之前也汇总过一些关于gui框架的信息,但有些分散,不完整,也不系统。今天开始写一篇从编程语言、跨平台的角度汇总一下主流的框架,后续会持续更新。
任何GUI应用的开发使用一门或多门语言实现,从语言、跨平台等角度进行汇总,会更加实用。希望对大家有所协助。
|
序号 |
语言 |
框架 |
是否跨平台 |
协议 |
支持语言 |
描述 |
|
1 |
C |
GTK |
是 |
LGPL |
C、C++,Python, Rust, JavaScript 等 |
从GIMP项目里独立出来的UI库 |
|
2 |
C++ |
QT |
是 |
LGPL或GPL或商业协议 |
C++、Python、Go、JavaScript、R等 |
老牌的跨平台GUI框架 |
|
3 |
C++ |
duilib |
否 |
MIT |
C++ |
Duilib是一个Windows下免费开源的DirectUI界面库。 |
|
4 |
C++ |
wxWidgets |
是 |
LGPL 的修改版本 |
C++, python,Ruby, Lua, Perl |
wxWidgets 是一个 C++ 库,它使开发者能够使用单一代码库为 Windows、macOS、Linux 及其他平台创建应用程序。 |
|
5 |
C++ |
FLTK |
是 |
LGPL |
C++ |
轻量级的GUI库 |
|
6 |
java |
swing |
是 |
java |
||
|
7 |
java |
awt |
是 |
java |
||
|
8 |
java |
javafx |
是 |
GPL with the class path exception |
java |
|
|
9 |
Kotlin |
KMP |
是 |
Apache License 2.0 |
Kotlin |
jetbrains 和google合作开发的跨平台框架 |
|
10 |
C# |
maui |
是 |
C# |
不支持linux |
|
|
11 |
C# |
avalonia |
是 |
C# |
由社区维护,支持平台多,但bug也多 |
|
|
12 |
C# |
winforms |
否 |
C# |
||
|
13 |
javascript |
electron |
是 |
MIT |
javascript, C++ |
由nodejs和V8 运行时组成 |
|
14 |
JavaScript |
nodegui |
是 |
MIT |
JavaScript |
由nodejs和qt组成,去掉了浏览器运行时,减少了打包体积和运行内存。支持react、vue. |
|
15 |
Python |
Tkinter |
是 |
Python |
标准库自带 |
|
|
16 |
Python |
PyQt |
是 |
GPL、商业许可 |
Python |
Qt的Python封装 |
|
17 |
Python |
Pyside |
是 |
LGPL或GPL或商业协议 |
Python |
Qt的Python封装 |
|
18 |
Python |
wxPython |
是 |
LGPL |
Python |
wxWidgets 的Python封装 |
|
19 |
Pascal |
Delphi |
是 |
商业 |
Pascal |
|
|
20 |
Pascal |
lazarus |
是 |
GPL, LGPL |
Pascal |
本人在闲暇时尝试过其中一些框架,其中大多数没有达到预期。世界上没有完美语言,在其基础上开发的各种框架自然不也完美。根据实际业务选择即可。
其中有些框架已经不更新了,虽然还不影响使用,但随着时间增长后,可能会出现一些意想不到的问题,列如不支持新版本的系统等。
提议有实力的公司或个人选择商业支持的框架,能节省不少心力;不想花钱的个人或公司,选择宽松协议的框架,并强烈提议避开QT、Delphi等律师函满天飞的框架,有可能还没等到赚钱,就先花出去一笔钱,你说不舒服不不舒服。
整理不易,如果对您有用,麻烦点个赞或收藏~














- 最新
- 最热
只看作者