PWAs: You Might Not Need That App Store

App Development Approaches

Maximiliano Firtman

Maximiliano Firtman

Independent Consultant
PWAs: You Might Not Need That App Store

Check out a free preview of the full PWAs: You Might Not Need That App Store course

The "App Development Approaches" Lesson is part of the full, PWAs: You Might Not Need That App Store course featured in this preview video. Here's what you'd learn in this lesson:

Maximiliano discusses different development approaches for creating apps, including native SDKs, web development, and hybrid development. He also explains the advantages of PWAs and how they combine the best of both web and native app experiences.

Preview
Close

Transcript from the "App Development Approaches" Lesson

[00:00:00]
>> Maximiliano Firtman: To try to understand what we're going to do and why, there are today a couple of development approaches. So, you can go with a native SDKs that Steve was against at the time [LAUGH] okay? By the way, just to finish the history lesson, a year after that, Steve Shaw presented the App Store.

[00:00:19]
Because, actually, he didn't want developers to create apps, initially for his piece of art, if you read the Steve Jobs biography, he was against developers doing apps. Because he said that he had a piece of art, like the iPhone was a piece of art, and developers will add crappy things on top of that.

[00:00:42]
So that's why he didn't want to create an SDK. The web was a way to offer you, okay, create web apps. But then well, that changed for several reasons and he created the App Store with this idea of, okay, I will let you create apps, but I will go and check one by one and prove them one by one.

[00:01:02]
So if you have a crappy app, I won't let it happen. I'm not gonna let it install in my system. But anyway, so you can go with Native SDKs, or you can go with web development, okay? And you know that when you go with Native SDKs, you target and you create an experience that works specifically in one device.

[00:01:21]
It can be iOS, it can be Android, it can be Windows, etc. And of course, when you go with the web, you're targeting the browser, you know that pretty straightforward. In the middle of those approaches, we used to have, I mean, still there, but it's not really something cool this dayS.

[00:01:40]
Something that was known as a hybrid development if you have heard about the PhoneGap or Apache, Cordoba, or maybe ionic with capacitor, that's kind of the one that's still alive these days that was mixing Native SDKs and the web. So it was actually a native app or it is a native app that enables a full screen web rendering engine, and then it renders the whole app within the web.

[00:02:09]
But it's not hosted on the web server. It's hosted in the mobile package, okay? That's kind of the idea of a hybrid app. On the hybrid app, the thing is that you are just targeting the device as well as native. You're not targeting the browser. Well, maybe you're thinking where PWA is there.

[00:02:30]
By the way, that's the official logo of the PWA. And who approved it? Well, actually, PWA is just a design pattern. So we don't have an organization. We don't have an owner. So this is kind of a community logo. The community one designer created it and it's open source and a lot of companies including Microsoft, Samsung, Intel, and Google started using it.

[00:02:54]
So it's actually kind of, it became the official logo of the platform. With PWA we are targeting the browser and also devices experience, and this is important. A PWA is not just for installation you can also use it in the browser. Of course, as a PWA developer, you can choose that, okay?

[00:03:17]
So you can, if you want, can force, I will show you one example of that. You can force a PWA to be installed, okay? So you can force the user to install it and not use use it in the browser. You can do that. It's not really a good practice, but if you have a good reason for that, it's fine, okay?

[00:03:36]
So you can do that. But by default, it works both in the browser and in devices, and the whole idea before actually start seeing them in action is to have the best of both universes, the web universe, and the native universe. For example, from the web we are going to take the great idea of links and discoverability.

[00:04:02]
So this idea is that, you discover apps just by Googling the apps or by ChatGPT, [LAUGH] I don't know how to say that, but I'm asking an AI about an app or something like that. It will give you a link, look at this, or social networks, okay? The idea of discovering Things through links, through URLs, it's something that we don't have in the app.

[00:04:25]
I mean, yeah, there are some ways to integrate, but it doesn't work, right? You need to go to the app store to search for native apps. That, going back to Steve Jobs, easy to deploy. The web is actually pretty simple, you just deploy on your server and that's all.

[00:04:47]
On your web server, you can even use FTP if you want, like 15 years ago. It doesn't matter, you just put some files on a web server and you're done. Compare with the native world well, you need to first get approved for an account, from a developer account, and pay for that account.

[00:05:05]
After that, you need to create your app, test your app, compile your app, package your app, sign your app, upload your app, wait for the QA team to review your app, cross your fingers, so everything is okay. For whatever, they say that most of the time might be good QA thing.

[00:05:24]
But sometimes, I mean, it happened to me with a lot of customers that the answer from the App Store team was kind of weird, or you have to appeal because it doesn't make any sense. Sometimes they say, no, you shouldn't be using that icon for that section, and say, why?

[00:05:42]
Because that icon is similar to another one. And say, no, it's not similar to say someone saw that didn't like your app, and it was just no, it doesn't go and maybe you have a launch, a marketing launch, and you cannot guarantee that the app will be there for the launch.

[00:05:58]
Thing like that. Also, as the Steve Jobs said, I'm going to quote Steve, [LAUGH] it's easy to update. If you need to change something, you found a bug, you have a problem, you just deploy the new version, you change the file in the server. On the native side, you have to of course, compile again, sign again, package again, upload again, wait again for QA.

