Think of the world wide web… what comes to mind? It really depands on who you are. A business owner or a marketer considers it to be where brands and people come to present themselves. A researcher believes it to be an interconnected network of documents and files with valuable knowledge to extract. a student thinks of it as where they can access ther assignments and edit documents. But one use case isn’t much talked about except among programmers: the web as an app platform.

things didn’t go according to plan

The World Wide Web was originally launched in late 1990 with the aim of sharing documents. In those early days it was primarily adopted by universities who needed a way to share research between one another. This phase lasted for the first 4 to 5 years of the internet. After that things began to change.

In 1995 in particular, a huge revolution occurred, JavaScript was born. Think of it as just a way which allowed people to make their web pages (which were more like word documents) more interactive.

Soon people began to add buttons, and make them do stuff when you click them. they started creating complex data visualizations, and even games. social media platforms started to develop. a website started looking a lot less like a page of a book than an app on your phone. “web apps”, these were called!

You probably never heard his word before web app. It refers to any website you can go to on the world wide web with complex functionality (like an app on your phone). YouTube, Twitter, google docs and Figma are all examples of web apps.

“native apps are better”

Why bother with using apps in a browser when you could download a native app (an app built specifically for your system, ex: IOS apps) instead. It would be much more powerful able to access your files, location, send notifications, sense device rotation and acceleration, share to other installed apps, access Bluetooth, have an icon on your home screen and here’s he big one: WORK WITHOUT INTERNET.

In the past this was a completely valid argument, not now though. specifications are coming out that are shrinking the gap between the capabilities of a native app and a web app. All the things I listed above any web app could implement now (if you of course give it permission to do so).

Yes, web apps can work without internet. Yes web apps can have an icon on your home screen. No, this isn’t hacking, you’re the one clicking “allow” on every permission request that you’re shown.

So… if they’re almost the same, which is better?

why I think web apps are better

Call me bias as a website programmer all you like, I still believe investing in establishing better web standards and leaning more towards web apps is better for everyone. And here’s why:

you always have a web browser

you can get chrome or Firefox on any device under the sun. A web browser is pretty much the only requirement to using a web app. Even some E-ink devices have browsers (though i wouldn’t recommend opening anything other than a PDF on those).

To illustrate why this is important, listen to this story: I used to use google keeps (google’s own note taking app), which didn’t have an app to download on a computer. I installed the web app right from google chrome on to my PC. I could have done the same thing on any other device that i couldn’t get their app working on, for example Huawei’s devices which don’t have google’s services, but do have a web browser. I could just install the app from that.

development

If you wanna make a native app, you need specialized programs that will translate your could to a functional app, some of which you can only get on a system created by the same company as the platform you’re targeting (looking at you apple).

But you can make a website a note app on your phone if your really wanted to. Or you can use complex frameworks that give you the developer experience you need. Additionally, you can write your app once and it will work on all systems. If you want your apps to be available on all platforms naively, you need to write a different app for each platform.

Additionally there are a thousand different tool options when building a website, but for apps… just the one provided by the company. This means that you get better tools for specialized jobs, for example: shopify has a tool for making E-commerce websites. I’ve never heard of anything like that for android.

one thing remains until perfection

Convincing apple to play nice. I admire apple. their hardware is beautifully made, and the restrictions they put on their software is to provide a great user experience for all people who want to become part of their amazing ecosystem. Apple’s software is also restrictive so they can make stupid amounts of money.

The only way you could get an app (native or web) installed on an iPhone or an iPad is through the apple app store, which takes 30% of your profits. The “I have a browser” argument doesn’t work here either, because apple restricts what standards you could have in your browser, thus stopping you from installing from on their, and forcing you to use their app store.

I believe that this is the greatest barrier facing the capability of a web apps to become more prevalent than native apps.

You already see people opening chrome as the first thing they do when they switch on their laptops (I even have it open automatically). people edit word documents on docs.google.com, check social media on facebook.com, design posters on canva.com… all of these are web apps that dominate the desktop space… why can’t they dominate the mobile space too?

conclusion

The web has come along way from black and white research papers. It is now a very powerful and flexible platform for creating and sharing apps that are able to be run on any operating system. It has great potential that is not fully realized yet, and I truly believe that focusing our energy on improving web apps and the web platform will give us a higher quantity (and perhaps quality) of software.