5 ms·
Why isn't webapp preferred over native app?
As mentioned by https://news.ycombinator.com/item?id=26588480 https://news.ycombinator.com/item?id=26588480
Webapp nowadays has access to plenty of permissions. In addition, it can be updated freely and automatically.
For native app to update, you need to get Google and Apple to approve your updates and wait for their distribution network to propagate updates.
- ashwin110 6y agoI wouldn't say web apps are always preferred over a native app. When people are prototyping, I see a lot of people building web apps to get the idea out. However, as you grow, a native app might be favourable if you can have one cause in my experience they perform better, especially in the background. You don't have to worry about what browser they're using and if it supports the things you need, as long as the OS supports it and you can do more stuff in the background like local notifications which web apps can't
- aabbcc1241 6y agoIn the case of notification, we can do that with webapp as well. Both Chrome and Firefox support that https://developer.mozilla.org/en-US/docs/Web/API/Push_API https://developer.mozilla.org/en-US/docs/Web/API/Push_API
- toast0 6y ago> In comparison, Chrome applies no limit, but requires that every push message causes a notification to be displayed. No silent push is a huge limitation. Can't let the server send you updates without annoying the user.
- Anunayj 6y agoActually its better, Chrome just displays a silent notification that says "this website just updated in background". I personally would rather know that a app did something behind my back. But I can see some users getting the wrong idea. Though I think it ia fair since chrome is a web browser and shouldn't be making requests to random websites without my knowledge. cough cough
- toast0 6y agoI can see your point of view, but lets say I made a weather site. Would you really want to be notified everytime the data is updated, or do you just want the latest data when you view the page (assuming you want it to do that; I would like up to date data when I view the page, without having to wait for it to refresh; but then, since I'm the developer of my hypothetical weather page, I trust myself not to do anything untoward with the data)
- Anunayj 6y agoIn that case, the website can just do a get request when I click on the app. That should take like <200ms and won't even be noticable imo. The notification is only there for the use of Push API.
- shams93 6y agoWell for android you can release a PWA as a "Trusted PWA" in the android app store.
- muzani 6y agoYou get a lot of features, but not all of them. We've just fully migrated a web app to a native app. Reasons: 1. Camera is an absolute pain on web - you can take photos, but when you want to deal with things like EXIF data, cropping, zoom, and every device has multiple front cameras now. 2. File systems are a pain. Where does it go when you download? Are you planning on using a cache? Offline database? OK, great, your hack works. Now try again with the new Android 10 scoped storage. 3. Can't easily handle things like calls. 4. RAM usage by browsers can be massive, this is part of the reason for the lag. 5. App Store optimization is easier and more effective than SEO. You can create a shell around your app, sure but you still should upload it and you have to go through quality control processes. 6. DOM manipulation and UI is much harder than on native. If you're using a template, it works, but if you want custom UI, it's a lot easier to control on an app. Even small things like toasts. CSS is hard enough on desktop, try web browsers. And then create a "back stack" on top of your app. 7. You can use something like Cordova, but bits and pieces go obsolete every few months. And making Cordova plugins is an absolute nightmare. I did something in 3 days native recently which I couldn't do in 3 weeks previously. 8. Multithreading, e.g. an app that supports chat or a download queue. Pros of web app: 1. Prototypes and MVPs are a lot faster. npm has most utilities. And there's custom templates for everything. 2. It's easier to integrate other web functionality, e.g. Facebook posts and TikTok. 3. Architecture is "flat" on a SPA. So you can access something 3 pages back easily, or do something like change data on every page. Whereas native architecture often has several layers. Duck typing is a nice feature.
- aabbcc1241 6y agoAgree on the differences. However, maybe it's my sampling too small. Most of the apps I saw from ads don't need the native-exclusive functions. (e.g. listing app of restaurant and house renting and selling)
- muzani 6y agoMany of those shouldn't be apps at all.
- jfengel 6y ago
- nilsandrey 6y agoYou need a native program to access the web, so for now, always you'll need at least one native program ;) Now, seriously, as muzani states indirectly, the preferred way will be divided as long as implies another layer and a difference in available device services. Also, you mentioned a disadvantage of the stores but think about the distribution network in terms of online presence to being noticed. There're plenty of pros and cons in every aspect. Regarding the update point, like in desktop OS, with Android, you didn't need to wait, just take the APK file and install it. From the perspective of your sentence, it's only a problem (or situation) of the Apple ecosystem, not related to the web/native. They can't control the web but if they could they will. From the perspective of the consumer, some say they are fine with the gatekeeper, adding a layer of security and quality assurance.
- runawaybottle 6y agoWeb app ui components or the ability to make a fluid ui is an entire class below mobile. There’s no two ways about this. Every website is pure dog shit compared to their mobile app.
- dyingkneepad 6y agoThe absolute killer feature for webapp is privacy and I will use the webapp instead of the native app whenever it is available for that reason only. Besides, all those comments about native being better due to performance and RAM and such go straight to the toilet when the app is something I will keep open for like 5 minutes every 2 days just to do something specific thing. Most apps do not require daemon-like features. Dear native app developers, I'm not buying into your arguments on why a native app is required. You're going to use some kind of SDK that is going to spy the hell out of my phone. Get off my LAN!
- thijsvandien 6y agoThe privacy argument works both ways, because native apps can reliably keep data local that (unless it's just some simple utility) web apps would store on a 3rd party server.
- dyingkneepad 6y agoThere's the theory, then there's the practice. In practice most of the apps I can think about that I could use are used to communicate with some sort of web server that is actually the one storing the info. So you get 3rd party storage + the stronger privacy invasion.
- muzani 6y agoFun fact: up until the latest Android version, any app with Read Storage access (i.e. nearly all of them) could go through all your photos, pull location data, map out all the places your phone has been, and stealthily upload that. Several years ago, if you gave it microphone permissions, it could stealthily record all your conversations in background, transcribe that to text, and upload that. This was a beginner task that needs about 2 hours experience and I still use it for my tutorials. Lately it prompts a full screen saying that it's recording you, but this doesn't prevent apps that take a few days to build their own stealth recording system.
- dyingkneepad 6y ago