None of this actually matters in this kind of website/app though. Displaying text boxes doesn’t require very much code. The performance aspects will mostly involve memory usage, rendering speed, and efficient algorithms.
I agree with this hypothetically, but I actually think this matters a lot in practice. Browsers are actually just quite slow at doing a lot of things. As a concrete example, the Facebook web-app (which I use since I don’t want Facebook installed on my phone) is many times slower than their native app, with scrolling often being visibly sluggish, and clicking on buttons having a visible delay.
Of course it’s possible that the app is just written less well, but given that the same is true for the Twitter web-app, and the apps of basically any major platform that I have used both as a native app and on the web (Pinterest, Messenger, Google Plus in the old days, Adobe Color, Google Docs), I think it’s reasonable to conclude that native apps feel a lot snappier and are generally faster across the board, at least on my relatively weak phone CPU (My phone is about ~5 years old now, so it does tend to struggle with a reasonable number of websites). I think a substantial chunk of this is explained by the different languages, and another substantial chunk is probably the result of the different ecosystems, with the javascript ecosystem being generally not very performance friendly.
Again, I am not saying at all that it’s impossible, or even that hard, to make a performant web-app for something in the reference class of LessWrong. I am just saying that if you build an app and don’t make performance an explicit goal of your webapp, and don’t put substantial effort and design attention into it, then the difference between a native app and a webapp will be quite substantial. Of course if you do put in that attention and thought you can make it snappy in javascript. As you say, fundamentally you are just putting text in boxes and the theoretical limit of performance is far far above what you need for an app like this.
None of this actually matters in this kind of website/app though. Displaying text boxes doesn’t require very much code. The performance aspects will mostly involve memory usage, rendering speed, and efficient algorithms.
I agree with this hypothetically, but I actually think this matters a lot in practice. Browsers are actually just quite slow at doing a lot of things. As a concrete example, the Facebook web-app (which I use since I don’t want Facebook installed on my phone) is many times slower than their native app, with scrolling often being visibly sluggish, and clicking on buttons having a visible delay.
Of course it’s possible that the app is just written less well, but given that the same is true for the Twitter web-app, and the apps of basically any major platform that I have used both as a native app and on the web (Pinterest, Messenger, Google Plus in the old days, Adobe Color, Google Docs), I think it’s reasonable to conclude that native apps feel a lot snappier and are generally faster across the board, at least on my relatively weak phone CPU (My phone is about ~5 years old now, so it does tend to struggle with a reasonable number of websites). I think a substantial chunk of this is explained by the different languages, and another substantial chunk is probably the result of the different ecosystems, with the javascript ecosystem being generally not very performance friendly.
Again, I am not saying at all that it’s impossible, or even that hard, to make a performant web-app for something in the reference class of LessWrong. I am just saying that if you build an app and don’t make performance an explicit goal of your webapp, and don’t put substantial effort and design attention into it, then the difference between a native app and a webapp will be quite substantial. Of course if you do put in that attention and thought you can make it snappy in javascript. As you say, fundamentally you are just putting text in boxes and the theoretical limit of performance is far far above what you need for an app like this.