I don’t think cargo-deny alone is enough. And many from Rust ecosystem thinks that if I specified version “1”, it will be enough forever. Many tools nowadays are installed by binstall, so binary will be older and older and won’t receive any updates.
Deku is a declarative binary parser. deku_string is an extension which currently provides utility wrappers for data vectors and unicode strings, which can be prefixed or fixed length. Additionally library provides support for 7-bit encoded integers from .NET.
For example, I often work with binary structures where strings are either length prefixed (with zero character in a buffer) or in fixed size buffer with a zero-ended sting inside.
There’s multiple examples with custom writer and reader functions, which work, but are less convenient to use.
The best would probably be pure native UI with static/dynamic library in Rust for logic. Sounds hard, but it’s the best option in my opinion.
My 2 cents is below. Your decision depends on your tasks, preferences and targets.
GPU framework maybe fast, but accessibility at 0
HTML backend is nice, but I can’t choice other than native, which limits me quite hard for target user base. And I don’t like JS if not strictly required (it’s a personal preference).
GTK on macOS and windows is quite hard to install and I don’t like visuals
QT is in grey zone if static (non-GPL project), and I haven’t found good way to bundle it if dynamic
ImGUI is nice but I don’t know if they support HiDPI monitors and accessibility is not the highest
fltk is nice, but 1) many things you’ll have to write by you own, rewriting sometimes from FLTK2 C++ code… and community could be more chill and friendly
Windows Metro UI… probably no crates
Win32 API GUI works perfect
Swift… probably yes, but it’s very OS-dependent
Cocoa — very nice for macOS.
current stop is WxWidgets: small, embedded, look… ok for now.
there’s some framework for iOS and Android, looks fine for me, but not my target ATM.
In that for, all error messages have been lost. If to add such output “for” is the most elegant solution.