• thunderstruck@lemmy.caOP
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Have to disagree with you here across the board.

    native apps have too many permissions on your phone

    What permissions are you referring to? On my phone, Apollo was able to send push notifications, and it had restricted access to specifically chosen photos. Otherwise, it can’t read the file system outside its sandbox, has restricted background runtime, and can’t access sensitive shared data like contacts or health data.

    It’s not uncommon in this world for someone to make a nice app, another company to buy it and you don’t even realize while your data is being sold.

    That’s true, but orthogonal to the question of PWA vs Native. Web apps can let you upload data, access your location, keep track of your accesses, etc. Ultimately, you’re running someone else’s software on your device, and their software can do privacy-preserving things or they can do gross things with your data, and that can happen on any software stack.

    PWAs are cheaper (in this case free) to maintain too. Apple charges you $100/year to be a developer . Google is more generous $25/lifetime for android.

    Given the overall cost in time (man-hours) to develop an app, I’m not sure the 100 bucks is that big of a deal to be honest.

    These operating systems change often and keep deprecating stuff, forcing devs to continuously fix unnecessarily broken stuff. This doesn’t happen with PWAs as they follow the web standard.

    That’s not true. Your web app may not break in the same way (i.e., not compile), but OS evolution changes what people expect constantly. A few years ago it wasn’t possible for a web app to send push notifications or support dark mode properly, but now they can and people expect it. Browsers also regularly introduce new features like privacy protections that routinely break web apps that weren’t built with those behaviours in mind. Also, the OSes look and feel completely different now, and web apps that want to “feel” native will need to adopt their designs constantly no matter what.

    Native apps break earlier (at compile time instead of at runtime) but both need to be maintained just as much to stay current, because the OSes people are running - and their expectations - are also changing all the time.

    • Cinnamon@lemmy.ca
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      I don’t disagree with you much, except on the part of permissions.

      Native apps will always have more access to your data compared to PWAs. PWAs work on the browser’s permission model, whereas native app work on your OS’s permission model. For a malicious PWA app to do something wrong, it needs to not just bypass browser’s permission model, but the OS as well, making it more safer.

      On the maintenance side, it’s not just the cost but time as well. You could make a change in your PWA and everyone will have access to the update instantly, whereas you have to do manual steps to get it all the way to a published state and wait some time for approval.

      Things are rarely deprecated in the web space, so it’s very unlikely something would stop working, which isn’t the case for native apps where existing features break often. I’ve developed both kinds of apps and my pain has been more with native apps, although sometimes I have no other choice because everyone prefers the native ones for the ease.

      Then you need to also develop for Android and iOS separately. Yes there are tools like React Native and Flutter but they’re not super easy to maintain either.

      Testing takes time too. While web apps a dev can instantly see changes as they change their code, and debug it easily too, native apps take time to deploy.

      Moreover, for an iOS app it’s not just $100 a year, but now you need a Mac computer to build and test it easily as well.