0% found this document useful (0 votes)
92 views

Introduction of Mobile Applications

The document discusses different types of mobile applications including native, progressive web, and cross-platform apps. It provides examples and compares the advantages and disadvantages of each type. Native apps are developed specifically for a single platform, progressive web apps are accessible through a web browser, and cross-platform apps can be used across multiple devices using the same codebase.

Uploaded by

skull music
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
92 views

Introduction of Mobile Applications

The document discusses different types of mobile applications including native, progressive web, and cross-platform apps. It provides examples and compares the advantages and disadvantages of each type. Native apps are developed specifically for a single platform, progressive web apps are accessible through a web browser, and cross-platform apps can be used across multiple devices using the same codebase.

Uploaded by

skull music
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Introduction of Mobile Applications

Talking about the mobile applications, the first thing that comes to mind are the apps like
Whatsapp, Instagram, swiggy, etc that we use in our everyday life. Ever thought about how
these apps are made? Which technology is used? Let’s discuss what technologies or
frameworks can be used to develop a mobile application. Mobile apps are majorly developed
for 3 Operating System. :
1. Android
2. IOS
3. Windows
There are 3 different ways to develop Mobile apps: –
1. 1st Party Native App development
2. Progressive web Application
3. Cross-Platform Application
 1. 1st Party Native App development : –
These types of apps normally run in the native devices, that is, it runs only in the OS that it is
specifically designed for it. These apps cannot be used on different devices using a different
OS. The apps that are developed for android are normally coded using Java or Kotlin
languages. The IDE normally used for android app development is Android Studio which
provides all features and the apps that are developed for IOS are generally coded in Swift
language or Objective-C. The IDE suggested for IOS App Development is XCode.
A retail company wants to improve the in-store shopping experience for its customers. They
develop a 1st party native app that allows customers to:
 Browse the store’s inventory and product information
 Create a shopping list
 Scan barcodes to view product information and reviews
 Locate items in the store using an interactive map
 Pay for items directly through the app, without having to wait in line at the register
 The app is only available to the company’s customers and can only be used in their
physical stores. The app is designed to integrate with the company’s existing systems, such
as inventory management and point-of-sale systems.
This app is developed by the retail company for their own use, to improve the in-store
customer experience, increase sales and gain insights from the customer’s behavior.
In this example, the retail company is the 1st party, and the app is a native app, because it is
developed for the specific platform (iOS or Android) and can take full advantage of the
device’s capabilities and features.
Advantages of 1st Party Native App development:
1. The performances of these apps are very high these apps very fast compared to any other
apps.
2. We have easy access to all the features and APIs.
3. The community is widespread so all your doubts and errors can be discussed and solved
easily.
4. Updates are available on the same day.
Disadvantages of 1st Party Native App development:
1. The development speed is too slow as we have to code it again for different OS.
2. And this category doesn’t support open source.
2. Progressive web Application : –
Progressive web apps are essentially a website which runs locally on your device. The
technologies used are Microsoft Blazor, React, Angular JS, Native Script, Iconic. These
technologies normally used for web development propose. The apps’ UI is developed the same
way as they are developed while developing the website. This category has many ups and
downs let’s start with the advantages of Progressive web apps.
Example,
Here’s an example of a Progressive Web App:
A news website wants to provide its users with a better mobile experience. They develop a
Progressive Web App that:
 Allows users to access the website offline by storing content on the user’s device
 Sends push notifications to users to alert them of breaking news
 Can be installed on the user’s home screen like a native app
 Provides a fast and smooth browsing experience
 Has a responsive design that adapts to different screen sizes
 Users can access the PWA by visiting the website on their mobile browser. They are
