8
17 Comments

Apps (iOS/Android) vs Web

Would you rather build Apps or Web product?

The way I see is Apps will require less headache as long as they don't have a backend server. You build it, test it, and send it out in the wild. If it gets super popular, you don't need to spin up another server or create complex cloud infrastructure to autoscale. You will get bug reports but no one expects apps to be fixed immediately. So you can go on your month long vacation with just a cellphone.

Web products give you ability to quickly fix issues, gather a lot more data to understand your customers. But most importantly, the web is open, you can do anything you like. Google/Apple cannot kick you out. You don't need to give up 1/3rd of your revenues.

However, with running a webapp, you need to manage servers. If your servers go down on your vacation you need to find wifi and a laptop with at least shell to access your servers and fix the issue.

At day job, I deal with web stuff, so I think for me Apps would be more interesting. But then again I am good with web technologies, might as well use what I am good at and get better at it.

What are your thought?

  1. 7

    A few thoughts.

    • If your app functions without back-end services, then you can build your web-app as an SPA, run all the code in the browser, and the requirements server-side are negligible
    • If you can build your app as an SPA, you can convert it into a native app with PhoneGap
    • Given those two, you can deliver your app as both
    • If you want to charge, a mobile app gives your the advantage that Google/Apple handle all the billing and VAT (sales tax) issues for you, and just send you the money
    • A mobile app works when your phone has no signal - this can be a big plus for some kinds of app
    • A mobile app has more access to storage, more features of the device
    • You can release an update on Google Play pretty quickly (less than an hour), and even Apple's store doesn't take weeks anymore
    1. 1

      Yeah now I am looking at SPA/PWA and it seems these while possible, will have to be pretty much CRUD apps. You can use Dropbox/iCloud for backups.

      Though some of my local app ideas may need more hardware access such as one app I want to build is turn my phone into remote listening device using bluetooth. I know there are such apps but most of them are klunky/drain battery fast. And before you guys think I am some sort of weirdo, we need this because when baby falls sleep in the living room, I want to leave my cellphone and use headphones to listen in the livingroom. We get bluetooth range throughout the house.

      It is good option I need research my simpler mobile app ideas. I especially like that Apple/Google will handle billing.

      1. 1

        An SPA can be anything any web-app can be, it's just a different way of navigating.

        For the application you suggest, a web-app probably just isn't an option, so mobile app it is.

        Hybrid technologies like PhoneGap allow more access to hardware than you get in a browser, but you're likely to be relying on plugins, so make sure you can get the plugins you need.

        Hybrid means you can develop one app for both Android and iOS. If you need something it can't offer, then you're probably down to developing two apps, Objective-C (or Swift) on iOS, and Java on Android. If you don't have a Mac, you'll need one, as Apple's tools don't work elsewhere. (PhoneGap Build does allow you to build hybrid apps without having the tools, but only hybrid apps. Hybrid is a low barrier to entry if you're new to mobile, especially if you already have JavaScript/HTML/CSS skills.)

        Specific to that app - audio access probably not a problem, but you may also need to stop the device sleeping and suspending your app. Keeping the phone awake and streaming data constantly on Bluetooth is likely to drain your battery.

  2. 7

    Looking at it from a consumer prospective, I would much rather visit a website than download an app. Something about downloading an app feels like more of a commitment (especially when I already have pages of apps that have only been used once or never at all). IMO getting people to download and use an app is a much bigger hurdle than asking them to visit a website.

    1. 1

      That's good point.

      Also going through all the interviews here on IH, I rarely see an app breaking past $3000/month. But a lot more of web based products are doing 5 figures in monthly revenues.

  3. 5

    PWA man! The only downsides are

    1. You're limited by performance, so no advanced animations
    2. Some APIs are not available, though the most important ones are here
    3. Less discoverable. Like, when you want to go to Twitter on your phone, you don't go to twitter.com - you download the app through the app store

    However, it really comes down to your team size. Native apps require hiring at least one more person (or, if you're on your own, wasting a ton of time). PWAs aren't ideal, but time and money savings are huge. You should at least consider them

  4. 3

    My 2 cents.

    Apps pros:

    • One major marketing channel - market search bar
    • Clear marketing strategy - ASO
    • Good for laser focused niche ideas in B2C (for example as Sun Safety App)

    Apps cons:

    • Hard (or expensive) to build for both platforms
    • Hard to iterate/test on idea (especially for iOS)
    • 1 star-effect - easy to get but hard to recover
    • Cut 30% to markets, than 30% for taxes - where is my $$$?
    • Oh... and 99$/y for Apple Dev Program please
    • Hosting costs money if you have backend

    Web apps pros:

    • You control everything
    • Easy to iterate and test ideas -> git push
    • Stripe/PayPal processing ~2.9% of revenue
    • It's easy and cheap to build and test MVP
    • B2B

    Web apps cons:

    • Marketing is more diverse: SEO, Blogging, paid ads, social and etc.
    • Major marketing channel is not clear from start and should be discovered (could take a lot of $$$/time)
    • Tech stacks segmentation - hard to choose the right stack that wouldn't be obsolete after a couple of years
    • Hosting costs money
  5. 2

    I'm going to say that you're way off with your comparison between apps and web.

    If you need to persist data between users, you need your own database/server for that, no matter if you have app or website.

    If not, you can persist your data in "serverless" cloud: iCloud on iPhone and e.g. Firebase on web.

    If you have an app that does not need to persist data at all, use static hosting for web (app engine, Firebase, EC2). There's nothing that can crash there. Practically same as having an app.

    If you go with native apps, you'll need to code everything twice: Swift to iOS and Kotlin for Android. No silver bullets there.

    My advice would be to first figure out what you want to do, and to use best tools to tackle that problem. This is if you want to do business.

    If you just want to try out new tech as a hobby, go ahead. But then your motivation and mindset is probably different.

    1. 1

      I really want a passive income. I get 100 ideas a day, apps with no need to persist data ever, apps that need just local data, and apps/sites that require data to be persisted and synced.

      I think I am leaning towards backend-less apps because less headache but also cause it is new shiny object. Probably not a good reason to build a business while trying to learn new technology.

  6. 2

    You can also try "progress web apps", google for it.
    You basically build the app like web app, but it can also be installed as an app.

    1. 1

      Interesting, I will have to check it out. Thanks!

      Though from my quick search it seems PWA will have to be pretty basic without backend server like Mick said. It seems hardware access is limited.

      1. 1

        PWA "apps" are javascript apps running in the browser that have a mobile-responsive UI. I don't there is more to the definition than that. There is no limitation on backend servers and APIs as they can make http calls and (for example) talk to Firebase to send and retrieve data in the cloud. The app can be "installed" as a shortcut on the users mobile device to look like an app. With a framework such as Angular (Typescript compiles to Javascript) and Material Design you can design the UI as mobile first. Powerful yes, but talking to the device hardware such as camera or contacts is the limitation, not the backend server from my experience.

      2. 1

        PWA works pretty well on Android, but you need some tricks on IOS. I'm using PWA on my current project, I have to say it's a future thing.

  7. 1

    choosing between developing an app (for iOS/Android) or a web application often depends on various factors, including the nature of the project, target audience, features required, and budget constraints. Here's a comparison to help you decide:

    Apps (iOS/Android):
    Pros:
    Performance: Native apps usually offer better performance compared to web apps because they are optimized for specific platforms.
    Access to Device Features: Apps can access device features like GPS, camera, push notifications, etc., providing a more integrated user experience.
    Offline Functionality: Native apps can often work offline or with limited connectivity, which can be crucial for certain types of applications.
    Distribution: Apps can be distributed through app stores, making them easily discoverable to users.
    Engagement: Apps often lead to higher user engagement due to their presence on users' home screens and push notification capabilities.
    Cons:
    Development Costs: Developing separate apps for iOS and Android can be more expensive compared to web development.
    Maintenance: Apps require separate maintenance for each platform, including updates and bug fixes.
    Approval Process: Submitting apps to app stores requires adherence to their guidelines and approval process, which can sometimes be time-consuming.
    Compatibility: Ensuring compatibility across various devices and OS versions can be challenging.
    Web Applications:
    Pros:
    Cross-Platform Compatibility: Web apps can run on any device with a web browser, providing a consistent experience across platforms.
    Development Costs: Generally, web development is more cost-effective than native app development, especially if you need to target multiple platforms.
    Easier Updates: Updates to web apps are immediately available to users without requiring them to download and install anything.
    No Approval Process: There's no need to go through an app store approval process, allowing for quicker deployment of updates.
    Linkability and SEO: Web apps are easily shareable via URLs and are searchable, contributing to better SEO.
    Cons:
    Performance: Web apps might not perform as well as native apps, especially for complex functionalities or heavy graphics.
    Limited Access to Device Features: While modern web technologies have improved, web apps still have limited access to certain device features compared to native apps.
    Offline Functionality: While possible with technologies like service workers, achieving robust offline functionality in web apps can be more challenging.
    Less Engagement: Users might be less likely to engage with web apps regularly compared to native apps.
    Conclusion:
    Choose Apps If: You need access to device features, require high performance, plan to utilize offline capabilities extensively, and aim for higher user engagement.
    Choose Web Apps If: Cross-platform compatibility, cost-effectiveness, easier updates, and linkability are more important for your project.
    Ultimately, the decision should be based on your project requirements, budget, and target audience preferences. Sometimes a hybrid approach, combining aspects of both native apps and web apps, can also be a viable solution.

  8. 1

    It's a matter of personal preference, but building apps may offer more convenience without the need for complex server management. Web products provide flexibility and quicker issue resolution, but server maintenance can be demanding. Your experience with web technologies may influence your choice. Ultimately, it depends on your skills and priorities.

  9. 1

    I have both native apps (Android/iOS) and a web site/service for my product. I use AWS Elastic Beanstalk for my web servers and I wrote auto-scaling code for my AWS RDS read replicas, so I never have to worry about spikes in demand.

    Apps are not without hassles either, especially on iOS. Every major release of iOS seems to break stuff and you have to be proactive in update/workarounds to your app.

    The real question is what does the app/service call for? What do the users of your app/service need?

    Is it something that people will need on the go and/or have a potentially sketchy internet connection? Then go with a native app.

    Is it something people will use for about a month and then abandon, like when someone is in the market for a car? Then go with a website. When people install an app and then uninstall it, the app stores think that people don't like it and your ranking takes a nosedive.

  10. 2

    This comment was deleted 4 years ago

    1. 1

      Well there are plenty of complex apps without any need for backend servers. On my phone, I got a workout app, ssh client, podcast app, rss reader, photo editing app, sound editor that work without needing a central server to operate. I specifically look for apps that don't lock me in by storing my data on a remote server when it is not needed.

      Unless you only work with CRUD/social media apps, there is a lot of complexity in local software.