Live data from Hacker News

Web apps are better than no apps

molodtsov.me

51–60 of 199 posts

Re: Web apps are better than no apps

#51
People should try QML (with C++), it's great. The author mentioned Craft (an only Mac-native Notion-like app). I'm now working on turning my note-taking app editor into a Notion alternative -> an advanced block editor based on just plaintext. Built using Qt C++ & QML.[1] That way I achieve native-like performance and resource use while being cross-platform.

[1] https://x.com/mamistvalove/status/1704100506644164859

Re: Web apps are better than no apps

#52
post #48

> There are just too many levels, and JavaScrip is an interpreted language, not a compiled one, so by default, it will be orders of magnitude slower than an app written in Swift, Rust, or C++. JavaScript isn't as fast as C++ or Rust, but it's pretty fast. Around the speed of Java and Go in some cases, which are compiled. For a web app the speed of the language is rarely the bottleneck anyway, other than some exceptio…

> For a web app the speed of the language is rarely the bottleneck anyway, other than some exception cases like WebGL-type stuff. If we're talking about a glorified form/CRUD app, no. For web apps proper, that's not really the case.

Sure it is - the vast majority of webapps are glorified CRUD. I'm not saying there are not high performance use cases. I'm saying if you list every app, most of them would be fine with exclusively JavaScript, and for the rest you have careful use of WASM or backend delegation to a faster language.

And to the author's point, something slow in JavaScript is better than nothing at all.

Re: Web apps are better than no apps

#53
I mean I can't disagree with the title, but it's a bit of a straw man as nobody says they won't make an app if they can't make it a webapp.

Electron based apps are a compromise, and the tradeoffs are well known. They'll be slower - but they will fast enough for most applications, if you look at apps like Slack, Spotify, VS Code. They won't look like native apps, but they allow for a full cross-platform app with your branding (again, see Spotify that has a consistent interface on web, desktop and mobile).

And of course, it's easier to find a web developer than a QT developer.

Re: Web apps are better than no apps

#54
post #34

Earlier quoted context omitted.

> For a web app the speed of the language is rarely the bottleneck anyway I think there’s some selection bias in this; the apps that get built as web apps tend to be the ones that are not bottlenecked by JavaScript. For exceptions that are pushing the limits of performance, you’ll more often than not find Rust/C++ compiled to Wasm in the stack.

I've always wondered what kind of apps these are. The vast majority of web apps I use are all CRUD. I can't think of a single webapp or electron app I use which performs heavy computation. Maybe VSCode? But I don't know if any of the computation is happening on the frontend. People have been extolling the virtues of WASM to me for a while but I have yet to find a use for it where it improved the speed of development,…

>I've always wondered what kind of apps these are. The vast majority of web apps I use are all CRUD. I can't think of a single webapp or electron app I use which performs heavy computation.

Figma

Teams (the web version)

Outlook (the web version)

MS Word (the web version)

MS Excel (the web version)

Google Documents

Google Sheets

Google Earth

(similarly the iCloud versions for Pages, Numbers, etc)

Canva

Lightroom (the web version)

VSCode

Soundtrap

and a whole lot more.

Re: Web apps are better than no apps

#55
post #39

Earlier quoted context omitted.

Yes, Javascript is used in browsers and has a few different competing runtimes, and as such, there are a lot of resources invested in making it faster than the other runtimes. As a result, except in only very trivial cases, Javascript is only slower than C++ by about a factor of 2-4. This is a much smaller difference than the "orders of magnitude" mentioned above. The following list of benchmarks illustrates this poi…

Those are microbenchmarks, and as such are misleading when it comes to evaluating JIT-ed languages. They also don’t involve ever touching the DOM, which is a major source of slowdowns in real-world JS apps.

Yes, but any UI stuff in C++ is also going to be a major source of slowdowns.

And C++ compiled to WASM will have the same slowdowns if it needs to touch the DOM.

Re: Web apps are better than no apps

#56
post #49

Earlier quoted context omitted.

I've always wondered what kind of apps these are. The vast majority of web apps I use are all CRUD. I can't think of a single webapp or electron app I use which performs heavy computation. Maybe VSCode? But I don't know if any of the computation is happening on the frontend. People have been extolling the virtues of WASM to me for a while but I have yet to find a use for it where it improved the speed of development,…

Figma is a good example. Likewise, many games. Google Sheets? GIS apps? Probably the next big things in both DAWs and video editing will be in the browser too…

Oh yeah I guess Figma is one, but I'm not in the design department. I guess there are a lot of apps out there that benefit from it, but I don't seem to use any of them

Re: Web apps are better than no apps

#57
post #47

Earlier quoted context omitted.

I've always wondered what kind of apps these are. The vast majority of web apps I use are all CRUD. I can't think of a single webapp or electron app I use which performs heavy computation. Maybe VSCode? But I don't know if any of the computation is happening on the frontend. People have been extolling the virtues of WASM to me for a while but I have yet to find a use for it where it improved the speed of development,…

>I've always wondered what kind of apps these are. The vast majority of web apps I use are all CRUD. This page has a list of examples: https://madewithwebassembly.com/ Many apps that are not CRUD need more efficient cpu performance of WASM... physics rendering engines, AutoCAD modeling, machine learning, etc.

Oh yeah I'm sure those applications exist, I just don't seem to use or work on any of them

Re: Web apps are better than no apps

#58

> There are just too many levels, and JavaScrip is an interpreted language, not a compiled one, so by default, it will be orders of magnitude slower than an app written in Swift, Rust, or C++. JavaScript isn't as fast as C++ or Rust, but it's pretty fast. Around the speed of Java and Go in some cases, which are compiled. For a web app the speed of the language is rarely the bottleneck anyway, other than some exceptio…

> Around the speed of Java and Go in some cases, which are compiled. That is quite the claim, I wonder if you have any data to back that up. As it goes against everything I've seen.

"In some cases" seems reasonable to me. Google poured a lot of money into V8 performance for 15 years. There's also situations like AWS's Lambda environment where more time was spent getting node/JS optimized for the environment.

Re: Web apps are better than no apps

#59

> There are just too many levels, and JavaScrip is an interpreted language, not a compiled one, so by default, it will be orders of magnitude slower than an app written in Swift, Rust, or C++. JavaScript isn't as fast as C++ or Rust, but it's pretty fast. Around the speed of Java and Go in some cases, which are compiled. For a web app the speed of the language is rarely the bottleneck anyway, other than some exceptio…

> Around the speed of Java and Go in some cases, which are compiled. That is quite the claim, I wonder if you have any data to back that up. As it goes against everything I've seen.

Is it "quite the claim"?

The Javascript JIT arms race was the most heavily funded dynamic language arms race since forever - involving three major players (Apple, Google, Mozilla), dedicated teams, tons of benchmarks, constant tracking of performance improvements, total rewrites of the engines and additional JIT stages added, and public boasts in the official company blogs and marketing material!

Re: Web apps are better than no apps

#60
post #25
post #6

"and JavaScrip is an interpreted language, not a compiled one, so by default, it will be orders of magnitude slower than an app written in Swift, Rust, or C++." This statement is misleading and false. The distinction between "interpreted" and "compiled" isn't as clear-cut as it once was, especially in the context of modern languages and runtimes. However, when it comes to JavaScript, here's the general understanding:…

Yeah this really bugs me because it leads people down the path of WASM craziness when the language is rarely the problem. Most web apps are slow because the DOM is slow.

The DOM is plenty fast.

Most web apps use it for what it wasn't meant to do, in an inefficient matter, with useless rerenders and overhead.

Post reply on HN