Ask HN: How to make a native GUI with a modern language?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • tauri

    Build smaller, faster, and more secure desktop applications with a web frontend.

  • Strange nobody mentioned Tauri, it is really pleasant experience to use and good solution. It works really well for what it does, it is still not covering all features and everything, but it is more performant and more secure alternative to Electron.

    I was considering using it for some app that otherwise would be PWA. While I didn't use in-depth features and didn't run into any serious problems, it is likely that not everything will be perfect, but it is also likely that overall experience will be more pleasant.

    https://tauri.app/

    Check it out.

  • Flutter

    Flutter makes it easy and fast to build beautiful apps for mobile and beyond

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • capy

    💻Build one codebase and get native UI on Windows, Linux and Web

  • Avalonia.FuncUI

    Develop cross-plattform GUI Applications using F# and Avalonia!

  • You might want to check out Avalonia.FuncUI, which lets you use F# and the cross-platform Avalonia framework to build desktop applications with an Elm-like architecture: https://github.com/fsprojects/Avalonia.FuncUI#example-using-...

  • RocketBuilder.jl

    Gtk based GUI for building rockets for simulating rocket launches.

  • I write native GUIs in GTK using Julia at the moment. Julia is one of the most modern languages you can use today. Multiple-dispatch, very functional, modern package management and virtual environments, high performance, modern sophisticated REPL environment. GTK is quite nice as Glade is one of the nicer GUI designers.

    Here is a simple Julia GTK project on GitHub: https://github.com/ordovician/RocketBuilder.jl

    Some articles I wrote related to GTK programming with Julia and GTK in general:

    - Understanding GTK Layouts: https://itnext.io/understanding-gtk-layouts-13e5a36256fa

    - Hiccups Writing GTK3 GUI Code in Julia: https://towardsdev.com/hiccups-writing-gtk3-gui-code-in-juli...

    If Julia is not your cup of tea then GTK can be used with Go and Swift as well.

  • goview

  • I suggest to take a look at tauri[1], lorca[2](requires chrome to be installed) or webview[3](uses system webkit). If you're interested I made a small poc that can be shipped as a single binary file with webview and react - https://github.com/snehesht/goview

    1. https://github.com/tauri-apps/tauri

  • Lorca

    Build cross-platform modern desktop apps in Go + HTML5

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • webview

    Tiny cross-platform webview library for C/C++. Uses WebKit (GTK/Cocoa) and Edge WebView2 (Windows).

  • v-mode

    🌻 An Emacs major mode for the V programming language.

  • fyne

    Cross platform GUI toolkit in Go inspired by Material Design

  • I hope golang is modern language for Nerds, welcome to use fune:

    https://github.com/fyne-io/fyne

    I done research and have found golang fune is able to run even on thin devices. It core depend on open gl and can be changed to run with messa for embeeded device displays. https://pirogove.blogspot.com/

  • Give Sciter a try, It's not OpenSource, but it's app are native looking written in js and html.

    https://gitlab.com/sciter-engine/sciter-js-sdk

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts