Live data from Hacker News

Show HN: Slint – A declarative UI toolkit for embedded and desktop

slint.dev

101–110 of 152 posts

Re: Show HN: Slint – A declarative UI toolkit for embedded and desktop

#101

Earlier quoted context omitted.

Well, I'm still gonna listen to Spiderland because you reminded me, so thanks for everything.

Tweez is my favorite album of theirs, though Spiderland is excellent.

Scorching take. Tweez is nowhere close to spiderland. Now hurry up and get me some new headphones Steve, they're fucked.

Re: Show HN: Slint – A declarative UI toolkit for embedded and desktop

#102
post #42

The comparison sections are very confusing. It says you will compare your UI toolkit with, for example, Flutter and then there is no comparison there at all. I thought the site is broken on mobile, I tried different browsers, etc, because the comparison was just not there. If you don't have any real content there because you don't want to start a flame war, you could try something like what the Flutter team did, they…

This is what I do: - Write the backend in Rust - Write the UI in Flutter - Tie them together using gRPC. You get an API and ability to run client and server on different machines as well I looked at the flutter to rust bridge and started to play with it, but assuming your UI can withstand the slight overhead of gRPC I found it a simpler way to proceed (although I'm not that far in yet)

I have the same but I wouldn't recommend gRPC. It adds a ton of overhead and complexity that you don't want. Plus you have to deal with all the complexity of Protobuf and the fact that everything becomes `Option`.

Instead I wrote my own RPC system using Serde and Bincode. Communication is over stdio, that way you can support SSH access extremely easily (like VSCode remote).

Unfortunately it was for a company so the code isn't public, but there really wasn't much code to the RPC system at all since you don't need to worry about versioning, authentication, transport, etc. I write a very simple schema language, used Nom to parse it and generate Rust, Typescript and Dart code. The Rust code generation is trivial since you can just `#[derive(Serialize...]`. Typescript / Dart was a bit more complicated (you have to implement Bincode) but it's not very difficult really.

By far the most complex thing is trying to integrate with SSH. If you call `ssh` directly then you end up having to parse non-machine-readable prompts and errors and so on. But if you use a proper SSH library then you end up having to implement ssh-agent, read `~/.ssh/config` etc. yourself which isn't fun either.

Re: Show HN: Slint – A declarative UI toolkit for embedded and desktop

#103

Earlier quoted context omitted.

We are not a charity and aim to operate on a sustainable development model. While we offer paid and GPL licensing options, we also provide a free-of-charge license that only requires attribution. If you are unwilling to provide even attribution, then Slint may not be the right choice for you.

Oh it's certainly not for me, no question about it. Yet, it's curious that you compare Slint to LVGL/Flutter/Electron (I don't know about Qt) when none of them have this intrusive requirement. --- >What's intrusive about it? (a) Display the AboutSlint widget in an "About" screen or dialog that is accessible from the top level menu of the Application. (b) Display the Slint attribution badge on a public webpage, where…

Not a dev, but I've often seen software that acknowledge their dependencies in About sections and on their websites. Is that particularly intrusive? Especially given that you could always use the GPL too if you want.

Re: Show HN: Slint – A declarative UI toolkit for embedded and desktop

#105

Earlier quoted context omitted.

Disclaimer: I work for Slint I suppose you are referring to the "Embedded Add-on per application" pricing? At least the non-commercial use is hopefully clear :) Yes, we need find a better way to show the pricing there since it's dependent on 2 variables - volume and type of embedded system. Maybe some sort of a online calculator?

I always assumed "call us" pricing was to give a salesperson the opportunity to negotiate the best deal for the seller.

For early stage products, it's often more like "we have no idea how to price this and we don't want to publish it yet".

You can basically come into those calls and name your price or walk away.

Re: Show HN: Slint – A declarative UI toolkit for embedded and desktop

#107
post #66

Earlier quoted context omitted.

I think you have misunderstood the Qt licensing model when you say that you need two Qt licenses if you are building two separate applications? The commercial licenses are a) per developer and b) per distributed device (if you distribute your software as part of a device), there is no per application licensing requirement.

> An application using Qt Commercial must not communicate with any another application using Qt LGPL-3.0 or Qt GPL, if both applications run on the same device. This is more restrictive than GPL. https://embeddeduse.com/2023/01/06/using-qt-5-15-and-qt-6-un...

The context there is "combining commercial and free open-source Qt licenses"; if you are using either commercial or open source licenses exclusively, there are no such restrictions.

Re: Show HN: Slint – A declarative UI toolkit for embedded and desktop

#108
post #23

The comparison sections are very confusing. It says you will compare your UI toolkit with, for example, Flutter and then there is no comparison there at all. I thought the site is broken on mobile, I tried different browsers, etc, because the comparison was just not there. If you don't have any real content there because you don't want to start a flame war, you could try something like what the Flutter team did, they…

Not a Flutter Dev, but have you tried 'flutter_rust_bridge' [0]. Seems provide some interop between flutter and rust and looks like a popular and active project. I'm native mobile dev and just curious about this kind of interop myself. If it's seamless then looks like good balance to do mobile front-end in flutter and mobile backend in rust. [0] https://github.com/fzyzcjy/flutter_rust_bridge

Cool... was just thinking one could use flutter's web target with tauri's interop and host model.

Re: Show HN: Slint – A declarative UI toolkit for embedded and desktop

#109
Wether it's fair or not.. I generally compare any given UI framework/toolkit to mui.com (Material-UI) component library. They've solved a lot of the issues I've had, nice to work with and in general really well-rounded components. Would love to see an equivalent with Yew or similar, maybe integrated like Tauri.

In the end, I think that accessibility is a really hard thing to get right. As are the base components that are generally needed for applications. This is a nice start, and for lighter/embedded it could be nice. I'm not sure that I'd reach for this ahead of Flutter, React(-Native) or alternatives that are more polished for general use though.

Re: Show HN: Slint – A declarative UI toolkit for embedded and desktop

#110

I just spent the last two weeks choosing an embedded ui framework and then building out a little demo to test out its capabilities. I settled on Slint and have been very impressed with the design of the domain specific language they came up with. It’s small, simple, powerful and easy to learn IMO. The vs code extension for real time gui feedback is amazing. I’ve used swift ui before and Slint is as much of a joy to u…

I assume you're already doing this since you're on a microcontroller, but have you set [profile.release] codegen-units = 1 lto = true

Yes I’ve tried these things and more (like setting the opt-level to “z”). I don’t think that this is a show stopper, probably just a recent regression that will be fixed easily since this is all open source and the GitHub issue tracking is very active I see. If I were to hazard a guess it’s probably some small code gen change that results in mostly duplicated code for some ui primitive. But, it could also be me doing something stupid ;)
Post reply on HN