A Cross-Platform Graphical Library for Seamless Development #1576
Replies: 2 comments
-
I think it is far too early to write large non-mathematical libraries in mojo right now. Mojo is still missing lifetimes with references, Algebraic Data Types, more python interop (eg classes), better traits and more of a standard library. Once those get fleshed out, I would keep my eye on wgpu-py As mojo becomes more of a python superset, this will become easier and easier to port and refactored to become faster. Really ambitious folks might even want to port the rust GPU backend to mojo. The rust library that wgpu-py rests on is already powering Bevy (a game engine) and is being worked on as a backend for the dioxus GUI framework (a cross platform reimagining of react). |
Beta Was this translation helpful? Give feedback.
-
Nevertheless, should Mojo be poised eventually to supplant Python entirely in the coming decades (and it seems as if bets are being lain on this right now), then the time is now to begin discussing and prototyping what a platform-agnostic GUI environment should look like. Python's Tkinter, a wrapper around Tcl/Tk, has long shown signs of its age. Furthermore, I think Mojo's future versatility has potential to supplant C, C++, and Java as the development base and perhaps kernel for newer OSes. And with the friendlier syntax of Python, it becomes a full-stack mechanism that is also easy for everyday people to write simple scripts on their own devices (assuming coding is still a "thing" 20 years from now, which I hope it is). Relevant to this is what HCI must become in the future. What we know of as "GUIs" today are a kind of contradiction in terms, because they actually emphasize the gridded, rectilinear spatial structures of the old alphanumeric displays. Any non-gridded work is confined to a "canvas" whose functionality is hobbled by treating objects not as graphical units but instead as widgets, as is the case with Tkinter. The major contribution from windowing UIs? A sorry abundance of rectangles occluding one another in detrimental ways. This is debilitating to human work on computers. We are fooled into believing these are user-friendly and truly modern workspaces. New GUI stacks should put gridded windowing interfaces as a mere option, instead promoting fully robust functionality for free-form, random-screen-access graphical interfaces. The kinds of interactive environments being explored today are looking less and less like the old Xerox Star. My colleagues and I have recently finished a large study on current interface design, where we found fundamental problems with how current displays work with human memory. See our preprint, now in review at a psychology journal. It's that far into the future we ought to be thinking out, right now. |
Beta Was this translation helpful? Give feedback.
-
Hello fellow developers,
I wanted to start a discussion about, a powerful graphical library written in Mojo for cross-platform development. As the tech landscape continues to evolve, having a robust and versatile library that facilitates seamless cross-platform development becomes increasingly crucial.
Beta Was this translation helpful? Give feedback.
All reactions