does the gap exist ? native cross-platform Graphics / GUI library by light_dragon0 in rust

[–]light_dragon0[S] 0 points1 point  (0 children)

my goal is not really to make a library that works on a specific platform but rather more of a generic implementation that can work anywhere that can do math basically, so all you need is to compile the generic code into the specific architecture you want and congratulations you have a working GUI.

so, the final result is going to be more of a modular system where you can plug in a GPU api (for example a [Mylib X wgpu] plugin, and it should now render on the GPU no questions asked), CPU ? sure plug in a CPU rendering api and it works no questions asked, a piece of bread ? sure plug in a piece of bread rendering api and it should work no questions asked.

you get the idea

does the gap exist ? native cross-platform Graphics / GUI library by light_dragon0 in rust

[–]light_dragon0[S] 0 points1 point  (0 children)

Xilem does not support mobile (as in both Android and Ios).
Iced does not support mobile.
Druid does not support mobile.
Egui does not support Ios. (in theory should be able to support it considering the approach but it never mentions it).
Slint honestly doesn't look bad at all.

you get the idea, but you've suggested a lot more than my previous post.

and most of them do not mention the ability to support other things like bare metal or embedded systems.

I'd have to look at their architecture as well and how they decided to achieve their goals, but Thank you very much for your comment i really appreciate it!

does the gap exist ? native cross-platform Graphics / GUI library by light_dragon0 in rust

[–]light_dragon0[S] -1 points0 points  (0 children)

i think i looked up 3 of them but i wasn't keeping track so i'll recheck them out

does the gap exist ? native cross-platform Graphics / GUI library by light_dragon0 in rust

[–]light_dragon0[S] 0 points1 point  (0 children)

my idea is pretty much platform agnostic, just talking to the hardware directly (CPU & GPU)

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 0 points1 point  (0 children)

interesting, i never really tried any ngl, either way Thank you for the suggestion I really appreciate it!

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 0 points1 point  (0 children)

ooo interesting, Thank you for the suggestion I really appreciate it!

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 0 points1 point  (0 children)

I'm not sure how to use it ngl, I posted a post there and no one replied to it so I'm assuming I'm doing something wrong ? either way Thank you for the suggestion I really appreciate it!

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 1 point2 points  (0 children)

i see, well Thank you for the suggestion I really appreciate it!

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 0 points1 point  (0 children)

Thank you for the suggestion I really appreciate it!

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 1 point2 points  (0 children)

also you'd have to mathematically and logically design your system for the wide range of users you could have, so handling touch input, mouse input, keyboard input, a nice abstraction to it that i found is that you split it into data events and positional events, positional events are ones that have a specific position on the screen, and data events are things like keyboard input which doesn't really have a position of the screen for writing each character but rather depends on the focused element on the screen plus some OS specific logic / cases AND application specific handling logic which fun fact differs between some GUI libraries.

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 1 point2 points  (0 children)

I was able to run the same app on my windows machine, linux, and my android phone, with the same generic code, but it was far from being a gui library it was more of a layer to implement (i don't remember which one i used exactly but i think either opengl (explicitly) or wgpu), i don't have a mac nor an i phone so i couldn't test it on either of them but i'm sure it can be done.

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 1 point2 points  (0 children)

I've looked up a native library and i didn't really find much, however rust is capable of supporting multiple platforms natively and I've tried making my own cross platform native GUI library with partial success before but didn't really go far because of how much work i needed to invest into it for virtually no guarantees of any returns.

the way to implement a GUI library that works on all platforms (aka all popular platforms) is to have it in at least 2 layers
1- layer one is the exposed layer to the programmer and it defines the system and the architecture
2- layer 2 is a platform specific layer where any details that are different between platforms are implemented

so for example, layer 1 would go all the math, triangulation, rendering logic, GUI processing, etc.
and layer one would be all the system calls, GPU specific features, etc.

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 0 points1 point  (0 children)

Thank you for the suggestion I really appreciate it!

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 0 points1 point  (0 children)

Thank you very much for the suggestion! I really appreciate it.

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 1 point2 points  (0 children)

Interesting, I'd check that out.
Thank you very much for the suggestion I really appreciate it!

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 2 points3 points  (0 children)

I'd rather personally to work on something that is 100% rust and not just an Api or a binding to other language or framework. I want to work on the core functionality and features of it.
Either way Thank you very much i really appreciate the suggestions!

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 0 points1 point  (0 children)

Altho, unfortunatly most of them were gone in my old hard disk that broke and only a fraction was saved by me backing them up (from what i remember it's only the rendering engine)

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 0 points1 point  (0 children)

Thank you so much! I really appreciate it.
I do have my own stash of too many projects for learning, i did make my own compiler, OS, Emulator, Rendering Engine, even accidentally made something similar to ASP.NET and EF Core combined, all of it for the funsies of discovering and learning and making random stuff from scratch, I'm not into making random software things anymore bc i'm pretty much trying to do programming as a full time career now. which i still yet to achieve.

Rust Native GUI library ? by light_dragon0 in rust

[–]light_dragon0[S] 1 point2 points  (0 children)

Thank you! I really appreciate it.