3 ms·
Why don't people make native apps for everything today? Modern frontends use talk to web APIs for data and business logic anyway, Qt/WPF/Cocoa are better than w
by qwerty456127 7y ago
Why don't people make native apps for everything today? Modern frontends use talk to web APIs for data and business logic anyway, Qt/WPF/Cocoa are better than web front-ends. I'd enjoy having desktop apps for instead of many of the websites I use - to order pizza, to buy stuff, to read/comment news or anything.
- muro 7y agoYou'll need apps for each platform; testing is much more expensive; discoverability is a challenge; people (myself included) trust websites much more than native apps; you'll need a browser version anyway.
- qwerty456127 7y ago> You'll need apps for each platform For many apps that's not hard. E.g. a pizza app like that is hardly going to take more than some hours to implement with whatever a toolkit. Almost every other app which is bloat-free and made to do just one job is going to be a similar case. > people (myself included) trust websites much more than native apps Because websites are sandboxed and updated. Right? Both things are already addressed in all the major OSes although there still is a huge lot of room for improvement. > you'll need a browser version anyway. Sure but as a user I can name quite a list of heavyweight websites which are pain to use and could fit a native app perfectly.
- rbanffy 7y agoAlso, you'll have to update the software, publish it to app stores/package repos, pester users of outdated versions, deal with security vulnerabilities...
- pjc50 7y agoThose are pretty much the wrong kind of apps for me: I'd prefer a web page for almost all of those. I'd considered building a news reader app for HN (in the lineage of "trn"), but only because I spend too much time here. Web apps can be hyperlinked. Apps basically can't. So if it's for "documents", give me a hypertext browser interface. Web pages over PDFs for almost every purpose, although I can sort of see the use for things like datasheets and documents which are both paginated (why?) and have a very high page count. Application sandboxing is definitely not a solved problem on the desktop OSs, unless you count the tiny Windows store. So each application downloaded is like a trip outside during quarantine: am I going to get infected? Only "creation" interfaces really benefit enough from the flexibility and performance of native - especially the access to the real filesystem. The downside of creative web apps is that they are cloud-native.
- Cthulhu_ 7y agoA few factors are at play. - Cross-platformness; if you have a decent webapp, you cover all major platforms and operating systems, plus mobile if you make it responsive. If you go native you may need to create separate apps for windows, macos, linux, android and iOS. Cross-platform toolkits that aren't browser based just aren't good enough. I mean you mention WPF / Cocoa already which aren't cross-platform so you need two teams to build two apps that do the same thing. - Customizability; it's harder to make an app look and feel the same across platforms. Granted, for best UX you don't actually want that, but at the same time the branding department says you should, people don't want to have to maintain documentation and screenshots for multiple platforms, etc. I mean I hear you and personally I much prefer the responsiveness and efficiency of native apps, but we don't live in an ideal world.
- petilon 7y agoBlame Flat UI. Thanks to Flat UI, native apps don't have a special look & feel. To the user this means native apps don't look any different from Web/Electron apps. So users don't know to demand native apps. If users can't tell, why as a developer would you invest in a native app and only get a slice of the market, when you could use web technologies and have your app work on all platforms?
- qwerty456127 7y ago> native apps don't look any different from Web/Electron apps But they feel way better. Electron apps have insane resource overhead and many minor imperfection in behavior. I have never been willing to sacrifice aesthetics and ergonomics for performance yet Electron feels bloated beyond all reason even to me. The reasons I believe I could prefer a native app to a browser-based web app are performance and intuitiveness. Browser based often are too slow and have hard-to-find parts. Obviously wrapping a web app in Electron doesn't solve that.
- petilon 7y ago> But they feel way better. Electron apps have insane resource overhead and many minor imperfection in behavior. But apps written using Electron don't seem to be suffering for it. Examples: VS Code, Teams (both from Microsoft). What does that tell you?
- pseudalopex 7y agoHow many people use Teams by choice? Why is VS Code so much more popular than Atom?
- qwerty456127 7y agoPerhaps that means somebody at Microsoft has found a way to optimize the Electron runtime for VS Code. The VS Code fronted mostly is about displaying text - obviously there is a huge lot of inefficiencies you can optimize by excluding whole blocks of logic unnecessary for this kind of tasks.
- kick 7y agoDo you trust that, say, Amazon or Domino's would really have your best interests for your computer in mind? Websites win for commerce and for reading because of trust; the sandboxing browsers have may not be good, but they provide some reasonable assurance that McDonald's won't be checking your active programs and sending a list of them to somewhere they shouldn't be.
- beamatronic 7y agoWhen you go on a website, you are trusting a native app: your browser
- codemac 7y agoI think the previous commenters are missing the forest for the trees. You would have these tools if the APIs were open and existed! RSS is a great example where there are many awesome native clients. This pizzatool was not made in coordination with any pizza shop. It was not made with a subscription model, or some high end software team. It was made by hackers because they realized they could send a fax. It's why CLI programs exist and interoperate so well, but gui's always seem to be islands of their own. It's the API.