Desktop software development framework

1. Qt

Official website: https://www.qt.io/

The most popular cross-platform desktop software development framework in the C++ field, Qt has an interface description language (XML description interface). The interface can be designed by dragging the space in the designer. The compile-time interface description language is escaped into C++ code.

 Python is based on PyQt for Qt applications.

2. GTK

Official website: https://www.gtk.org/

GTK is developed in C language, but there are many language bindings, such as officially supported JavaScript, Rust, etc. Of course, it is also very convenient to operate GTK in C++ language, self-drawing engine (Cairo)

Linux operating system is popular in the field, and many Linux desktop software are developed based on GTK.

 Three: CEF

Official website: https://bitbucket.org/chromiumembedded/cef/src/master/

CEF was founded in 2008. It is a cross-platform GUI framework based on Chromium, such as WeChat desktop, NetEase Cloud Music desktop (Win), QQ desktop, WeChat desktop, MATLAB, FoxMail, and OBS Studio, with an installed base of over 100 million

CEF is the abbreviation of Chromium Embedded Framework. As the name suggests, this is a framework for embedding Chromium into other applications . This open source project was founded by Marshall Greenblatt in 2008 and is written in C/C++. It provides a stable API to avoid developers being troubled by complex code logic such as Blink, V8, and Chromium. CEF attaches great importance to the developer's experience . Many functions have default implementation methods. Following the principle of convention over configuration, developers can easily control the CEF framework.

CEF’s series of courses: https://juejin.cn/book/7075387142121193502

4. NW.js

Official website: https://nwjs.io/

NW.js was the first to bind Chromium and Node together, using front-end knowledge as an interface and using Node technology to access the operating system. NW.js is based on MIT open source and can be used without worries. Fewer and fewer people use it, and the investment in maintenance is also reduced. Not as big as Electron

5. Electron

Official website: https://www.electronjs.org/

The author of Electron once worked in the NW.js team (the person with the second largest contribution to the NW.js project is the author of Electron),

Electron provides more browser-related APIs and system-level APIs than NW.js.

Six, TAURI

Official website: https://tauri.studio/

The technical solution adopted is similar to webview, open source and free. TAURI has all the problems encountered by the webview framework. It is developed using Rust and will support Deno in the future. The author said that in the future, webview technology will be directly used to support multiple platforms.

7. webview

Official website: https://github.com/webview/webview

Mac Cocoa/WebKit, Linux gtk-webkit2, Windows 10 Edge, open source and free (MIT) have bindings for go, Rust, Python and other languages, but the official support is go language, C and C++, and the API for operating browsers is very few

8. webview2

Official website: https://developer.microsoft.com/zh-cn/microsoft-edge/webview2/

webview2 is a cross-platform GUI engine launched by the Microsoft Edge browser team. It is closed source, has a Chromium browser core, and has a multi-process architecture. It even has one more process than Electron (in order to reuse binary resources) and takes up a lot of resources. .

9. flutter-desktop

Official website: https://docs.flutter.dev/desktop

Google's cross-platform development framework is open source, free, well-documented, requires a lot of investment, and is durable. The flutter desktop side is relatively stable (skia self-drawing engine)

十、Compose Multiplatform

Official website: https://www.jetbrains.com/lp/compose-mpp/

Compose Multiplatform is a cross-platform GUI framework developed by JetBrains. The self-drawing engine uses Google's  skia . This self-drawing engine is very stable. Both Chrome and Flutter use it.

Things like rendering are less likely to go wrong. Compared with Swing and JavaFx in the Java ecosystem 

JetBrains is very compatible with Kotlin developers and is also compatible with the Java ecosystem. It is very friendly to access system-level APIs.

11. MAUI

Official website: https://github.com/dotnet/maui

Microsoft's cross-platform GUI framework not only supports desktop but also mobile terminals, but it does not officially support Linux desktop.

It is a GUI framework under the .NET platform. It has a self-drawing engine and is very friendly to C# developers. The interface is still described in XAML.

12. Sciter

Official website: https://www.qt.io/

Sciter is a cross-platform closed-source GUI framework created in 2006. It faces commercial licensing issues. It encapsulates the browser core internally and streamlines the browser core. Unlike Electron and NW.js, which often reach hundreds of megabytes in size, it only needs about 6M. . I remember the underlying rendering engine is Google's skia.

After integrating Fabrice Bellard's QuickJs, it fully supports JavaScript and C++ development. It is very friendly to C++ developers and has bindings for Rust, go, Python and other languages.

 RmlUi  is very similar to Sciter and can be regarded as an alternative framework to Sciter.

13. Duilib

Official website: https://github.com/duilib/

 A GUI development framework developed by a domestic developer in 2010. The bottom layer is developed based on DirectUI, so it only supports the Windows platform and does not support cross-platform. Desktop applications are based on this technology, such as NetEase, Tencent, and Baidu.

14. FLTK

Official website: https://www.fltk.org/

FLTK is a cross-platform open source GUI framework created in 1998. It is very lightweight and supports static connections. A simple application only takes about 500K after compilation. OpenGL self-drawing engine

15. wxWidgets

Official website: ​www.wxwidgets.org/

wxWidgets is a cross-platform GUI software created by a British university professor in 1992. It is also very mature and stable, and the commercial authorization is very friendly. It is developed in C++ and is compatible with cross-platforms. Windows is a Windows window style and Linux is a Linux window style.

16. ImGui

Official website: https://github.com/ocornut/imgui

The implementation principles and development methods of the GUI framework are unique, supporting many drawing engines such as OpenGL, Directx, Vulkan, etc.

框架:GitHub - Immediate-Mode-UI/Nuklear: A single-header ANSI C immediate mode cross-platform GUI library

 

Guess you like

Origin blog.csdn.net/ejinxian/article/details/132502977