prompted to install the PWA on their home screen, which allows them to access the website
offline and receive push notifications.
In this example, the news website is the 1st party and the app is a Progressive web app,
because it can be accessed through a web browser and can be installed on the user’s device like
a native app. It also allows users to access the content offline and have a fast and smooth
experience.
Advantages of Progressive web Application:
1. The main advantage of this process is that its development speed is fast the same code base
is used for IOS, Android, web applications.
2. The web development team can be repurposed to develop the mobile application.
3. No installation required.
Disadvantages of Progressive web Application:
1. The major disadvantage is that PWA don’t have access to all the feature and so the user
experience is not that good IOS does not support all the features of PWA
2. The UI for development is bespoke i.e. the buttons, edit texts need to be programmed
which was not necessary for the 1st party native Apps.
3. The community is not that wide spread.
4. No extra room for business model i.e. it is still a challenge to develop a revenue model or
advertising opportunities for PWAs. At the moment, there are fewer options than among
native apps to subscribe to.
3. Cross-Platform Application : –
These are frameworks that allow developing total native applications which have access to all
the native features of IOS and Android but with the same code base. These apps run on both
Android and IOS. So normally the development speeds of these apps are very fast and the
maintenance cost is low. The performance speed is comparatively low to 1st party native apps
but faster than PWA.
Xamarin is Microsoft cross-platform solution that uses the programming languages like .NET,
C#, F#. The IDE preferred is Visual Studio. The UI/UX is totally native giving access to all
features. This technology is having a wide community. And whenever an update is released by
Android and IOS the same updates are released by Microsoft through Visual Studio.
React Native is Facebook’s cross-platform solution which uses the language JavaScript And
the preferred IDE is WebStrome & Visual Studio Code. Same like Xamarin React Native has
totally native UI/UX and gives access to all features. And the updates are released the same
day by Facebook as Android and IOS.
Flutter is Google’s cross-platform solution which uses the language, Dart. The IDE preferred is
Android Studio, IntelliJ IDE, and Visual Studio Code. The UI/UX is bespoke and Flutters has
to come up with their new libraries whenever Android and IOS comes up with an update to
mimic those update. The community is fast growing.
Example,
Here’s an example of a cross-platform application:
A project management company wants to create a project management tool that can be used by
teams on different platforms. They develop a cross-platform application that:
 Can be used on Windows, Mac, iOS, and Android devices
 Allows users to create and assign tasks, set deadlines, and track progress
 Integrates with popular tools such as Google Calendar and Trello
 Has a user-friendly interface that works seamlessly across all platforms
 The application can be downloaded from the company’s website or from different app
stores such as App Store, Google Play Store, Microsoft Store, and Mac App Store,
depending on the platform.
This example illustrates how the company developed a project management tool that can be
used by teams on different platforms, Windows, Mac, iOS and Android, which is a cross-
platform application. It allows teams to collaborate and manage their projects seamlessly,
regardless of the platform they use.
Advantages of Cross-Platform Application:
1. The apps’ development speed is very high as they use the same code base for both Android
and IOS.
2. The apps’ maintenance cost is low as the errors and updates as to be countered only once.
Disadvantages of Cross-Platform Application:
1. Slow Code Performance With Limited Tool Availability.
2. Limited User Experience i.e. these apps does not have access to Native only features.
Advantages of Mobile Application over Websites
Despite different functionalities and services, they have their specific usability and preference
of use. The list will be long when we will start thinking about that when a mobile app makes
sense? Let’s get started with the introduction, pros, and cons of Mobile Application and
Website.
Mobile Application
The mobile application is an application software which runs on mobiles and provides
necessary services to the users. Mobile applications commonly referred to as a mobile app or
simply an only app. There are different types of mobile applications are there mainly Native
applications, Hybrid applications, and Web applications. Mobile applications mainly run on
smartphones and tablets rather the computer system.
Examples of some mobile applications are Whatsapp, Instagram, Uber, YouTube, etc.
Pros Of Mobile Application
1. Offline Access- Provides an opportunity for the user to use offline.
2. Extensive capabilities- Provides a lot of features and functionalities to the user.
3. Personalization- Provides personalization to users to set preferences, creating accounts,
etc.
4. Brand promotion opportunities- Provides an opportunity to promote a company brand in
various ways.
5. Convenience- More convenient to use in terms of user experience, loading content, the
usability of functions, etc.
6. User experience- UI elements give a better user experience.
7. Speed Performance- Provides a faster performance than the website.
8. Functionality- Provides greater functionality than the website.
Cons of Mobile App –
1. Support and Maintenance- Provides frequent updates and feature addition which is an
irritating task for users to update frequently.
2. Cost- Native mobile apps are costly as for different Mobile OS different apps need to be
developed.
3. Compatibility- Mobile apps need to maintain the requirements of a particular Operating
System to meet the compatibility for proper functioning.
4. Use of User’s resource- Mobile apps uses user’s resources in terms of money for buying
some application, also space of mobile for storage.
Websites
Websites are a collection of web pages that are linked with each other where the web pages
share the single domain name. Websites are published on any web server and this website is
publicly accessible. Websites can be accessed on any digital platforms supported with search
engines or web browsers for example a website can be accessed on a mobile, in a computer,
and in a tablet. Websites commonly referred to as simply Sites only. They are particularly
dedicated to any topic like these are developed for various purposes like social networking,
education, news, business/organization, entertainment, etc.
Examples of some websites are Netflix, Instagram, Amazon, YouTube, etc.
Pros of Website
1. Compatibility- Provides users to use the product regardless of the device and the operating
system that the device runs on.
2. Cost-effectiveness- It is cost-effectiveness in terms of development and usability also with
principles of interaction with users.
3. Broader Reach- Due to multi-device support it reaches a large user set.
4. Updates and maintenance- It costs less to upgrade. Users don’t have to worry about it.
The Cons of Mobile Website –
1. User Experience- It’s often impossible to fit everything onto one page and fails to provide
a good user experience.
2. No Offline Access- Requires good internet connectivity to operate fully.
Advantages Of Mobile Applications Over Websites
1. Mobile applications are faster- Mobile applications are a little faster than websites, that’s
why users always prefer to use application for any use rather than a website. As the
applications store their data locally so it gives a bit faster data accessibility experience to
the end-user.
2. Offline Access- Many applications works in offline mode means without connecting to the
internet they can provide the required services to the users whereas websites need an active
internet connection to load and access information. It is one of the important advantages of
mobile applications over websites.
3. Better Personalization- Mobile applications take end user’s preferences based on their
interests and the latter recommends customized content based on preferences whereas
websites can’t provide personalized information like a mobile application. This is one
important advantage that makes mobile applications more user-friendly.
4. Use of Mobile Device Features- Mobile applications use device features like Camera,
phone call, GPS, Contact list, etc. Such device features make the mobile application more
interactive and user-friendly. These features solve any actions/tasks efficiently in a reduced
time.
5. Easy access to information- To access any website user needs to have internet
connectivity as well as he/she has to use a web browser to access any information from that
site but it is quite easy to access any information from the mobile app as it does not require
an active internet connection(except some application) and opening of any browser. Also
accessing any websites requires remembering its URL whereas it’s not required in case of
using a mobile application.
6. Brand & Design Benefits- With the increase in smartphone users, love for using mobile
applications is also increasing. Everyday users visit most of the applications they have in
their smartphones. Also, if they don’t open any application still the app reminds them about
the branding of specific companies or organizations through their icons on the application.
So the icon helps in a mini advertisement for the brand near the customers.
7. Push Notifications and instant updates- Enterprises and businesses find it helpful to send
instant and non-intrusive notifications to app users which makes it easier to promote
products and services to users through mobile applications. When a user opens the app
he/she starts to receive the notifications also without opening push notifications are
received.
8. Productivity Improvement and Cost reduction- Mobile application takes less cost for
development and maintenance whereas the development and maintenance cost is a bit
higher in the case of websites. Also, mobile apps help to reach a customer with little effort
and little marketing cost and in a very short time.
9. Increased Security- Mobile apps integrate with the device’s existing security features to
provide better security to the users. Within mobile devices, safe access, modification, and
sharing of data with a high level of security can be done.
The Mobile Application Development Lifecycle

There are two interlinked core components of a mobile application: 1) the mobile application
“Front-End” that resides on the mobile device, and 2) the services “Back-End” that supports the
mobile front-end.

Front-end vs. Back-end

In the early days of the modern smartphone applications era, mobile applications went through a
similar evolution as first websites. At first, the applications and sites where wholly contained
within themselves and acted as little more than static advertisements for the brand, company,
product, or service.

However, as connectivity and network capabilities improved, the applications became


increasingly connected to sources of data and information that lived outside of the app itself, and
the apps became increasingly dynamic as they were able to update their UI and content with data
received over the network from queries to data sources.

As a result, the mobile front-end applications increasingly rely on and integrated with back-end
services which provide data to be consumed through the mobile front-end. Such data can include,
for example, product information for e-commerce apps or flight info for travel and reservation
apps. For a mobile game, the data may include new levels or challenges and scores or avatars
from other players.

How Front-end 'Talks' to the Back-end?

The mobile front-end obtains the data from the back-end via a variety of service calls such as
APIs. In some cases, these APIs may be owned and operated by the same entity developing the
mobile application. In other cases, the API may be controlled by a third party and access is
granted to the mobile application via a commercial arrangement.

For example, a developer may obtain social media or advertising content by making calls to
media or advertising company services. In this case, a developer may have to sign a contract in
order to obtain credentials and a key that grants access to the API and governs how that
developer can use it, how much it will cost, or how frequently it may be called, or how much
data can be requested over what time period.

Why Developers Use a Cloud-backend?

For most of the applications, mobile developers are responsible for creating and managing the
back-end services for their application. The mobile developer may not be an expert or even
particularly skilled in spinning up and running a back-end infrastructure.

