Azul VS libui

Compare Azul vs libui and see what are their differences.

libui

Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports. (by andlabs)
GUI
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
Azul libui
26 22
5,810 10,590
0.6% -
7.1 0.0
2 months ago over 1 year ago
Rust C
Mozilla Public License 2.0 GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Azul

Posts with mentions or reviews of Azul. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-03.
  • AvaloniaUI: Create Multi-Platform Apps with .NET
    13 projects | news.ycombinator.com | 3 Feb 2024
    Not sure what you mean but WebRender powers Firefox which definitely works on the desktop.

    You can use it to build desktop UI frameworks - see for example https://azul.rs/

  • Servo, the parallel browser engine written in Rust
    11 projects | news.ycombinator.com | 27 May 2023
    I'd been wanting to see this, preferably with JS being optional, and just allowing direct DOM access.

    I initially thought this was what Azul was, but it's only just using Servo's WebRender compositor, and rolls its own CSS parser, DOM, and layout engine, so it doesn't benefit from most of the work done on Servo, and supports less CSS features.

    https://github.com/fschutt/azul

  • Is RUST a good choice for building web browsers?
    6 projects | /r/rust | 27 May 2023
    Both Servo and Fifefox make use of webrender, which is an awesome piece of tech and is well suited to render a web page. Some GUI projects attempted to use webrender directly as well, like Azul and moxie-native
  • Digital Audio Workstation Front End Development Struggles
    16 projects | news.ycombinator.com | 15 May 2023
    > But no one is saying, "Hey I have a CSS 2.1 compliant rasterizer and compositor that you can use in your C++ or Rust environment!" are they?

    There’s actually quite a lot of interesting work going on in that general space, has been in various forms for some years. A couple that immediately spring to mind:

    • Azul <https://azul.rs/> builds on WebRender, as used in Firefox. I haven’t looked at it for a few years, but it looks to have grown quite interesting now.

    • Blitz <https://github.com/DioxusLabs/blitz> is based on from-scratch implementations of CSS layout and rendering, and wgpu rendering. It’s not usable yet, but is a very interesting concept. If one happens to be familiar with React Native: it’s kinda like that, or React Native Web.

  • XUL Layout has been removed from Firefox
    18 projects | news.ycombinator.com | 1 Apr 2023
    Azul[1] was my solution for that, it was based on WebRender. I didn't get around to finish it in 2019, but I will work on it this year, maybe I'll get it to be mature enough to post it here.

    > wide portability (at least Windoze, Linux, MacOS, iOS, Android, embedded: Azul is Windows-Linux-Mac only, don't underestimate the effort to properly port something to a new platform

    > "though a Vulkan-based renderer can be made to run pretty much anywhere": WebRender is OpenGL + using software rendering as a fallback

    > a permissive open source license: MPL-2.0

    > a C interface/wrap to allow a wide programming language binding support: yes

    > and an easily extensible and themable set of basic widgets: also yes

    [1] https://azul.rs/

  • Rust GUI framework
    16 projects | /r/rust | 8 Feb 2023
    There is Iced which is used by system76 in Pop!_OS, Druid [DISCONTINUED], GTK-rs, Relm, Azul and Tauri. Personally I would use Tauri for its speed using the OS's native web render, documentation of use with things such as Sveltekit and the ability to make UI's using JS, CSS and HTML. Tauri similarly to Electron whilst being far faster. But its up to personal preference really. There aren't any solid "go to" options at the moment.
  • Servo 2023 Roadmap
    1 project | /r/rust | 4 Feb 2023
    Sounds like you may be interested in azul not exactly servo based but on projects that originate from servo. Also this is not a typical WebView, for example it does not use HTML but uses DOM to define it's UI, and there is no JS engine in there.
  • Help with webrender.
    1 project | /r/rust | 1 Jan 2023
    Azul uses webrender. But your "glue" program is like half the web browser. You also need a vector graphics library to render websites. Webrender only does boxes, but not complex SVG paths. Once the plan was to use pathfinder, but mozilla fired the dev and they still using an old version of chromium's skia for that.
  • Rust: State of GUI, December 2022 – KAS blog
    15 projects | news.ycombinator.com | 14 Dec 2022
    One day I'll get around to finish my library Azul [1]. Hopefully.

    [1] https://azul.rs/

  • Pure Rust GUI Landscape
    8 projects | dev.to | 24 Nov 2022
    azul

libui

Posts with mentions or reviews of libui. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-11-04.
  • Short history of all Windows UI frameworks and libraries
    1 project | news.ycombinator.com | 10 Feb 2024
    You can kind of see the desktop UI train wreck in real time here.

    We started with simple stable APIs for a common look and feel. For a while these were evolved and made available in other languages. This was back when native apps were consistent and intuitive and you could… uhh… actually write and ship them without bundling giant runtimes or checking a huge compatibility matrix.

    Then around 2012 the train rounds the bend and screeeeech it hits some bad track and starts to derail. UI starts trying to emulate the web, a terrible UI platform, and sane compositional UI libraries and APIs are abandoned in favor of XML soup.

    Since this stuff is a trash fire, this is followed by multiple incompatible attempts to replace or fix this. Most of these are abandoned dead ends.

    Meanwhile the dev community just said fuck it and went to Electron, creating today’s world where a “hello world” app with an OK button is hundreds of megabytes and has to load an entire private copy of a language runtime and rendering engine.

    Versions of this comedy of errors have occurred on every other platform, and of course there has been little effort to create a cross platform UI API that’s sane beyond Qt (with its own problems) and dozens of half completed OSS projects.

    So enjoy Electron I guess.

    There was one sane human being who tried to do this a while ago:

    https://github.com/andlabs/libui

    It’s the only sane desktop UI project I’ve seen in almost 20 years, an attempt to create an actual cross platform common API. But it’s abandoned of course, likely too difficult for one dev and nobody is going to provide financial support for anything that sane.

    Maybe AI will get good enough some day that we can use it to do a thing like that.

  • BeeWare Toga v0.4.0 – A Python native, OS native GUI toolkit
    3 projects | news.ycombinator.com | 4 Nov 2023
  • Is there no simple GUI library for pure C?
    4 projects | /r/C_Programming | 15 May 2023
    What about https://github.com/andlabs/libui
  • Capy – Cross-platform library for making true native GUIs in Zig
    4 projects | news.ycombinator.com | 1 Aug 2022
    Fantastic! This is similar to the C library `libui` since it also acts as a wrapper of native libraries of each platform.

    If only there was a way to interface to these using some declarative minimal and highly opinionated programming language and paradigm...

    https://github.com/andlabs/libui

  • Mathematical Patterns
    2 projects | /r/cprogramming | 27 Jun 2022
    For the GUI you will need a library or framework that interacts with your specifiv operating system and allows you to create windows and a canvas to which you can draw. You could give libui a chance.
  • libui-ng-sys: external FFI bindings for libui-ng
    2 projects | /r/rust | 20 Apr 2022
    libui-ng is a cross-platform GUI library with native widgets written in C. It is based on an earlier, (currently) inactive project known as libui. While Rust bindings for libui have existed for years (see ui-sys and iui), there is no solution for the new libui-ng; libui-ng-sys aims to fill this role.
  • What GUI library should I start with after learning C?
    3 projects | /r/C_Programming | 17 Feb 2022
    libui
  • Not-gtk GUI Libs/frameworks for plain C
    6 projects | /r/C_Programming | 22 Jan 2022
    https://github.com/andlabs/libui is very nice, but unfortunately dead, if it serves your purpose consider using it, this is a fork under development https://github.com/libui-ng/libui-ng
  • Ask HN: Is there any cross platform non native GUI written in C that looks good?
    2 projects | news.ycombinator.com | 7 Dec 2021
    https://github.com/andlabs/libui

    Better yet, it has excellent DSLs that make it possible to build desktop apps in a way similar to HTML, but much better due to keeping all code dynamic in one language (no static/dynamic multi-language separation/mixing dissonance):

  • Usable cross-platform GUI?
    2 projects | /r/vlang | 4 Nov 2021
    Maybe a module that uses https://github.com/andlabs/libui or a light HTML renderer?

What are some alternatives?

When comparing Azul and libui you can also consider the following projects:

conrod - An easy-to-use, 2D GUI library written entirely in Rust.

imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

wxRust - A Rust binding of the wxWidgets cross platform toolkit.

nuklear - A single-header ANSI C immediate mode cross-platform GUI library

gtk - DEPRECATED, use https://github.com/gtk-rs/gtk3-rs repository instead!

wxWidgets - Cross-Platform C++ GUI Library

orbtk - The Rust UI-Toolkit.

nana - a modern C++ GUI library

Native Windows GUI - A light windows GUI toolkit for rust

ncurses - snapshots of ncurses - see http://invisible-island.net/ncurses/ncurses.faq.html (no pull requests are accepted)

relm - Idiomatic, GTK+-based, GUI library, inspired by Elm, written in Rust

GTK+ - Read-only mirror of https://gitlab.gnome.org/GNOME/gtk