认识
我们需要对 Zim Desktop Wiki 进行二次开发(增加我们喜欢的功能),但是该应用通过 GTK 开发,所以受制于 GTK 自身的特性;
该笔记将记录:我们尝试了解(调研)常见的 Linux 桌面环境的 GUI 框架,以及相关问题的解决办法;
组成
WIP
构建
常用的跨平台 GUI(图形用户界面)框架包括以下几种:
2)wxWidgets:wxWidgets 提供了一种创建跨平台的 C++ 应用程序的方式。它有一个丰富的 API 集,包括文件系统,线程,日期和时间,数据结构等等;
3)GTK:GTK 是一个为 GIMP 创造的开源跨平台工具包。它主要用于创建图形界面,但它也包含一些非 GUI 功能;
4)JavaFX:JavaFX 是一个 Java 的图形用户界面库,用于创建丰富的互联网应用程序。它支持多种操作系统,包括 Windows、Mac OS、Linux 等;
Qt
Qt 是一个跨平台的应用程序开发框架,可以在 Windows、Mac OS、Linux 和一些嵌入式操作系统上运行。它可以用 C++ 或 QML(一种 JSON 类型的声明性语言)编写;
Cairo
Cairo (stylized as cairo) is an open-source graphics library that provides a vector graphics-based, device-independent API for software developers.
GNUStep
GNUstep 是一个成熟的框架,适用于高级 GUI 桌面应用程序以及服务器应用程序;
该框架严格遵循苹果的 Cocoa(原 NeXT 的 OpenStep)API,但可移植到各种平台和体系结构;
Electron
Electron 是 GitHub 开发的一个开源库,用于使用 JavaScript,HTML 和 CSS 构建跨平台的桌面应用程序。它在 Node.js 上运行,并使用 Chromium 渲染引擎;
Coding Language | HTML, CSS and JavaScript
pywebview
Build GUI for your Python program with JavaScript, HTML, and CSS
官网:https://pywebview.flowrl.com/
文档:https://pywebview.flowrl.com/examples/
仓库:https://github.com/r0x0r/pywebview/
Webview | Java
https://github.com/webview/webview_java
chromiumembedded/cef
https://github.com/chromiumembedded/cef
nw
https://github.com/nwjs/nw.js/
参考
介绍常用的 GUI 框架,支持 Linux Windows macOS 三个平台 —— ChatGPT 4