In such a case, developers may prefer to take advantage of a cloud services provider -- a
backend-as-a-service provider -- that handles all of the drudge work and heavy lifting of
managing back-end capabilities, so the developers can focus purely on the features and
functionality they are building in their app, without having to worry about scalability, security,
and reliability.

The Mobile Application Front-End

The mobile front-end is the visual and interactive part of the application the user experiences. It
usually resides on the device, or there is at least an icon representing the app that is visible on the
home screen or is pinned in the application catalog of the device. The application can be
downloaded from the platform app store, side-loaded directly onto the device, or can be reached
through the device’s browser, as in the case for PWAs.

What a Front-end Development Workflow Looks Like?

When a developer says they are a mobile application programmer, they are most often referring
to this front-end part of the application, and they are skilled in the languages and technologies
that are used to create this front-end application.

Depending on the size of the team producing the app, there may be many different people
involved in the design and development of the front-end mobile app. The team size can range
from a single developer who does everything associated with building the app, to tens, hundreds,
and more people with specialized skills.

For example, there may be dedicated creative/graphics designers who are responsible for
creating visual elements of applications like icons, backgrounds, colors, themes and other parts
of the app. The team may also have user experience and user interface designs who work on the
layout of the components, how they interact with each other and the user. In the case of certain
types of games, a team may include motion graphics developers and even engineers who develop
engines that govern the physics of how components move in the app, like a car in a racing game.

How Mobile Aps Integrate with the Backend?


Regardless of the size of the team, a critical element of the development effort is building the app
logic that is responsible for making network calls to the back-end services, retrieve data and
update the data in the back-end systems with new information generated from the app.

These back-end services are typically accessed through a variety of application programming
interfaces, most commonly known as APIs. There are different types of APIs, such as REST and
GraphQL, and there are also a wide variety of means and styles of accessing them. While some
back-end service APIs are available directly to the application through calls in the platform itself,
many of the specialized services have to be integrated into the app via a software development
kit, commonly known as an SDK. Once the SDK has been added to the app via the development
environment, then the application can make use of the APIs defined in the SDK.

How to Interact with the Backend Data?

An example of a back-end service for a mobile front-end could be a database that contains
information used in the app. To access the database directly, the mobile developer would have to
know the network location of the database, the protocol for accessing the database, the
credentials for authenticating and authorizing the data access, and the specific database
commands needed to extract the needed data.

Alternatively, the developer can utilize a specialized API when interacting with the database; the
developer may only have to know the parameters needed in a method call to get or updated the
needed information. In some cases, the mobile developer may develop these APIs themselves or
use the API definition provided to them by the owner/operator of the back-end resource.

Typically, a REST API is used to interact with data sources on the cloud, such as a cloud
database. A GraphQL API is also another option for developers, as it makes easy to work with
backend data in a mobile application. GraphQL provides querying support through a single API
endpoint, and a data schema that can be used to build and easily extend data models that are used
in the app.

The Mobile Application Back-End

Regardless of what front-end platform or development methodology is being used, delivering


high-quality mobile applications that delight and retain users requires reliable back-end services.

Given the critical importance of back-end services for the success of the mobile application, the
developers have several important architectural decisions that they must consider. These
decisions include which services should they build themselves and which third party services
should they leverage, and then should they run and maintain their own services or should they
take advantage of 3rd party services.

The answer is increasingly clear; to improve developer productivity and efficiency, mobile app
programmers should only build their own services if they are highly specific to the domain of the
application and embody unique intellectual property. Also, even for the services they build
themselves, they should almost always leverage cloud-based services to build and maintain their
backend infrastructure.
Key Mobile Application Services

There are hundreds of cloud and 3rd party services that mobile application developers can
leverage to speed up the development and delivery of their applications. However, it’s unlikely
that a developer is going to be able to become an expert in each of these individual services.

Instead, the mobile developers should look for a development environment that makes it easier
for them to integrate, use, and consume the most commonly required capabilities into their
application quickly and easily, while still preserving the freedom to take advantage of the many
individual services available.

Essential

 User Sign-up/Sign-in and Management


 Social login (Facebook sign-in, Twitter sign-in, etc.)
 Analytics and User Engagement
 Push Notifications
 Real Device Testing

Data Services

 Cloud Storage
 Real-time and Offline Data
 Application Logic/Cloud Functions

Machine Learning

 Conversational Bots
 Image and Video Recognition
 Speech Recognition

References:-
https://www.stcidlsig.org/effective-use-of-screen-real-estate-in-e-learning/
https://aws.amazon.com/mobile/mobile-application-development/
https://www.geeksforgeeks.org/introduction-of-mobile-applications/
https://www.geeksforgeeks.org/advantages-of-mobile-application-over-websites/

You might also like