What’s the difference between "native" and "web"?
You might have heard people talking about "native apps", "web apps", "websites", "homepages" and "the web", and you might have thought: what's the actual difference between all of these? Aren't they all basically the internet?
The are all basically the internet, but in slightly different ways.
Let's go back in time a little, all the way back to the 90's. Back then, applications were the big thing, programs that ran on your PC, like Microsoft Word or WinAmp (🤘🏽).
On your PC, you have to have an operating system installed, like Microsoft Windows or Mac OS, otherwise nothing will happen when you press the on-switch. That's why you can think of the operating system as the Original Program - the program that lets you run all the other programs, like Microsoft Word.
In the first half of the 90s, buying and installing programs like Word (from floppy disks and later CDs!) were the only way to run programs that the Operating System hadn't already provided for you.
But then, around 1995, everything changed. Programs were developed that could download new programs over the internet, on demand, and run them within seconds, without you having to buy disks and install things yourself.
In that way, and ever since, the internet has been a giant warehouse of programs that can be downloaded and run in seconds - provided you have another program that can browse this warehouse: a program that we call a "browser".
So in the mid-90s, browsers like Internet Explorer, Mosaic and later Netscape Navigator arrived, that allowed people to browse, download and run other, smaller, programs on demand - and we called those smaller programs "websites".
And it was only when browsers arrived that it made sense to differentiate between "native" and "web" - "native" applications were those like Microsoft Word, that you had to obtain and install yourself, and "web" applications were the web pages you could run by visiting a URL, like "yahoo.com" (remember them?).
But people didn't really use the word "native" back then, because the web was young and web pages weren't much more than text, links and the occasional image that took minutes to load. It was pretty hard to mix up web pages in the 90s with native applications like Microsoft Word, even back then.
Fast-forward a decade and web pages like Gmail and Google Maps finally made web pages look and behave a lot more like the desktop applications, like Word, you had to install yourself. That's when we started talking about "web apps", which were like desktop applications, but in the browser, and everyone started going on about this being "Web 2.0".
And the final piece of the puzzle1 was when the iPhone showed up in 2007, and then got an App Store. Apps in the App Store (and later in Google Play for Android) were like the desktop applications you had to buy disks for in 1995 - they ran outside the browser, directly on top of the Operating System, and they were way better than the web pages and web apps you could run on your mobile browser.
It was kinda like being back to square one, except our programs were running on mobile phones, and instead of obtaining disks we could go to an App Store to download them, but we still had to install programs ourselves.
And that's when people really started using the word "native", to mean programs running on phones that weren't web pages or web apps ran inside a browser.
1 at least if you ignore J2ME and Symbian, which we're going to.
Read this next
Do I need an app or a website?
How to decide if you really need to build an app or if you can you get away with just making a website