What I don’t understand is, why not just use a platform native webview? Mac has it at least, I think Windows does as well. You'd think it would be the same amount of work (roughly) but use a lot less memory.
I guess developers really prioritize velocity or ease over everything. Or maybe it's business pressure or directives?
There's a comment somewhere on HN from a Slack dev who was the one responsible for moving away from platform-specific webviews to Electron. The core reason is that Electron is the same on all platforms it ships on, generally speaking.
Platform-specific views simply aren't. For simple applications they might make sense, but at a certain point devs just want the shit to work. Electron solved that.
I do agree that LLMs & co should contribute to reversing this trend, though. I don't really see why you couldn't try to ship (true) native now.
The slack example is particularly funny, I've used slack at work since early 2015 and I can't recall ever installing an app. I just pin a browser tab. What would be the point? The website does it just fine.
Even this is annoying compared to how it used to work, before they killed the IRC gateway you didn't even need a browser tab because it worked just fine in a terminal tab.
In the evergreen (and generally broadly much better) browser age this is an assumption / concern that I think could really use some reconsideration, lol.
Maybe once we didn't dare surmount the challenge, but today, the landscape is a lot better (and a lot less chaotic) and while yeah it sort of sucks in some annoying ongoing ways I can't imagine every org is going to find this some insurmountable difficult strenuous activity. Like, get good.
The anti-will against doing this drives people away from the web as platform.
There's Tauri, but (at least when I tried it last) it had bugs that made building functioning RPM packages extremely difficult. Bug(s) had been there for over a year at least with no momentum, so if you need to support rpm-based distros you're in for a rough time.
I mean if you look at all the frameworks that are trying to push towards native support across platorms, the ones that are took a pit stop at platform-native webviews, before going full native all have negative opinions of platform-native webviews. Besides all the tons of effort and buggy sharp corners there are across platforms, a lot of them just make really crappy UIs.
Most of the projects that I have seen are trying to push past that and get towards actual native-native (non-webview) rendering because despite being an even bigger pain and more work, they come out a lot better than the webviews.
For a long time, this was something you couldn't really do on an iPhone. You couldn't just install Firefox with uBlock. Even ignoring the ads, most websites seem to purposefully make the experience miserable to push you to their app.
On iPhone and iPad, there are good system-wide ad blocking tools you can get. They will work in any WebKit view, which covers almost every app that is likely to be displaying any ads. There’s 1Blocker, Adblock Plus, AdGuard Pro, and many more.
Your biggest problem in this space is trying to figure out which ones are good for you and which ones are not.
I get glass vs finish. But there's a third term being used for the new M6 MacBook Pro, which is nano-texture "display." Someone clarified that it's the same as the "glass" so I take this to just be Day 1 marketing confusion that'll hopefully get cleaned up on the buying screen.
They are very similar, but maybe not identical. The iPad nano-texture reportedly is less prone to fingerprints than at least the XDR monitor; perhaps that’s just an additional oleophobic coating. There may also be generational differences as these weren’t introduced at the same time and may come from different production lines.
I couldn’t disagree more, when it comes to UIs. They should match the platform they are being used on. Cross-platform always produces a very sub-par experience. But us developers tend to care primarily about what makes development easiest for us.
What does this mean in practice for software you write? What OSes to you build it for, and what OS or GUI-specific conventions to you follow which don't apply to others?
edit: Link software you wrote's installation instructions.
- You have made the choice to make software only run on MacOS, excluding the (majority) of users who are not using that. This is balanced against the upside of native look and feel.
- I agree that web and mobile have many differences when comparing them to each other, or to PC software. The differences and conventions which relate to application development between Windows, MacOs, and Linux are much smaller than those. (The only concrete example mentioned in this broader discussion was Home and End keys can have different behavior). I see this as a matter of degree, not kind.
I keep coming back to "So, we are deliberately limiting our software to a single OS because... (Vaguely articulated reasons about native look and feel? About cross-platform applications having "bad UIs" and "subpar results"? I can't do anything with that because it's too vague, and doesn't match my experience. Home and End keys or other keyboard shortcuts which are easy to feature-gate if the GUI kit doesn't handle it which it probably does?) When weighing pros and cons, I need to see the cons.
What specifically to you about cross-platform UI means bad job? I.e. what functionality does Windows specifically support that must work when running the application on Windows that Gnome, for example doesn't? (Or any other GUI/OS comparison)
A lot of it boils down to native widget look and feel. It's pretty silly in reality because there are multiple possible options for what is native on Windows (Win32/WinForms, WPF, UWP, WinUI, ...) and Linux (Qt, GTK, ...), so native apps will still be inconsistent. It's probably just an Apple thing really, because every other platform is already a big mix of different UI styles.
The way you worded this message could mean either a) people should focus on a single platform using native frameworks, or b) people should use a cross-platform framework instead of spreading themselves too thin. Maybe even both?
Right this is an important thing to note. As an old guy, the fact that the Reddit comment section conceptually took over our culture and then literally is now taking over our culture is really kind of mind-boggling. This is not a good turn of events.
I guess developers really prioritize velocity or ease over everything. Or maybe it's business pressure or directives?
reply