Alternatives to Qt5 logo

Alternatives to Qt5

Electron, Kivy, wxWidgets, JavaFX, and pygame are the most popular alternatives and competitors to Qt5.
89
128
+ 1
6

What is Qt5 and what are its top alternatives?

It is a full development framework with tools designed to streamline the creation of applications and user interfaces for desktop, embedded, and mobile platforms.
Qt5 is a tool in the Cross-Platform Desktop Development category of a tech stack.

Top Alternatives to Qt5

  • Electron
    Electron

    With Electron, creating a desktop application for your company or idea is easy. Initially developed for GitHub's Atom editor, Electron has since been used to create applications by companies like Microsoft, Facebook, Slack, and Docker. The Electron framework lets you write cross-platform desktop applications using JavaScript, HTML and CSS. It is based on io.js and Chromium and is used in the Atom editor. ...

  • Kivy
    Kivy

    It is an open source Python library for rapid development of applications that make use of innovative user interfaces, such as multi-touch apps. It runs on Linux, Windows, OS X, Android, iOS, and Raspberry Pi. You can run the same code on all supported platforms. ...

  • wxWidgets
    wxWidgets

    It is a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base. It has popular language bindings for Python, Perl, Ruby and many other languages, and unlike other cross-platform toolkits, it gives applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source and mature. ...

  • JavaFX
    JavaFX

    It is a set of graphics and media packages that enables developers to design, create, test, debug, and deploy rich client applications that operate consistently across diverse platforms. ...

  • pygame
    pygame

    It is a cross-platform set of Python modules designed for writing video games. It includes computer graphics and sound libraries designed to be used with the Python programming language. ...

  • Element
    Element

    Element is a Vue 2.0 based component library for developers, designers and product managers, with a set of design resources. ...

  • Tauri
    Tauri

    It is a framework for building tiny, blazing fast binaries for all major desktop platforms. Developers can integrate any front-end framework that compiles to HTML, JS and CSS for building their user interface. The backend of the application is a rust-sourced binary with an API that the front-end can interact with. ...

  • SDL
    SDL

    It is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. ...

Qt5 alternatives & related posts

Electron logo

Electron

10K
9.1K
140
Build cross platform desktop apps with JavaScript, HTML, and CSS
10K
9.1K
+ 1
140
PROS OF ELECTRON
  • 66
    Easy to make rich cross platform desktop applications
  • 51
    Open source
  • 13
    Great looking apps such as Slack and Visual Studio Code
  • 7
    Because it's cross platform
  • 3
    Use Node.js in the Main Process
CONS OF ELECTRON
  • 18
    Uses a lot of memory
  • 8
    User experience never as good as a native app
  • 4
    No proper documentation
  • 4
    Does not native
  • 1
    Each app needs to install a new chromium + nodejs
  • 1
    Wrong reference for dom inspection

related Electron posts

The Slack desktop app was originally written us the MacGap framework, which used Apple’s WebView to host web content inside of a native app frame. As this approach continued to present product limitations, Slack decided to migrate the desktop app to Electron. Electron is a platform that combines the rendering engine from Chromium and the Node.js runtime and module system. The desktop app is written as a modern ES6 + async/await React application.

For the desktop app, Slack takes a hybrid approach, wherein some of the assets ship as part of the app, but most of their assets and code are loaded remotely.

See more

Slack's new desktop application was launched for macOS. It was built using Electron for a faster, frameless look with a host of background improvements for a superior Slack experience. Instead of adopting a complete-in-box approach taken by other apps, Slack prefers a hybrid approach where some of the assets are loaded as part of the app, while others are made available remotely. Slack's original desktop app was written using the MacGap v1 framework using WebView to host web content within the native app frame. But it was difficult to upgrade with new features only available to Apple's WKWebView and moving to this view called for a total application rewrite.

