Live data from Hacker News

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

github.com

91–100 of 230 posts

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

#91

I often wonder how the economics are justified in making in house frameworks. What is it about Snapchat that requires a new framework but not other apps?

Given the user hostility of Google and Apple (and the rest) and the rate at which they emulate competitors and try to crush them, I’d start at a small library or framework and not stop until I had a whole OS.

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

#92

Earlier quoted context omitted.

I have never once experienced a WebView app that I would say had “a really good experience.”

I use Voyager, a client for Lemmy, on a daily basis and it’s my favorite mobile (iPad) app. Voyager is the spiritual successor to the Apollo client for Reddit. https://github.com/aeharding/voyager The app uses Ionic’s Capacitor, which to my rudimentary understanding is the webview-based upgrade of Cordova. I’ve had far fewer issues with this app than the likes of Bluesky (react native) and Discord (I think also react…

Like GP I haven't experienced many WebView based apps that are great so I had to give this a spin and I have to say it's actually pretty good! I would not have identified this as a WebView app if I didn't already know about it from this comment.

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

#93

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…

Isn't this how Hotwire works with Rails?

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

#94
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.)

As far as Im concerned, Snapchat is onw of the most complicated apps thats routinely used by hundreds of millions of people. You yourself listed all the features they have. And every one of them is pixel perfect, with insane amounts of time spent perfecting the user experience of every single ome of those features. In fact, the success of Snap could be attributed to how pixel perfect the app is. And then you call it…

I share your opinion, but I think of the comment above like this. If something thinks your ui "just makes sense" and is dead simple to use, then you know you've perfected it. That is the best compliment you can get.

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

#95
post #72

If you are curious how components' state is handled, they employed the React class components method: // Import the StatefulComponent import { StatefulComponent } from 'valdi_core/src/Component'; // ViewModel + State interfaces for component export interface TimerViewModel { loop: number } interface TimerState { elapsed: number } // Component class export class Timer extends StatefulComponent { // Initialize the stat…

I miss the React class components. No need for 30 different and error prone useFunctions

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

#96
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.)

As far as Im concerned, Snapchat is onw of the most complicated apps thats routinely used by hundreds of millions of people. You yourself listed all the features they have. And every one of them is pixel perfect, with insane amounts of time spent perfecting the user experience of every single ome of those features. In fact, the success of Snap could be attributed to how pixel perfect the app is. And then you call it…

You kind of just proved my point. If they want attention to detail and good performance then writing native is probably better. The simplicity that I was referring to was the number of views that need to be implemented. A cross platform UI framework would help if there were hundreds of views that needed to be built consistently but for the number of views in Snapchat, I think native implementations would probably be faster and cheaper.

As for the "success of Snap could be attributed to how pixel perfect the app is". I think the success of Snap can be attributed to a lot of things. But if you took a look at how unoptimized the Android experience was in 2017 when it was taking off I don't know how you could call it pixel perfect.

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

#97

Earlier quoted context omitted.

I have never once experienced a WebView app that I would say had “a really good experience.”

I use Voyager, a client for Lemmy, on a daily basis and it’s my favorite mobile (iPad) app. Voyager is the spiritual successor to the Apollo client for Reddit. https://github.com/aeharding/voyager The app uses Ionic’s Capacitor, which to my rudimentary understanding is the webview-based upgrade of Cordova. I’ve had far fewer issues with this app than the likes of Bluesky (react native) and Discord (I think also react…

I installed this on Android, and unless iOS experience is massively different, this is not a good example:

- there's no touch feedback (ripple) on many of clickable components. Some that do have it look non-native, inconsistent and sometimes gets stuck

- the search bar on top app bar in `search` tab looks very non-native and non-standard (it's elevated on top of elevated app bar already)

- the lists look iOS-y, especially settings

- the settings list item has weird glitch where it loses background after touching (but not clicking)

- collapsing comments is pretty choppy (on a Samsung S25 so a pretty powerful phone)

- can't swipe down a bottom sheet (with post options/actions)

- it's just not android-y — the navigation is weird, the design is all over the place,

It's not unusable and it's a good tradeoff for a small team I guess. But this is nowhere near the experience a native app can provide, and has lots of small papercuts that would make for at least a slightly frustrating experience. It is a decent app don't get me wrong, but it's clearly not native

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

#98
post #28

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…

That. And specifically, fuck Apple and their prohibition on JITs. We have a React Native app that shares some code with a webapp, and that needs to do some geometry processing. So we're constantly playing the game of "will it interpret quick enough". Everything works fine in browsers, but in a RN app it often slows down to unusable speeds.

Could your processing work in a webview? i.e. webgl or webasm or similar and you communicate with it via postMessage. Something like Polygen might help with the scaffolding, but I have not tried it personally

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

#99

I often wonder how the economics are justified in making in house frameworks. What is it about Snapchat that requires a new framework but not other apps?

As opposed to what? As opposed to not using a framework or using some other framework?

Using frameworks is expensive by orders of magnitude. It’s additional code which greatly increases tech debt and slows the execution time of the given product pretty significantly. Think about it like this: a business with high confidence developers can ship a new SPA in a tenth of the time just using vanilla JavaScript that fully renders to screen with complete state restoration across the internet in less than a quarter second. That also means the business saves boat loads of cash by shipping faster, experimenting against its user’s behavior, and needing only a quarter of the headcount. So, where do you find these people and how do you retain them?

The economics are pretty simple and completely offensive/hostile to the developers. It’s ultimately about hiring and firing. Developers are a cost center to the business so the goal is to always eliminate training and turn them into a replaceable commodity. That’s it. That developers believe this is somehow a great empowerment is a double win for the employer.

The reason a company might introduce a new framework is because they encounter a problem not immediately solved by existing frameworks. The more frequently that same problem occurs the more a new framework pays for itself.

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

#100

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…

that only works if you have a simple app that displays some stuff from a server.

if you want to do something actually requires some compute, then suddenly this doesnt work so great

ex: youre prolly not going to want to edit images in JS

Post reply on HN