Mobile Application Development
Mobile Application Development
Mobile Application Development
Mobile
Applications)
Mobile Operating Systems
Mobile Operating Systems: A mobile operating system, also called a mobile OS,
is an operating system that is specifically designed to run on devices such as:
Mobile phones
Smartphones
PDAs
Tablet computers
Other
handheld devices.
Native Applications:
Hybrid Applications
Native Applications
These are applications developed to be used on a particular platform or operating
system such as Android, iOS, etc.
Native apps are usually written in languages that the platform accepts.
Pros vs Cons
Pros:
Fast and responsive because they are built for that specific platform
Best performance
Interactive, intuitive, and run much smoother in terms of user input and output
Cons:
Higher cost of maintenance and pushing out updates, due to multiple source
code bases.
Hybrid Applications
These are applications developed to be used across multiple platforms.
This type of application is developed in one language and later deployed to multiple
platforms (iOS, Android,… etc.).
Hybrid mobile applications possess elements both from native apps and web apps.
Web apps are websites that act like apps but are not installed on a device and are
accessed on
the internet via a browser.
Hybrid apps are deployed in a native container that uses a mobile WebView object.
This native container enables them to do things like access hardware capabilities
(camera,
Pros vs Cons
Pros:
Adaptable to multiple platforms, as the same code can be reused for Android,
iOS, and
Windows.
Unified and less expensive development, as the app only has to be developed
once using one code base.
Cons:
Slower app performance when compared to Native Apps, because the hybrid
framework acts as a bridge to communicate with the phone’s native features.
Apps with heavy animations and sound effects aren’t as seamless as their
native counterparts.
However, unlike web apps, PWAs are installable on a device (mobile or desktop) by
a web URL which can always be pinned or saved on your phone’s home screen (in
the form of an icon).
PWAs are usually built using HTML, CSS, and JavaScript too but unlike web apps,
it is not browser-
dependent. It provides a seamless user experience similar to a native application
and can use most native device features like push notifications.
A PWA essentially gives the big reach of the web, as well as the engaging features
of the native apps.
Working Mechanism
It has two components,
The service worker –It allows the PWA to store cache, update, and connect to
the server when it is online.
The service workers of HTML5 (which is JavaScript file) stores the entire website in
your device’s cache.
Therefore loading for the 1st time maybe slow but it is very fast from that time
onward. Because of the Cache the PWAs can be used offline.
As the device connects with the Internet, the HTML5 service workers check if any
update is required and automatically updates the PWAs cache stored in your phone
without having to go the PlayStore.
Pros vs Cons
Pros:
Build one app for all platforms — iOS, Android, etc. as long as it can run on a
browser
Initially, users have to visit the website before they can add the app on their
phone screen.
PWAs can not communicate with other native applications installed on your
phone.
The first commercial version, Android 1.0, was released on September 23, 2008.
Android is continually developed by Google and the Open Handset Alliance, and it
has seen a number of updates to its base operating system since its initial release.
Code Names
Android code names are confectionery-themed and have been in alphabetical order
since 2009's Android 1.5 (Cupcake). The most recent version of Android is Android
11 (R), which was released in September 2020.
The Android platform provides a framework API that applications can use to interact
with the underlying Android system. The framework API consists of:
A set of XML elements and attributes for declaring and accessing resources
Updates to the framework API are designed so that the new API remains
compatible with earlier
versions of the API.
Most changes in the API are additive and introduce new or replacement
functionality.
As parts of the API are upgraded, the older replaced parts are deprecated but are
not removed, so that existing applications can still use them.
Hence, all other API parts from earlier revisions are carried forward without
modification.
An application running on API level 30 for instance can run on higher-level APIs if
an OTA update takes place.
Each new version of the Android platform can include new framework APIs, such as
those that give applications access to new platform capabilities/features.
Earlier versions of the platform do not include the new APIs, applications that use
the new APIs are unable to run on those platforms.
An application running on API level 30 may have some features which are absent in
API level 15. Thus this application can’t be run on platforms with API level 15 or
below.
Minimum SDK Version — Specifies the minimum API Level on which the
application is able to run. The default value is "1".
Target SDK Version — Specifies the API Level on which the application is
designed to run.
Maximum SDK Version — Specifies the maximum API Level on which the
application is able to run. (Not used nowadays)
The lowest possible version of the platform that your application can support.
If you build an application that uses APIs or system features introduced in the latest
platform version, you should set the minSDK to the API Level of the latest platform
version.
The targetSDK should be set to the highest possible version of the platform in order
to get access of all the new features.
The application should be tested/compiled against every API level from the minSDK
to the targetSDK. But it is set to be compiled/tested against targetSDK by default.
Security
Memory management
Process management
Power management
Hardware drivers
Android History
2003 - Blackberry smartphone released
2005 - Google acquires startup Android Inc. to start the Android platform
2009 -
2010 -
No licensing fees