This isn't a criticism of the article, but rather a tangential observation about why so many people turn to the web instead of using native toolkits to build apps, and why so many of native toolkits feel uninspired and lacking any real innovation.
If I choose to build an app using web tech, I get:
- Universal distribution
- No download and install process
- No "please wait while we update this"
- Users can easily share my app
- Users can link to individual pages within my app
- Users get autofill for forms and passwords and credit cards
- Users can block ads
- Users can scale and zoom my content
- Users can find text on any page in my app
- No "SmartScan couldn't verify if this app is safe" because it wasn't signed with a cert.
- A clearer security model: web apps prompt the user for access to e.g. microphone, camera, or secure disk locations. Native apps can kinda do whatever they want.
Why would I give up all those things to write a native app? A knee-jerk answer is often "performance", but honestly, most web apps load faster than their native counterparts these days.
Another common answer is app store distribution, but web apps can now be published to the major app stores without Electron or other frameworks. Google Play and Microsoft Store both support PWAs, and iOS App Store supports web apps via web view.
There are some scenarios where a native app is warranted. For example, hooking into some native component or OS API; e.g. HealthKit on iOS. But for many apps, the web is good enough.
Being specific to misunderstandings is an element that's overlooked.
This advice tends to be taken onboard (often to extremes) by those who take it as a free pass to just say whatever comes to their mind, whenever they like, without explaining how they arrived there. Any excuse to avoid putting in effort to be understood or be conscious of the fact that human beings have emotions.
We are not robots.
I'm glad commenters here are aware of this, as HN sentiment is getting close to the point of treating each other as machines, whilst we train bots to have better communication skill such as empathetic reflection, and allow them more creativity and freedom.
Some people are more patient and sympathetic towards computers making mistakes and not following commands perfectly, or being too verbose, than we are with our fellow human beings.