| Increasingly, there just aren't enough incentives to write native apps. 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. |
I think a lot of hatred toward web apps actually comes from the hatred toward cloud-first design. Notion feels sluggish compared to Obsidian, but is it really due to electron? Or the fact that one is cloud-first while the other is local-first?
Edit: well I just looked it up and it seems that Obsidian is electron-based too.