Transcription
If you're a developer trying to build your own SaaS application, you're probably wondering, should you build a web application or a mobile application instead? I've spent the past three and a half years building both full-stack web applications as well as mobile applications, and in this video, I want to give my two cents on what type of app you should build, so you can get a better idea of the pros and cons of each type of platform.
So, number one, I think the first thing we've got to address is the fact that, at the end of the day, consumers love mobile apps over websites. If you are building a consumer product, you are much better off building a mobile application over a web app application. I know this is kind of annoying because web does have a certain beauty around it by the fact that, you know, you build one application and then it works for every single device out there, on phones, on desktops, on iPads, it just works. But I think for consumer applications specifically, it's pretty rare and like far and few between to find a consumer application that is primarily used on the phone's mobile web browser. I mean, the only examples I can think of are maybe Cently and Partyful, but pretty much anything else, I think most consumers are going to be using apps as an app, not a web. We, I mean, you can even ask yourself, is there a particular website that you use exclusively on mobile web? Probably not. Or if there are, it's probably very few websites that are like that. And the vast majority are either dedicated apps or a desktop web website that you use on your laptop. TLDR: consumer apps, you're probably better off building an app.
If you're trying to build a B2B application instead, then you can probably get away with a website, and it's honestly probably better to build a web application than a mobile app for a B2B. I can't even imagine a mobile app B2B product. Does that exist? I don't know.
All right, so now let's talk about the developer experience. Honestly, I think at this day and age, both the mobile app as well as the web developer space, the developer tools that are available are so good, and it makes building really easy. For mobile app frameworks, especially the really popular ones like Swift UI or React Native, Kotlin, Expo, Flutter, all of those, they work pretty seamlessly, and there's a lot of resources and a lot of guides out there on how to build applications pretty seamlessly. And the same thing goes for full-stack web development. I don't really think it matters what framework you choose. I'm personally a Next.js developer, but I think even other frameworks like Remix or Vite or other things out there as well, they have a ton of resources for you to get up and running and host your applications with just a few couple clicks of a button, pretty seamless.
Now, if I had to pick one, I would say that web development tools, like getting your local developer space set up, it's easier with web development compared to mobile application development. Because for mobile apps, you're going to have to download a lot of like Xcode dependencies, so you can only really build iOS applications if you have a Mac. If you're a Windows user, you can really only build and test out Android applications. So definitely, the mobile app space is a little, a little bit harder to set up, a little bit trickier. But at the end of the day, it's still not that hard. There are tons of guides to get it all set up. So developer experience across both platforms is really, really great.
So now, next, let's talk about developer velocity, and this is where things get a little bit trickier, and I think web has a clear advantage over it. Because for web, if you find a certain bug or something, you can just push a fix for it immediately, and it's fixed right then and there. But then for mobile applications, if you were to find a bug, you first have to fix the bug, build the bug, submit that build to Google Play Store or the Apple App Store for review. Sometimes that can take up to like 24 hours or so for the new app version to get reviewed. And then once the Apple App Store or the Google Play Store reviews and approves your application, and it's also going to take time for users to download that new update as well. So there's a lot more time in between from getting a new feature done, code complete, for mobile applications, and then time for that user to actually download and install that update. So that's where I think web applications have a clear advantage. Because basically, the minute you push a fix out, the next time somebody reloads a page, a fix is there in production immediately. So that is really one of the biggest advantages of building a web application versus a mobile application.
Now, there are other some workarounds to this on the mobile app side of things. If you're using a platform like Expo to develop your React Native application, or if you download this one tool, I know Flutter code push also exists, Shorebird.dev, that essentially provides support for code push for Flutter applications. And what these code pushes do is essentially for your Flutter application with Shorebird, or with Expo React Native application, you can push an over-the-air update that bypasses the review process by the Google Play Store as well as the Apple App Store. Now, Google and Apple kind of frown upon this. I don't think they're a fan of you doing this, but you can still do it. But even then, there are certain limitations of what you can push over the air. So depending on the mobile app development framework you use, you can still get some faster turnaround time for some quick fixes here and there. But at the end, you are still kind of at the mercy of longer review times, as well as longer download and update times for mobile applications than you are for web development applications.
Next up, let's talk about payments, making money off of these apps. So this is, this is where web also has a really clear advantage. Web, you can use Stripe to process all of your payments, and you get paid out instantly, or if not instantly, like the next day or two. The minute somebody purchases something and you make a ton of money, let's say your app goes viral, you make $3,000 overnight, you will get that $3,000 into your bank account within the next day or two, pretty instantaneous. The Apple App Store, they actually have longer payout periods where even if you make like $30,000 in one month, you're not going to get paid out for that money until like a month or two later. I don't know the exact number of days the payout period is, but it is longer than the instant payouts you get with Stripe and full-stack web applications. So just keep that in mind, it makes the economics of your business a little bit trickier because you're always going to be having to wait a month or two months for your payments to process and get that money deposited into your bank account if you are out there building mobile applications.
And also, if we're talking about payments and purchasing, if you're building an app for the App Store and you have to use Apple or Google's payment processing service, they're going to take a 30% cut from every single transaction that happens on the app that you built. Now, both Apple and Google do have a small business program, which I believe is if you make less than a million dollars of total revenue, that cut that Apple and Google take reduces from 30% to 15%. But 15% is still a huge cut. That is a ton of money that you're losing by having to do mobile apps and having payments processed via mobile application. Now, there are certain types of mobile apps out there that let you process payments via Stripe and not Apple and Google's built-in payment processing framework, but those are only apps that are like you purchase goods or services that is not part of the app. Now, what I mean by that is if you're using something like DoorDash where you're buying food from another restaurant, then the DoorDash application can use Stripe and is not contingent on using the Apple and Google payment processing framework. But if you're offering something like an in-app subscription or an in-app purchase, then you have to use the Apple and Google payment processing, are able to take that 30% or 15% cut from your purchase. There's no negotiation around that because Apple and Google will not approve your application if you are not using their payment processing framework that allows them to take their cut. So this is where web applications clearly went out over any mobile app. You get faster pay periods, and they don't take as big of a commission.
But I know lately there's been a bit of a trend in the mobile developer space where people primarily have mobile apps, but then they only allow users to purchase a subscription off of the app and on their dedicated website. So that then they still have the advantage of having the distribution of the App Store and the Google Play Store, but then they're able to process their payments via a website and they don't have to pay that commission to Apple and Google. But it also comes with a cost as well because that'll lower your conversion rate because you're telling somebody to leave your application, log into a different website, make a payment purchase. That's a lot of friction you're introducing, and your conversion rate is going to drop significantly because of that. So pros and cons, there are workarounds, but in the end of the day, web platforms and web applications have way better payment processing out there.
Now, last but not least, I think a really important thing to consider when you're building out a mobile app versus a web application is the fact that typically mobile apps, when you build them to UIs, there's a lot less variability because there's very like designated screen sizes of what type of device somebody's going to use and have when they are using your application. You don't have to worry about really weird and really crazy screen sizes because you know on a web application, someone could just like resize their window to anything that they want, and your web application, the UI might break because it doesn't support certain screen sizes or screen densities and stuff like that. But whereas for mobile applications, just because there's a lot less screen size variability, it makes the UI and the product design a lot easier in my opinion.
Those are a couple things that I think are important to consider when you are building a mobile application or a web application. There are plenty of SaaS products that are successful as a mobile mobile app. There are plenty of SaaS products that are successful as a web application, and really, it differs on a product-by-product basis, and you have to pick the right platform that is right for your application. That's it for this video. Thanks so much for watching, and I'll see you in the next one. Peace.