FTXUI
Slint
Our great sponsors
FTXUI | Slint | |
---|---|---|
39 | 60 | |
6,094 | 3,094 | |
- | - | |
8.3 | 9.9 | |
8 days ago | about 2 years ago | |
C++ | Rust, C++, JavaScript | |
MIT License | GNU General Public License v3.0 or later |
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.
FTXUI
- Functional Terminal User Interface
-
C++ Game Utility Libraries: for Game Dev Rustaceans
GitHub repo: ArthurSonzogni/FTXUI
-
Library for NES style terminal game.
Background: I want to make a NES Tetris) clone for the terminal, with full resolution, this is achievable through using this ▀ character, and defining back and foreground color. This would result in a 1x2 pixel and by making the game width 256x120 characters this would provide full resolution. I made some tests, creating my own encoding for the different sprites and optimizing everything, which resulted in very quick printing times, even with a normal terminal. Nearly fast enough for the full 60Hz that the NES has, when printing the whole screen. The fact that i don't need to reprint the background (except maybe a tetris), makes 60Hz a kinda realistic goal. My main concern is, that there could occur kind of a screen tearing effect, which i really want to avoid. AFAIK, ncurses has a way to print the whole "window" with a function call to avoid this issue, however I had a lot of issues when trying to use ncurses to print the entire background and figured, that there are better alternatives. I also tried FTXUI and whilst the experience of giving each "pixel" a fore- and background color was much better, i didn't quite find a way to refresh the screen like ncurses. (i think there is some kind of way with the ScreenInteractive class, but i didn't get that to work, and it seemed like there was not a way to color each pixel. with InteractiveScreen you can make your own components with the whole "text()" thing, but this isn't really what i need)
-
Should I give up?
Try this library for console https://github.com/ArthurSonzogni/FTXUI
-
Cross platform terminal UI?
Depends on which level of "UI" you want. Personally I like https://github.com/ArthurSonzogni/FTXUI , but if you want to do those old TUI things then probably the (n/pd)curses libraries.
- Function composition in modern C++
-
What are some C++ projects with high quality code that I can read through?
I find openMVG very decent, FTXUI might be a good one and nlohmann's json library is also pretty nice. I don't really know of any project that strictly adheres to the core guidelines, except maybe for some of Jason Turner's (sample) projects.
- Owl: A toolkit for writing command-line user interfaces in Elixir
-
I have made a physics simulator that replicates projectile motion with quadratic drag! Please feel free to download and compile it. Let me know of any bugs!
Okay stupid suggestion I know but I've recently been learning the FTX UI library which basically adds a little bit of UI programming to the terminal and it has canvas that lets you plot pixel by pixel.
-
Text UI components like “ncurses”
No affiliation with any ponzi schemes https://github.com/ArthurSonzogni/FTXUI
Slint
-
Slint VS slint - a user suggested alternative
2 projects | 17 Oct 2023
-
Will Qt support the Rust language by default? (just curiosity)
As an anecdote, the three top contributors to sixtyfps are ex-Qt people. I think it is not anecdotal that there is at least some degree of overlap and competition between Rust and C++, and that this is a market that surely The Qt Company is watching.
-
BeeWare – write Python, run as native everywhere
SixtyFPS (https://sixtyfps.io/) is in progress for Rust, but it is still early days. It also does not technically use a native toolkit (it uses Qt), but I believe that might be on roadmap. For traditional GUI apps, I think the lack of a table or tree widget is the most limiting for the time being. They have stated they intend to remedy that.
-
What are the best GUI libraries for a potentially “serious”/large project?
The most promising GUI hasn't been posted here, SixtyFPS. It's in it's early stages and not FOSS, but it's built by some ex-QT cats and has a lot of potential.
-
Is there a reliable and documented GUI library out there?
People have been recommending https://sixtyfps.io/ to me.
- Images in sixtyfps
-
Is it worth writing a GUI toolkit in Rust?
There is already a project to make a Qt like GUI toolkit in Rust: https://sixtyfps.io/ It is really similar to Qt https://sixtyfps.io/releases/0.1.5/docs/rust/sixtyfps/index.html
-
Tauri – Electron alternative written in Rust
People are doing that too. https://sixtyfps.io/ is basically a Qt clone in Rust, actually developed by previous Qt developers.
-
I'm giving out microgrants to open source projects for the third year in a row! Brag about your projects here so I can see them, big or small!
spdlog, a pretty useful and more and more commonly used logging library for C++.\ SixtyFPS, an emerging GUI library for Rust, but you can use it in multiple languages. It uses OpenGL or Qt currently as backend (well, it's a new library and they wanted two from the get-go to make sure their abstractions are done right/well enough). They started a company this year for it too.
-
Why I choose Electron even when I wanted to use QT
Just so some are not aware, there's a new project called sixtyfps by some people who were in the Qt world for long. I didn't take a deep dive into it but it looks promising.
What are some alternatives?
ncurses - snapshots of ncurses - see http://invisible-island.net/ncurses/ncurses.faq.html (no pull requests are accepted)
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
imgui - Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies
iced - A cross-platform GUI library for Rust, inspired by Elm
notcurses - blingful character graphics/TUI library. definitely not curses.
DearPyGui - Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
rich - Rich is a Python library for rich text and beautiful formatting in the terminal.
FLTK - FLTK - Fast Light Tool Kit - https://github.com/fltk/fltk - cross platform GUI development
imtui - ImTui: Immediate Mode Text-based User Interface C++ Library
druid - A data-first Rust-native UI design toolkit.
Turbo Vision - A modern port of Turbo Vision 2.0, the classical framework for text-based user interfaces. Now cross-platform and with Unicode support.
gtk4-rs - Rust bindings of GTK 4