Native vs Web Development
Tags: developer
Published: 2021-04-01 02:10:12

When creating a new application, It's better to start by understanding and defining the type of app that will be built, taking into account the platform used, its main features, performance, security, among other characteristics.

In this blog, rather than focus on determining which type of application is better between Native and Web app, we'll be addressing the pros and cons of each kind; and leave to the reader the decision upon choosing the one that best complies with its necessities.

## Web Applications
These types of apps run on browsers and most of them tend to be built with HTM5L, CSS, Javascript. Compared to mobile apps they are easier to build but much simpler in terms of features. Most of them are created in a responsive way, which allows users to access the application on any device.

### Pros
* You can build for IOS, Android and Web on the same project: they have common codebases regardless of the mobile platform. This reduces the production costs.
* Don't need to be downloaded or installed: they work on internet browser environments which means that saves storage on your device.
* Don't require approval to be launched, so the publishing process is quicker and easier.
* It's easier to maintain and update.

### Cons
* They may not be as discoverable as mobile apps as they are not listed in a specific platform such as Play Store or App Store.
* Restricted access to native device features: Features such as notifications, camera, fingerprint validation, among others.
* Don't need to be Approved: this could also be a disadvantage because it increases the creation of not standardized sites, not protecting users from bad user experiences.

## Native Applications
These types of apps are built specifically for each operating system (iOS, Android) and they are only accessible through app stores such as App Store or Google Play. They are usually built with the native programing language of each platform for better performance. Swift, Objective-C for iOS Applications and Java, Kotlin for Android Apps.

### Pros
* Fast and responsive: After downloading the app, the Content and visual elements are already stored on the phone which means loading times are quicker compared to apps that run on browsers.
* User Experience: Native apps stick to platform guidelines that align the user interaction with specific operating systems. These guidelines provide more natural and smooth behaviours.
* Native Apps Allow Develop: Native apps take full advantage of the software and operating systems' features. The apps are able to access the hardware of the device easily. These include GPS, Camera, Microphone, etc.

### Cons
* Price: They are very costly, you would need to have 2 different source codes to develop an android and iOS app. which means more human resources, developers and designers for both platforms. The maintenance process should also be considered.


Hybrid apps such as PWA are getting a high demand and interest among developers. They are faster to build than Native apps, they could be developed for both platforms, they can work online, between other great features, it is worth it to give them a look.

Now, there is no good or bad app type it all depends on the goal you are trying to achieve as a developer. Feel free to choose the one that best suits your user's needs. Thanks for reading.