So in a basic sense, apps are designed.
In order to run either directly on the platform for which they're designed on top of a smart devices
mobile browser or even by mixing the two.
So in this lecture, we're going to define characteristics that qualify an app for its respective place
in mobile app taxonomy, as well as discuss the differences for each variation.
Let's have a look at native apps.
So mobile operating systems, including Android and iOS, they come with a software development kit
or SDK in order to develop applications specific to the OS.
A software development kit, or SDK, is a collection of software development tools in one install package,
such applications are referred to as native to the system for which they've been developed.
So when discussing an app, the general assumption is that it is a native app implemented in a standard
programming language for the respective operating system, objective C or SWIFT for iOS and Java or
Kotlin for Android.
Now, there is some ambiguity that exists when discussing native apps for Android as a platform provides
to different development kids.
So there's the Android SDK and Android SDK.
SDK, which is based on Java and Kotlin programming languages.
Well, this is developed for developing apps.
The Indic or Native Development Kit is a C C++ development kit used for developing binary libraries
that can directly access lower level APIs.
So it's possible to develop C and C++ apps using the Android native development kit.
Now, the most obvious downside of native apps is that they target only one specific platform.
Right.
To build the same app for both Android and iOS, one needs to maintain two independent code bases or
maybe introduce often complex development tools to port a single code base to two different platforms.
It's up to you.
Web apps, so mobile web apps are Web sites designed to look and feel like a native app.
These apps run on top of a devices browser and are usually developed in HTML5, much more like a modern
Web page.
While jerricans may be created to parallel the same feel of accessing a native app.
However, these icons are essentially the same as a browser bookmark.
Simply opening the default Web browser to load the referenced Web page.
The biggest advantage is reduced development and maintenance costs associated with a single code base,
as well as enabling developers to distribute updates without engaging the platform of specific app stores.
Hybrid apps.
So hybrid apps work across multiple platforms and behave like native apps.
So a hybrid app is essentially a combination of a native app and a Web app, although this type of app
can be installed on a device like a native app, it technically is a Web app.
These types of apps run in an embedded Web browser, come I call Web view, and these are built with
HTML access or JavaScript and run in a web, you.
So here's a certainly not an exhaustive list of more popular frameworks for developing hybrid apps,
you may be aware of some of them.
There's a Patsy Cordova, Riak native, iconic.
Jake query mobile.
Google flutter.
Framework seven.
Native script.
So now we get in a progressive web apps or PWI a.
Well, these lowed like regular Web pages, but they differ from usual Web apps in several different
ways, actually.
For example, it's possible to work offline and access mobile device hardware is possible.
Usually or traditionally, it's only available to native mobile apps, right, but they're built using
common web technologies, including HTML access and JavaScript progressive just means that it works
for every user, regardless of browser choice using progressive enhancement principles.
So Speedway's combine different open standards of the Web offered by modern browsers to provide benefits
of rich mobile experiences.
A Web app manifest, which is a simple Jason file, can be used to configure the behavior of the app
after installation.
And it will specify the name of the Web application.
Links to the Web app icons or image objects.
The preferred Eurail to launch or open the web at.
The webapp configuration data.
The default orientation of the webapp.
As well as the option to set the display mode, for example, the full screen.