Preferences

lazypenguin
Joined 1,732 karma

  1. I think the Rust community is sleeping on the potential of iced for traditional desktop gui. I monitor the gui space in Rust closely and have seen many toolkits come and go. In my opinion a desktop gui library/framework needs to solve two things to be useful: architecture and advanced widgets.

    egui has served me well and is eagerly recommended in "what gui should I use" threads since it solves the widget problem well in an easy-to-use package. However, any sufficiently advanced application ends up needing a nice architecture to maintain development speed and enjoyment. I've found whether using egui/slint/fltk/etc. you end up having to roll your own system. When you start needing things like undo/redo you suspiciously start architecting something that smells like the elm architecture.

    Iced is the only Rust toolkit that I track that solves the architecture part upfront. The message pattern is hugely powerful but it is hard to appreciate until you've really gotten in the weeds on larger applications. Once iced reaches a point where there is an advanced set of widgets available I suspect its popularity will rise accordingly.

    As a comparison, one of the most successful desktop gui toolkit of all times (Qt Widgets) solved the architecture/widget duality long ago with the signal/slot system and advanced widgets like treeviews, datagrid, etc. Since then we must have had hundreds of "desktop" toolkits across all languages that can draw buttons and dropdowns but nobody has toppled the king yet for building advanced desktop GUIs (although there were a few close competitors in C# with WPF and Java with Swing they only solved the widget part in my opinion). I like to think iced can take this mantle one day, best of luck to them and congrats on the 0.14 release.

  2. Desktop UI toolkits are dead or stagnant but the desktop ui is still king IMO
  3. > By switching to fetch(), we can take advantage of its support for readable streams, which allow for a stream of content to be swapped into the DOM, rather than a single response.

    Based on this section, it will be interesting to see how this evolves. I've used HTMX a bunch but after stumbling on Datastar I've come to prefer it. Partially because I don't need something like alpine.js to get some frontend goodies but also because I've come to appreciate the power of SSE streaming morphable targets to the browser

  4. Basically you are correct, MacOS has to be treated like a console in that way. Except you get all the downsides of that development workflow with none of the upsides. The consoles provide excellent debugging and other tools for targeting their platform, can't say the same for MacOS.

    For testing, I can do a large amount of testing in a VM for my game. Maybe not 100% and not full user testing but nothing beats running on the native hardware and alpha/beta with real users.

    Also, since I can pass through hardware to my VM I can get quite good performance by passing through a physical GPU for example. This is possible and quite straightforward to do on a Linux host. I'm not sure if it's possible using Parallels.

  5. I develop a game that easily runs on much weaker hardware and runs fine in a VM, I would say most simple 3D & 2D games would work fine in a VM on modern hardware.

    However, these days it's possible pass-through hardware to your VM so I would be able to pass through a 2nd GPU to MacOS...if it would let me run it as a guest.

  6. As far as I’ve seen, Apple is to blame here as they usually make it harder to target their platform and don’t really try to cooperate with the rest of the industry.

    As a game developer, I have to literally purchase Apple hardware to test rather than being able to conveniently download a VM

  7. I don't hate React developers. I hate developers who build consumer facing software and use top of the line hardware and networks to test it while being ignorant to the fact that most of their users will be using their products on 8+ year old consumer grade hardware over spotty 3G
  8. No my experience is the inverse. The type of library you describe is nice for the basic queries but once you start needing CTE, subquery, postgres json query, etc. it just because easier to manage it all in SQL directly.
  9. My original title was edited after submission but here the lead developers of bevy/iced/dioxus have an interesting discussion about the ethics of code reuse vs recognition in open source projects. I thought it could trigger some interesting wider discussions
  10. There’s a big advantage to having your whole application in one language. I’m not sure the experience of egui on mobile though but egui is great to use as a developer

    Pros

    - Solid widget set

    - Easy to get started

    - Less state management

    - Easy to make custom widgets

    - Active community and crates (e.g docking view, tables, etc.)

    - Fast to build new Ui

    Cons

    - Harder to do layouts (has multipass and some flexbox crates but still hard and compile loop makes it slow to iterate)

    - Bring your own architecture (no restrictions on how you build your app so easy to make spaghetti if you’re not careful)

    Egui is currently my favorite Rust UI crate although Slint and iced are also interesting.

  11. QML is nice and the bridges project could bring it to more languages. https://slint.rs/ Is similar but written in Rust although.
  12. I’ve played with Slint and it’s nice but depending on how this plays out it might be a concern. QML is of course much more mature than Slint. It would be interesting to read an in depth blog post by Slint about why fundamentally Slint is better than QML since one of the main advantages (multi-language) is potentially being nullified here.
  13. That’s absurd, that’s like saying we should only use C++ for backend code because my CRUD business app might one day scale to infinity. Better be safe than sorry and sling pointers and CMake just in case I need that extra juice!
  14. Strange comment, there’s plenty of videos of both locations on YouTube to make the comparison and I think it’s quite apt. Chinese (and other SEA) major cities definitely feel much more modern than most American cities these days. Most American metropolitan areas are quite bland/bleak outside the “beautified” green areas.
  15. I also married in my early twenties (21 actually) and am still happily married over a decade later. No regrets for me; I was lucky to find someone compatible early on and we were able to grow together. Yes undoubtedly you sacrifice some experiences choosing this path but I cherish that bond and antidote to loneliness. There's something comforting about having someone so close for important parts of your life spanning a long time. A real partner to the challenges so you don't have to do everything alone.

    I was hesitant to share but I thought it would be better in the end. We often hear of negative experiences (divorce, abuse, etc.) but I regularly hear about couples quietly enjoying their long relationships together. Feels right to offer a counter-point to those stories to say it's not always a mistake.

  16. Interesting correlation, if one doesn’t have offspring to “leave a better world” to why should they care? Hadn’t thought of that before.
  17. Surprisingly the Russian army is mostly volunteer since the average pay right now is quite high by Russian standards. There are also standard conscripted soldiers as part of the country’s required service. Allegedly the conscripts are kept away from front lines since the death of conscripted young men in Afghanistan was part of the political death knell that led to the fall of the Soviet Union.

    Unfortunately Ukraine is having to rely more on involuntary conscription to fill the ranks as volunteer numbers have dwindled. There are many documented cases of TASS “kidnapping” military age men.

    I don’t see the parent poster blaming anybody. Maybe you can say they provided a one-sided view but what they wrote was factual.

  18. If they want to have 6-8 hour gym sessions to simulate the real thing then sure.

This user hasn’t submitted anything.

Keyboard Shortcuts

Story Lists

j
Next story
k
Previous story
Shift+j
Last story
Shift+k
First story
o Enter
Go to story URL
c
Go to comments
u
Go to author

Navigation

Shift+t
Go to top stories
Shift+n
Go to new stories
Shift+b
Go to best stories
Shift+a
Go to Ask HN
Shift+s
Go to Show HN

Miscellaneous

?
Show this modal