Live data from Hacker News

Valdi – A cross-platform UI framework that delivers native performance

github.com

201–210 of 230 posts

Re: Valdi – A cross-platform UI framework that delivers native performance

#201
post #193

Earlier quoted context omitted.

I did this and never looked back. It’s called a “WebView app” and you can get a really good experience on all platforms using them. Just: - don’t make any crazy decisions on your fundamental UI components, like breadcrumbs, select dropdowns, etc - add a few platform-specific specialisations to those same components, to make them feel a bit more familiar, such as button styling, or using a self-simplifying back-stack…

How is a WebView app better than a webapp?

A WebView satisfies everyone who insists on using a native app for something that could have just been a website.

And it’s still usable as a website for everyone else on any platform.

Re: Valdi – A cross-platform UI framework that delivers native performance

#202

I looked at the source code (as an amateur application developer) and boy, is it over-engineered and complex! Then I remember having built a complex Cordova app more than a decade ago, where I had to make C++, JNI and Javascript interop all play nice and this project feels a lot like that. Lots of moving parts. I suppose this is just the way things are when you are targetting such different ecosystems as Android and…

As an amateur, how can you tell that's it's overly complex? Do you understand what you're even looking at? Or do you feel that you should be able to understand it and anything above your ability to understand is "over engineered?" This seems like the Dunning-Kruger effect more than anything else.

Re: Valdi – A cross-platform UI framework that delivers native performance

#203
post #141

Earlier quoted context omitted.

What would you use instead?

Self-hosted forums, github's built-in forums, IRC; Practically anything but Discord.

Having never used Discord myself, please convince me that I should never bother. I.e. what’s so bad about it?

Re: Valdi – A cross-platform UI framework that delivers native performance

#204

Working at a company that uses react-native I wish nothing more than for the end of app stores and differing platform languages. We're heavily considering just having a website next year with a mobile app using webview, and then native code for the native notifications, GPS and healthkit / health connect. I feel like AI is changing the equation, its nearly better to write your business UI 3 times one for each platfor…

I started with desktop applications, so my go-to for GUI has been Qt, especially QML. It works on Windows / MacOS / Linux as well as iOS and Android. I think there’s now a way to compile QML to webassembly as well. It also has a ton of support classes that are loosely analogous to the various *Kit things supplied on iOS and Android.

The downside is that the core of Qt is in C++, so it’s mostly seen (or used for?) embedded contexts.

I recently used Slint as well, which isn’t anywhere near as mature, but is at least written in Rust and has some type-safety benefits.

SwiftUI is pretty good too, and I wish I got to work on Apple platforms more.

To me, the simplicity of creating a “Button” when you want a button makes more sense, instead of a React component that’s a div styled by layers of CSS and brought to life by JavaScript.

But I’m kind of bummed that I started with that route (well, and writing partial UI systems for game / media engines a few times) because most people learned web apps and the DOM, and it’s made it harder to get the kind of work I identify with.

So it’s hard for me to recommend Qt due to the career implications…but at the same for the projects I’ve worked on, it’s made a smaller amount of work go a longer way with a more native feel than electron apps seem to have.

Re: Valdi – A cross-platform UI framework that delivers native performance

#205

Earlier quoted context omitted.

Self-hosted forums, github's built-in forums, IRC; Practically anything but Discord.

Having never used Discord myself, please convince me that I should never bother. I.e. what’s so bad about it?

Think it as software which is designed for chatting NOW. Threads, pins and whatever are just treating the symptoms instead of fixing the actual problem, where you need organised and searchable knowledge library instead of platform which was designed for interaction with memes.

Re: Valdi – A cross-platform UI framework that delivers native performance

#206
post #48

Earlier quoted context omitted.

I'm surprised Snap of all companies invested in a cross-platform UI framework given how simple their app seems in comparison to more complex ones out there. And more importantly, Snapchat seems like an app which could highly benefit from tight integration with native features (eg. camera, AR features, notifications, screenshot detection, etc.)

Snapchat, an app which half-assed picture taking so hard that it did so by simply snapshotting the camera preview, rather than bothering to take an actual photo.

They did this so it would be faster. Obviously they didn't do it for the fun of it.

Re: Valdi – A cross-platform UI framework that delivers native performance

#207
I imagine unpopular opinion, but I don't like the React design or syntax, its adoption was one of the reasons it made me move away from front-end. I'd rather Valdi and other efforts have a different opinionated design and syntax, less over-engineering and more fun.

Re: Valdi – A cross-platform UI framework that delivers native performance

#208

Earlier quoted context omitted.

Self-hosted forums, github's built-in forums, IRC; Practically anything but Discord.

Having never used Discord myself, please convince me that I should never bother. I.e. what’s so bad about it?

It is simply inaccessible to anyone not using the platform. You need to create an account and join the community/"server" to see anything posted there. You cannot find anything by using a search engine and are completely unable to export anything for local use.

Re: Valdi – A cross-platform UI framework that delivers native performance

#209

Just write 2 native UIs in the 2 platform native languages and share a common core written in any language that offers a C like FFI. How hard could it be?

I hear this and it makes sense but when I actually go about implementing it, it quickly falls apart.

Most apps are UI, remote requests and maybe some storage. What do you put in the common core? Android does HTTP requests one way. iOS does them another way. You go for the lowest common denominator an implement a third way, using libcurl or something?

Or do you just put business logic in the common core? Is there really that much business logic that doesn't issue requests or access a database?

Re: Valdi – A cross-platform UI framework that delivers native performance

#210
post #209

Just write 2 native UIs in the 2 platform native languages and share a common core written in any language that offers a C like FFI. How hard could it be?

I hear this and it makes sense but when I actually go about implementing it, it quickly falls apart. Most apps are UI, remote requests and maybe some storage. What do you put in the common core? Android does HTTP requests one way. iOS does them another way. You go for the lowest common denominator an implement a third way, using libcurl or something? Or do you just put business logic in the common core? Is there real…

Excellent Points, this is where the answer is "it depends".

> What do you put in the common core? Android does HTTP requests one way. iOS does them another way. You go for the lowest common denominator an implement a third way, using libcurl or something?

If it's really functionality that cannot reasonable be shared don't share it.

It's probably more work to maintain bindings to a single API client in the core and fiddle with all the details of not using the native HTTP client implementations that it is to implement the API client twice.

Writing the API client twice is boring, but that's a good thing.

> Or do you just put business logic in the common core? Is there really that much business logic that doesn't issue requests or access a database?

The shared core is optional. You might have the need for it, then it's a good solution.

For an app like snapchat you'd probably share the video effects and have that in your core library.

Post reply on HN