Live data from Hacker News

Ask HN: Is there still a place for native desktop apps?

news.ycombinator.com

131–140 of 777 posts

Re: Ask HN: Is there still a place for native desktop apps?

#131

I make a living developing software only available on Windows and macOS. That said, if I didn't need to interact so much with the operating system, I'd be making a web app. It all depends on what you want to make though. Video editing software? Native app. CRUD app? Web app. You may also want to consider pricing implications of both. Desktop software can usually be sold for a higher up front cost, but it's tough sell…

> Pro tip: If you decide to make a native app, don't use Electron. Instead, use the built-in WebBrowser/WKWebView components included in .NET and macOS. Create the UI once using whatever web framework you want, and code the main app logic in C#/Swift. Although the WebBrowser control kind of sucks right now, Microsoft is planning on releasing WebBrowser2 which will use Blink. I think they might also have it where the libraries are shared between all apps using it, to further reduce bloat. The old WebBrowser component can be configured to use the latest Edge rendering though by adding in some registry keys or adding this meta tag: > > >

Great to know, thank you.

Re: Ask HN: Is there still a place for native desktop apps?

#132
it's crazy that we've reached the time where this is a question. it just feels like web browsers are just worse operating systems but that's somehow where everyone thinks things should be.

i generally hate using web-apps. the usability and performance just isn't there, and the web was not built for this use case. even now, it's a terrible experience.

for industrial engineering, scientific, creative jobs and more, almost everything you use aside from confluence is a desktop application. visual studio, visual studio code (line is blurred, but it's still a desktop app), solidworks, opera, other modeling software, xilinx vivado, matlab, visio, simulink, houdini, touchdesigner, unreal engine, logic, pro tools, studio one, VSTs, office suite, control applications, perforce visual tools, git gui clients, custom internal tools, etc.

all the real work gets done in desktop apps and yet people keep saying desktop apps are a thing of the past.

i truly don't understand what people's end game with web browsers and applications are.

Re: Ask HN: Is there still a place for native desktop apps?

#133
post #87

Earlier quoted context omitted.

It is true that there is a a correlation between lower level programming and better programming in general. You probably won't see someone writing asm but creating crazy O^2 algorithms that run on every frame with memory allocations that run in the inner loop. At the same time a native win32 program can pack significant functionality into a 20KB exe. Put these together and you have a program where everything is insta…

I strongly disagree with the idea that lower level is better. Yes, lower-level languages allow for programs with good performance, small executables, and so forth. There are many domains where they are clearly the way to go. But higher-level languages allow for better safety, tremendous productivity, portability, exploration, and flexibility. If you keep your data in an SQL database and you can easily query and updat…

How about "being aware of what your abstraction layers cost, and being palpably aware of every needless contortion you create"

know what everything does. call if from up on high? fine, but only if you literally can trace that high level call down to the machine code it emits :D C compiler suites can do that no problem "gcc -S mycode.c"

For an appropriate dose of humility, so that you know that I'm not elevating myself here, but pointing out reality, check out GCC or LLVM source code.

Something like Lua or Berkeley DB can be defined inside your program in a matter of a few hundred lines of included library code, but what does it DO?

Bringing SQL and a database on board is rather odd for a desktop app, wouldn't you say? Configuration should be flat files, ideally, or managed via the apps gui, in which case an embedded database like Berkeley DB is usually more relevant. Your mention of SQL smacks of "all things are nails, always use hammers", to me at least.

Have you worked with the actual computer itself in any capacity? I mean ASM, C, C++, etc, but essentially being aware of what an ABI is, what types actually are (memory shape patterns so we can define physical memory in terms of our data structures) Javascript is not computer programming, but rather programming the browser, or it's disembodied transplanted javascript engine. the animal is completely different from physical memory and actual instructions.

Computers essentially manipulate memory structures. The further away from this you get, the more likely that your abstractions will be leaky, not fit what computers are actually DOING with your data, and this results in beautiful script driving janky machine code.

Seriously, while we all like to pretend that everyone is equally special, let's recall that someone is a VBscript for Word expert, and that this is basically a virtual machine that itself is just defined inside someone elses program. Technological stacks are defined in terms of semi-arbitrary made-up things other people made-up and that you just need to know how to use.

Re: Ask HN: Is there still a place for native desktop apps?

#134
Fuck no, everything should not be a webapp. Most things that are webapps should not be, it's just that nobody knows how to do anything else.

It's really about time for the pendulum to start swinging back, as processors aren't getting much faster anymore.

Re: Ask HN: Is there still a place for native desktop apps?

#135

Modern browsers these days are powerful things... just a curiousity, are there non native browsers?

>Modern browsers these days are powerful things... just a curiousity, are there non native browsers?

Sort of. There are browsers written in things like Java (HotJava was an old one that was basically a demo app) and so I guess anything written in a VM-language could technically be considered non-native.

Re: Ask HN: Is there still a place for native desktop apps?

#136
Yes, there is still a place for native apps.

Anything that communicates with devices using serial, UDP, or custom layer 2 protocols.

Also anything which needs to be used in a lab environments with networks that can't access the web or corporate network.

Also anything that needs to run in a manufacturing environment, where precise configuration management, predictability, and reliability are crucial.

Re: Ask HN: Is there still a place for native desktop apps?

#137

I make a living developing software only available on Windows and macOS. That said, if I didn't need to interact so much with the operating system, I'd be making a web app. It all depends on what you want to make though. Video editing software? Native app. CRUD app? Web app. You may also want to consider pricing implications of both. Desktop software can usually be sold for a higher up front cost, but it's tough sell…

I understand the concept of making a native app to include using the native UI platforms. What you described is hardly more native than electron, which is basically a web app at heart.

Or maybe there needs to be a consensus on terms. Do people consider electron apps to be native? I would put them in some weird middle ground, but definitely closer to web technologies than native development.

Re: Ask HN: Is there still a place for native desktop apps?

#139

No internet? No web-app. I suppose I am increasingly frustrated with the inability to use my computer if it has no internet....

>No internet? No web-app.

I've seen lots of tools that spin up a local webserver and then use that to serve the webapp even offline. But then the question becomes is this really a webapp if I have to install a native server?

Post reply on HN