Type of Apps
Tags: webdev, programming, mobile, design
Published: 2022-06-26 01:38:35

# Different Types of Apps

A typical user might not be able to distinguish a website, web app or native app on first sight. As long as they get the results for what they are searching for, the type of app doesn't really matter. As developers though, it's important that we know the difference between the various types of apps. 

Building the right app for users to enjoy is something we as developers should strive for. Making an app that is user friendly is a sure way to get many people to start using your app. There are different types of apps and each have their own purpose, but which is more preferred by users? 

---

It's crucial to understand the distinctions between websites and web applications since they can often be mistaken for one another due to their similarities.

## Websites vs Web Apps


### Websites

Websites are a collection of linked web pages that may consist of text, images, audio, video, and other content. It can be linked to one page, two pages, or numerous amounts of pages. Through a browser like Chrome or Firefox, you are able to view them. A website can be created using only HTML and CSS, but Javascript may be used to give it more dynamic features. Typically, websites are static in nature, meaning the content is organized in pages and they are not constantly updated. Often times, they are generally referred to as read-only sites. Archive websites, blogs, and community sites are just some examples of the type of static websites out there. A website's main intent is to facilitate user navigation and obtain information that is pertinent to their needs.

### Web Apps

Web apps, unlike webpages, require authentication. To present information, the web application utilizes both server-side and client-side scripts. It requires the use of a server to manage user requests. The visual difference between websites and web apps are that they are particularly dynamic and responsive. Every user sees a new set of data each time. These features make usability smooth and more engaging than a typical website.  

Like websites, web apps are built using HTML, CSS, and Javascript. It also makes use of a database and a few other computer languages, including Ruby, PHP, and frameworks like Django, Angular, React, and Ruby on Rails.

Some examples of web apps: 

--- 

## Native Apps

Native apps are software programs that are designed to use on a specific device or platform like IOS or Android and Mac or Windows. The great thing about a native app is it can be installed directly onto the device, allowing users to still use it without internet connectivity, in most cases. Native apps are also capable of accessing a devices features, such as push notifications.

Swift is a powerful and user-friendly programming language designed by Apple to develop iOS and MacOS apps. Other languages are available to use when building native apps like, Objective-C and C#. Android, on the other hand, uses Java, Kotlin, and Python to build their apps. 
   

---

## Progressive Web Apps 

PWAs are web applications created using a shared set of specific technology and practices that enable them to use both web and native app features. Web applications, for example, are more discoverable than native apps; visiting a website is much more quicker and easier than installing an app, and you can conveniently share web apps by simply sending a link. Native apps, on the other hand, are properly designed to work with the operating system and thus provide a more smooth user experience. We recently discussed how native apps are installed so that they may also be used offline, and users prefer to access their favorite apps simply tapping their icons rather than using a browser. Progressive web applications make it possible to create web apps that can use features that make web apps and native apps so great. 

From the outside, it's difficult to tell whether a web app is progressive or not. Like web apps, PWAs use HTML, CSS, and Javascript. When an app satisfies specific standards or incorporates a set of provided features, it is deemed a PWA: it operates offline, is installable, is easy to synchronize, can send push notifications, and so on. [Lighthouse](https://developer.chrome.com/docs/lighthouse/overview/), for example, is a tool that measures how complete (as a percentage) a web app is.

One thing to note when developing an app, is the cost of development. A progressive web app is less expensive to produce than a native app. For the native app, you will need to learn the language and create a version for each platform. This implies you'll need at least two versions for iOS and Android, as well as the resources to keep each one up to date. This involves a serious amount of time and money, depending on the app's intent and complexity.   

It takes less time to create and update a progressive web app. You can use a single codebase for several platforms in addition to the two most widely used ones. With the use of tools like Google Lighthouse, you can modify your existing website rather than creating an app from start. With responsive design, you only need one version of the app, and it will operate the same way across all platforms.