7 ms·
I want a proper, visual studio style, drag and drop GUI builder.
by KRAKRISMOTT 4y ago
I want a proper, visual studio style, drag and drop GUI builder.
- splix 4y agoOr maybe some Figma plugin/client that generates the code from a UI designed there.
- pas 4y agouh there are a bunch of those, locofy, teleportHQ, etc. They are okay-ish, if you know the rules of the target code system/platform. (Ie. if you know React, and so you already create components in the UI builder.) So basically my big problem is that these UI builders don't force/encourage the conventions that result in nice code. The potential is there, of course, maybe even throwing a chatGPT-like AI in the loop can help with recognizing what the user wants and emitting and maintaining the resulting code base.
- capableweb 4y agoNot at all overkill: Unreal Engine. On a more serious note, would be interesting to see an app builder inspired by the UI and Blueprint editors of UE but tailored for apps rather than games.
- cyber_kinetist 4y agoI've heard people using the Godot Engine to make complex UI applications. So I've tried myself writing a simple app (it required multiple windows support which was added in Godot 4 beta), and the experience was really solid. It has its own slot/signal system like Qt but because it's much more well integrated into the language/editor. The node system in Godot is similar to the DOM, and editing layout was much easier than expected. (Compared to Unity's UI system which was built on top of a component system and is more finicky to use because of this. And no and I don't want to talk about UIElements, it's unfinished and unusable in its current state). And most important you don't need to wait for C++/MOC compiler to build, because of the scripting langauge (GDScript) changes can be tested instantaneously. Unreal Engine might be a bit overkill since it has too many dependencies built in (you don't need a state-of-the-art 3D renderer and physics engine for UI). Godot is much more lightweight than that (about 40~50 MB from my tests, at least better than Electron), but some might still think that's too much though.
- schaefer 4y agoI’d love to read the code. Any chance either your project is published open source or you can cite a similar open source UI application?
- cpeterso 4y agoThe Godot IDE is itself developed in Godot, according to https://medium.com/swlh/what-makes-godot-engine-great-for-advance-gui-applications-b1cfb941df3b https://medium.com/swlh/what-makes-godot-engine-great-for-ad...
- forgotpwd16 4y agoAlso from Godot's docs: https://docs.godotengine.org/en/stable/getting_started/introduction/godot_design_philosophy.html#the-godot-editor-is-a-godot-game https://docs.godotengine.org/en/stable/getting_started/intro...
- rtpg 4y agoI believe Qt Quick is this! A lot of this stuff is out there, it's just usually requiring things like dealing with C++ or some other language.
- PoignardAzur 4y agoYeah, Qt Quick is definitely my favorite part of Qt.
- armchairhacker 4y agoWYSIWYG UI builders are very underrated. I don't even need it to be interactive: all I want is a UI-oriented DSL with live-preview. Which is why I personally think SlintUI is currently way ahead of the competition. The author basically suggests a DSL themselves despite this framework's UI being Rust constructs, as they note the importance of fast iteration and then say that because of Rust's slow compile times it's probably not the ideal language. A DSL provides more than fast iteration too. It also encourages good code quality by forcing you to separate the app's UI from the rest of the logic. And complete language control means that a true DSL with its own syntax will always be more readable than anything you can embed in Rust's.
- PaulDavisThe1st 4y ago> It also encourages good code quality by forcing you to separate the app's UI from the rest of the logic. This concept of separation is always interesting to me. In the 1990s, when MVC was first conceptualized, a GUI was (a) native (b) playing the dual role of both View and Controller. It is quite hard (not impossible, but hard) to separate the app's UI from "the rest of the logic". Consider trivial interactions (i.e. the Controller side of the UI element) like drags. What does a drag do? How do you conceptualize limits on the motion? How do you convey semantics between the Model and the Controller? How do you handle the differences between clicks (essentially drags with no movement) and actual drags? How does the Controller handle both axes? Gestures? etc. Remember: the UI is the thing that receives input events from <somewhere, and in its capacity as the Controller, alters the Model state, which in turn causes changes in the appearance of the UI (as the View). This then creates additional issues if changes to the Model state are expensive (i.e. the Model contains/controls heavyweight resources), and thus Controller interaction must first work on a "pseudo-model" which is also represented by the View aspect of the UI, until the interaction is complete, at which time, the Controller propagates the actual change(s) into the "real" Model. Yes, quite a bit of this has been revised/extended/expanded (e.g. Microsoft's View-Model concept), but the basic issues remain, and make the kind of separation you're thinking about hard to do in practice for all but basic data presentation applications.
- KRAKRISMOTT 4y ago
- sticksmite 4y agoCould SceneBuilder (Gluon) be adapted?
- darthrupert 4y agoYes! It's incredible how many steps backwards the UX world has taken in the last 20 years, and all we've got from it is some shaky sort of platform independence.
- reflexco 4y agoShaky? Full-blown professional tools like Figma running almost flawlessly on 5 different operating systems is not shaky. We've never had a better developer story before.
- mlindner 4y agoQuestion... What happened with Interface Builder on Mac OS X? What made it not successful and why did it end up falling out of popularity? That was one of the features that was championed when Mac OS X was just starting and it was going to be the future of all GUI development on OS X. (Honestly GUIs have gone steadily downhill on OS X for quite some time as it's being overtaken by GUIs that look like they're designed for the iPhone.)
- interactivecode 4y agoWith swiftui previews you can press the + plus icon in the top right and get the drag and drop component builder[0]. On the right side bar you also get a bunch of ui builder options that will generate code for you. [1] [0] https://imgur.com/BUm1MOt https://imgur.com/BUm1MOt [1] https://imgur.com/BX7G7Ys https://imgur.com/BX7G7Ys