As we’ve learned so far in this course, many types of devices can access the internet: your computer, gaming console, tablet, cars, planes, and even your smart TV . However, only specific devices have the capability of displaying native apps and web apps, and those are the devices that we will be covering in this lesson.
We’ll start by covering native apps. A native app is an application that has been written for a specific platform, such as Google Play/Android or iOS, and is used mainly by that platform’s corresponding devices.
What’s the point of building an app for just one platform? Since native apps are designed with a certain operating system in mind, they are able take advantage of the specific features and software unique to that device. For example, an iOS app may make use of the iPhone’s iMessage feature, which is a functionality that Google’s Androids do not possess. Using these types of device-specific features allows for a developer to improve the the user experience and user interface of the application.
So, what about the other platforms? At the moment, native apps for different platforms are written using different software, so after writing an iOS app, for example, it will take some work (and possibly some extra developers) to recreate the same app in an Android version. Now, let’s cover some of the differences between native apps and web apps.
First, what are web apps? Web apps are client-server applications that run in a web browser (Google Chrome, Internet Explorer, etc.), which we learned about earlier in the client-server chapter. Unlike native apps, web apps can be rendered on various platforms, so long as those platforms have web browser capability- so you can use the same web app on an iPhone, Android, Computer, Smart TV, and many other devices without having to rewrite the source code. This is a major trade-off between native apps and web apps:
Once you know the difference between the two types of applications, you are better able to choose which type of app best fits your application's objectives. Now, how can the same web app work on so many different devices?
Many websites were made before the mobile revolution, and thus, had only one static version of the site available for quite some time. This meant that if you viewed the web page on your computer, it would likely work as intended, but if you viewed the same page on your phone or tablet, you would see that parts are missing, the words are tiny, the pictures don’t load, or any number of the other problems associated with web pages on mobile devices. This is where responsive web design comes in.
Responsive web sites use a “fluid grid” idea, such that the content on the web page adjusts based on the client’s screen resolution. “Content is like water” is a common saying in responsive web design. Just like water takes the form of its container, a responsive website will situate itself according to the form of the device it is being displayed on. The page content will very literally respond to the dimensions of the browser being used.
You can test a web page’s responsiveness by opening a webpage in your computer’s browser (just like this one!) and adjusting the size of your window. If the page is responsive, it will reformat the content to match the size of your browser’s window. If not, content may be hidden from view or displayed incorrectly.