Electron brings together Chromium's rendering engine with the Node.js runtime and module system. The new desktop app is now based on an ES6 + async/await React application is currently being moved gradually to TypeScript. Electron functions on Chromium's multi-process model, with each Slack team signed into a separate process and memory space. It also helps prevent remote content to directly access desktop features using a feature called WebView Element which creates a fresh Chromium renderer process and assigns rendering of content for its hosting renderer. Additional security can be ensured by preventing Node.js modules from leaking into the API surface and watching out for APIs with file paths. Communication between processes on Electron is carried out via electron-remote, a pared-down, zippy version of Electron's remote module, which makes implementing the web apps UI much easier.

See more
Kivy logo

Kivy

83
302
20
An open source Python framework
83
302
+ 1
20
PROS OF KIVY
  • 8
    Readable
  • 6
    Pythonic
  • 5
    Simple
  • 1
    Convert to APK file
CONS OF KIVY
  • 2
    Same function but different name for different widgets

related Kivy posts

William Miller

We are developing an AWS IoT app for large boats. The IoT devices have sensors all over the boat for engine oil pressure, position, water depth, fuel level, crew location, etc. When the boat has internet, we interact with AWS cloud using lambda and Amazon DynamoDB. When the boat is offshore, the captain and crew still need normal and emergency alerts and real-time sensor information. The crew might have an Android or IoS phone or a Windows or macOS PC to receive alerts and interact with sensors. We may use the AWS GreenGrasss edge computing solution and either MQTT or HTML for that function.

Question: We want to develop a cross-platform client to run on Windows, Mac, Android, IOS, and possibly Linux. We are primarily Python programmers, so PyQt or Kivy are options for us, but we have heard good things about React Native, Flutter, Xamarin, and others. We think an AWS Greengrass core on an RPI4 could communicate to the client with MQTT or a local webserver with a client web interface.

Any thoughts would be much appreciated.

See more
Shared insights
on
FlutterFlutterKivyKivyPyCharmPyCharmPythonPython

I want to start working on mobile applications with Python, which tool do I need to consider with PyCharm, Kivy, or Flutter?

See more
wxWidgets logo

wxWidgets

21
70
19
It is a cross platform GUI library
21
70
+ 1
19
PROS OF WXWIDGETS
  • 5
    Native looking UI
  • 4
    Learning Curve
  • 3
    Cross platform
  • 2
    Permissive license. Commercial with static linkage.
  • 2
    Open source
  • 1
    Pure C++ code
  • 1
    Python
  • 1
    Performance
CONS OF WXWIDGETS
  • 1
    Uses Qt for GUI (wxQt)

related wxWidgets posts

JavaFX logo

JavaFX

263
373
10
A Java library for building Rich Internet Applications
263
373
+ 1
10
PROS OF JAVAFX
  • 10
    Light
CONS OF JAVAFX
  • 1
    Community support less than qt
  • 1
    Complicated

related JavaFX posts

pygame logo

pygame

81
150
5
Open Source python programming language library for making multimedia applications
81
150
+ 1
5
PROS OF PYGAME
  • 3
    Easy to install
  • 1
    Simple
  • 1
    Lightweigt by only being 12 mb
CONS OF PYGAME
  • 2
    Has only 2d
  • 1
    Slow

related pygame posts

Element logo

Element

63
90
3
A Vue 2.0-based desktop UI library for developers, designers and PMs
63
90
+ 1
3
PROS OF ELEMENT
  • 3
    Very complete solution
CONS OF ELEMENT
  • 2
    Buggy in parts

related Element posts

Tauri logo

Tauri

45
41
0
A framework for building tiny, blazing fast binaries for all major desktop platforms
45
41
+ 1
0
PROS OF TAURI
    Be the first to leave a pro
    CONS OF TAURI
      Be the first to leave a con

      related Tauri posts

      SDL logo

      SDL

      37
      44
      4
      A cross-platform software development library
      37
      44
      + 1
      4
      PROS OF SDL
      • 2
        Actively being worked on
      • 1
        Cross-platform
      • 1
        Fast
      CONS OF SDL
      • 1
        No GUI support

      related SDL posts