[00:06:27]
Not just that once the app store approved your update, you need to wait for your users to get the update. If your users are like myself, I have my phone, I can show you my phone later so you can be witnesses of that. Right now, my phone has app store updates disabled, automatic updates.

[00:06:50]
So right now, if I go to the app store, right now I have 385 apps waiting for update 385. Typically I go once per week and see, okay, and I wanna see which apps are being updated and what are they updating, right? But yeah, then maybe if you solve the bias, I would say that you have it because I'm not using the latest code.

[00:07:24]
And also from the web universe I wanna take all the toolbox that we know, I mean do you like vanilla JavaScript? Great, do you like doing apps with React? That's great next.js, Astro, php go ahead use whatever you want. You can use everything you already know to create apps or create websites now for the app world, yeah.

[00:07:50]
Can I even turn my Astro site into a PWA? You can turn any site into a PWA, any site. It doesn't matter if it's a website, so if it's currently rendering in a browser, it will work. So you can add some layers. And that's the idea of the P the P in PWA progressive has to do with progressive enhancement.

[00:08:12]
The idea is that you can progressively add layers of functionality on top of your current website. Then you can add the functionality for installation. You can add the functionality for offline capability and so on. But if the web is so cool, okay? We should stay with everything we have on the web 15 years ago.

[00:08:34]
So we also need and want some things from the native universe, okay? For example, offline access again, our little theories here, we don't wanna see this message, okay? That we receive all the time. It's an app. So if the user is opening the app, the user shouldn't see server errors or messages saying, you're offline, or you don't have connection, by the way.

[00:08:58]
Maybe the user is offline, maybe your server is offline as well. So that doesn't happen in the app world. You open an app, the episode was there. Of course, maybe the app cannot send the data, but the app is responding. We want that from the native world. Also, we wanna install icon, not just on bookmark so I wanna see an icon in my home screen.

[00:09:21]
I wanna, put it whatever I want. I wanna organize that as part of my normal apps. And I wanna standalone experience. I wanna get rid of the browser user interface that is taking space on my screen, and also it makes me sometimes it's tempting me with that URL bar to go somewhere else.

[00:09:44]
Okay, so I'm getting out of the app easily. So I wanna be in a standalone app with my own standalone window, and integrate with the system, with the operating system, and that's the next step, OS integration. I wanna be appear in the Alt tab, in the task switcher.

[00:10:02]
I wanna get push notification messages when my app is closed. Well, maybe I wanna be the default handler for a file type. I wanna be a PDF reader. I'm a PDF converter web app. Well, I wanna integrate with the operating system, so every time you are right clicking on a PDF file, you can see my web app, and you can open my web app, okay?

[00:10:29]
And also performance and user experience. So that's something that we wanna get from the native universe as well, that feeling that also Steve Jobs was saying they feel, or they look like iPhone applications, so he was talking about that as well. So, they will look and act exactly the same as the apps on your iPhone.

[00:10:52]
So, then PWA, the web app platform. Now, let us get the best of both universes. That's why for a lot of situation, it's better on the website, it's better than the native app because you have all these advantages. We're not yet talking about distribution and the business side of the distribution part and being on the App Store or not being on the App Store because sometimes you cannot be on the App Store.

[00:11:20]
For many years the App Store didn't accept cloud-based gaming platforms. So for example, we had Amazon Luna at the time, Google has a stadia that now it's gone, but Microsoft has Xbox cloud gaming platform. And where you can actually play games in the cloud, so Xbox games in the cloud, and you can connect a gamepad also on iPad, on your desktop.

[00:11:50]
And the problem is that because they're not accepted in App Stores, they couldn't create an app for that. Well, the answer was the PWA. Microsoft created a PWA for the Xbox Cloud Gaming Solution. You can use an iPad, you can install the app, it's full screen because you go to a full-screen game experience.

[00:12:15]
You can use a gamepad and it works perfect. Okay, so there are some business situations where there is no other way. And because of my expertise as a PWA developer, consultant, and expert, sometimes I did a lot of consulting for companies that are on the edge. Companies that they had to get out of the App Store.

[00:12:36]
So they had this business recent legal problem where they couldn't be in the App Store, so they had to create the best possible PWA experience. And sometimes, again, it's not just about the extreme cases, it's just some simple business issues. And also sometimes when you're creating an app for that doesn't need to be so big.

[00:12:59]
You're creating an app for a coffee store here in we are in Minneapolis right now, so let's say we open a coffee store here in downtown. It's a small coffee shop. So do I need to hire a mobile developer for iPhone, for Android, just to create an app for making orders?

[00:13:17]
Maybe we already have a website that I have someone that is managing the website maybe it's a WordPress website. Yeah, but we want an app. Well, you can create an app easily in just a few hours users can install the app it will look like any other app, you can have notifications, you can have payment, the same as an estimate for that small shop, you don't need the App Store.

[00:13:43]
Just for a really small shop in anywhere in the world. So there are a lot of situations where the PWA platform is a good one.

Learn Straight from the Experts Who Shape the Modern Web

  • In-depth Courses
  • Industry Leading Experts
  • Learning Paths
  • Live Interactive Workshops
Get Unlimited Access Now