Remix.run Logo
▲ tadfisher 4 hours ago

My friend, inconsistency is the entire point. You now have incredible power to write truly native apps that fit in with the platform and follow all the standards. The bottleneck is now you, or whoever owns each target platform and understands what native apps feel like.

▲sosodev 3 hours ago | parent | next [-]

So I’m supposed to maintain a native app for each platform and try to be sure they’re aligned in every way except visuals? Sounds like a recipe for bad UX if anybody uses more than one of them.

▲Kuyawa 2 hours ago | parent | next [-]

Not you, your coding agent, for three platforms and at least ten languages

If you go Rust all the way all you need is the installer for each platform

▲bigstrat2003 3 hours ago | parent | prev [-]

On the contrary: using a web view is the worst possible UX for your users. It's slow, uses a ton of memory, and doesn't integrate well with the desktop. The only reason people ever did it was laziness, not because it produced a better product.

▲Rohansi 2 hours ago | parent [-]

I'd argue that being slow and using a ton of memory has more to do with (very) poorly optimized websites rather than blaming browsers as a whole. Sure, they'll never be as efficient as native, but people put a lot of work into optimizing browsers and most websites are never optimized.

Memory use alone is an interesting case for comparison because websites tend to have a lot more images/videos loaded than other applications. All of those PNGs and JPEGs need to be decompressed before you can paint them to the screen which makes them much larger.

▲skydhash 2 hours ago | parent [-]

> I'd argue that being slow and using a ton of memory has more to do with (very) poorly optimized websites rather than blaming browsers as a whole.

A web browser is a huge platform. Audio, 2D and 3D graphics, file handling, network requests,... A lot of code while your application needs are tiny. That is wasteful and a security risk.

▲Rohansi an hour ago | parent [-]

That's really only argument against shipping a browser with your application. For ordinary websites (or WebViews) that's not really a concern because it is shared and automatically updated.

▲mort96 3 hours ago | parent | prev | next [-]

Yeah the problem is having to write 5 apps, not the inconsistency.

▲mikestew 3 hours ago | parent | next [-]

If you're writing five apps, you're doing it wrong. A huge amount of probably any app can be contained in a common blob of business logic and wiring, with some native presentation on top. Yes, I oversimplify, but folks have been doing exactly that for decades. More work? Yup, even with a common engine it's more work than firing up Electron. That's where "do we even give a shit about what we're shipping?" comes in. If there's no pride in the finished product, well, Electron isn't going to save your product, either.

▲dpkirchner 3 hours ago | parent | next [-]

IME, the UI library idiosyncrasies are the pieces that take the longest to get right. Common business logic is super simple by comparison.

▲mort96 2 hours ago | parent | prev [-]

> A huge amount of probably any app can be contained in a common blob of business logic and wiring, with some native presentation on top.

I keep seeing people claim this, yet most UI software I see really doesn't do anything that complicated. It's some basic database CRUD stuff and some basic algorithms, and then all the actual effort lies in making the UI feel good.

▲skydhash 3 hours ago | parent | prev [-]

> Yeah the problem is having to write 5 apps, not the inconsistency.

Isn’t that what abstraction and interface is about? You can write the common business logic and presentation concerns, and then share it across each native implementation.

That is what web wrapping is in truth, but it’s just inneficient because of the huge surface area of web technologies.

▲mort96 2 hours ago | parent [-]

For a whole lot of apps, almost all of the difficult stuff is in making the UI feel right.

▲skydhash 2 hours ago | parent [-]

Aesthetics, usability, and technical flavor are different axes and feel right is a subjective point. And based on anecdata, usability is what actual users want. Web wrapping is mostly an exclusive focus on aesthetics. With native frameworks, you often get very close to "feel right" without much effort.

▲agentdev001 4 hours ago | parent | prev [-]

Or my manager... or my stakeholders. Damn you powers that be!