Unit 15
Unit 15
Structure
15.0 Objectives
15.1 Introduction
15.2 What is an App?
15.2.1 Classification of Apps
15.2.2 Types of Apps
15.3 Steps for App Development
15.3.1 Defining Mobile App Objective
15.3.2 Preliminary Design
15.3.3 Market Research
15.3.4 Market Analysis
15.3.5 Collection of Users Feedback
15.3.6 Financial and Technical Feasibility
15.3.7 Testing of App Prototype
15.3.8 Launching the App
15.3.9 Official Release
15.4 Mobile Development Frameworks
15.4.1 Native Mobile App Development
15.4.2 Cross-Platform mobile App Development
15.5 App Store
15.6 Apps for Various Domains & Segments
15.7 Let Us Sum Up
15.8 Keywords
15.9 Answers to check your progress
15.10 Terminal Questions
15.0 OBJECTIVES
After studying this unit, you should be able to:
● understand what is an App and its various types;
● describe various steps for App development;
● know about various App development frameworks;
● know about various types of App store;
● know about different Apps for various domains and segments;
● Explain and plan a framework for a business App.
315
Online Portal and
Application 15.1 INTRODUCTION
In the present time, with the rapid technological disruption, mobile phones
have become an inevitable part of human life. Even though the primarily
function of mobile phones is telecommunication but with the technological
upfront they have made many things possible which were unimaginable
earlier. Now the things have changed with the advent of smart phones, each
person today owns his/her own mobile phone. Accessibility to smart phones
has made our life easier in many ways. The main advantage of mobile phones
are its portability, you can carry them in your pockets wherever you go.
Smart phones introduced a new face to service sector with the invention of
mobile apps. Mobile apps basically are applications designed to perform a
specific task at the user’s fingertip. The services that mobile apps and smart
phone provide are plenty.
Many apps are also available for mobile devices and even for TVs. We will
discuss about it in a more elaborative manner in coming heads of the unit,
some are useful for desktop and some are useful for Mobile.
316
15.2.1 Classification of Apps APP Based
Commerce
1. Native Apps: Native apps are developed for their particular platform,
taking full advantage of the software and the operating systems'
features. These apps can directly access the hardware of the device
such as the GPS, camera, microphone, etc. so they are faster in
execution, which ultimately results in better user experience. All apps
targeted toward a particular mobile platform are known as native
apps. Therefore, an app intended for Apple device does not run in
Android devices. As a result, most businesses develop apps for
multiple platforms. While developing native apps, professionals
incorporate best-in-class user interface modules. This accounts for
better performance, consistency and good user experience. Users also
benefit from wider access to application programming interfaces and
make limitless use of all apps from the particular device. Further, they
also switch over from one app to another effortlessly. The main
purpose for creating such apps is to ensure best performance for a
specific mobile operating system.
2. Hybrid Apps: The concept of the hybrid app is a mix of native and
web-based apps. Apps developed using Apache Cordova, Xamarin,
React Native, Sencha Touch and other similar technology fall into
this category. These are made to support web and native technologies
across multiple platforms. Moreover, these apps are easier and faster
to develop. It involves use of single code base which works in
multiple mobile operating systems. Despite such advantages, hybrid
apps exhibit lower performance. Often, apps fail to bear the same
look-and-feel in different mobile operating systems.
317
Online Portal and 3. Web-based Apps: Web-based applications are a particular type of
Application
software that allows users to interact with a remote server through a
web browser interface. It works on any browser whether it is chrome,
opera or Samsung internet browser and the users are not obliged to
download from the app store. These apps have seen a huge increase in
popularity in recent years, replacing desktop applications and
becoming a crucial instrument for small and large businesses around
the world. A web-based app is coded in HTML5, CSS or JavaScript.
Internet access is required for proper behavior and user-experience of
this group of apps. These apps may capture minimum memory space
in user devices compared to native and hybrid apps. Since all the
personal databases are saved on the Internet servers, users can fetch
their desired data from any device through the Internet.
318
APP Based
15.3 STEPS FOR APP DEVELOPMENT Commerce
319
Online Portal and Details on research should also be shared with distribution, product creation
Application
and IT managers including the Software development team. Feedback from
all departments concerned is necessary before the App development work
begins. But the key issue behind evaluating the marketplace is to obtain a
detailed understanding of why and how. How did you say that you would sell
one million apps? You can answer the question quite clearly if you have done
your market research. Wild assumptions find no place.
322
Advantages APP Based
Commerce
● As a company owner, you not only need to employ two sets of software
developers, but you can use your current web development team to
create a mobile app for your audience.
● It saves time and expense by using the Ionic production system.
● Ionic uses web technology, so working with them is easy.
Disadvantages
● In comparison to native apps, ionic apps are less effective.
● Ionic is not the best choice to create apps with high requirements for
graphics processing.
2. Xamarin: In 2016, Microsoft purchased and opened Xamarin from its
owners. Xamarin is a C#-based cross-platform architecture that takes a
particular approach for designing cross-platform applications. Unlike
hybrid frameworks, which use web technologies, it compiles the
individual platforms into native code. Various advantages and
disadvantages of Xamarin are discussed below:
Advantages
• Apps that are built using Xamarin have little or no difference as
compared to native app output.
• Xamarin helps to create rich UI experiences.
• Xamarin will only share about 90 percent of the codebase for all
platforms for you to build the user interface separately for each platform.
• A standard UI can be built across all Xamarin Forms platforms.
Disadvantages
● Xamarin implementations are typically very wide. A simple Android app
"Hello World" could take around 16mb.
● Xamarin developers do need some knowledge of their mother tongues.
For iOS and Kotlin/Java for Android, Swift/Objective-C.
● While Xamarin itself is free, IDE used for production can be very costly
for businesses.
● The incorporation of third-party libraries into Xamarin is often a
concern. Although Xamarin tools and libraries provide complete support
for native technologies, Xamarin may not be provided by a vendor.
3. React Native: React Native is a Facebook mobile platform for the
development of mobile applications. It is developed on JavaScript and
ReactJS. Contrary to hybrid applications, React Native also uses online
technology internally. The web views are not included. It uses actual
components of Android or iOS to create user interfaces. It has XML like
JSX (Javascript-XML) for the creation of the user interface. React Native
then calls for the platform-specific native rendering APIs, i.e. Rendering
the programme on the screen with Swift and Java. Various advantages
and disadvantages of React native are discussed below:
323
Online Portal and Advantages
Application
• Respond Native's creation of software saves time. It has a "Hot Reload"
feature which lets you view code changes on the phone right away.
• Like Ionic, a new group of developers is not needed to be employed.
With React Native, web developers can easily migrate to mobile
applications.
• Several ready-made components can be used for production.
• React native-built applications are fast and comparable in compiling
them to native code, with native app results.
Disadvantages
• The output is not like that of native apps, as with other cross platform
apps. No issue with easy applications. However, applications that require
advanced features would develop problems.
• Apps developed with React Native may have memory management
problems due to their Javascript history.
• Apart from the React Native team ready-made parts, third-party vendors
exist. But the components that they create most frequently appear to be
inferior. There are a lot of bugs and malfunctions sometimes.
4. Flutter: Flutter is a Google-developed mobile user interface to create a
beautiful and interactive interface that takes another approach to cross-
platform creation. Unlike hybrid apps that make use of web views, or
React Native apps that use native components, Flutter apps fully compile
to native code. This native ARM-code compilation means that there is no
layer between the system and the CPU that makes apps that are entirely
native to Flutter. Flutter can do this by using its own graphics engine
called Skia, a popular Google-owned 2D graphics engine. Flutter is
developed with a Dart programming language that is object oriented.
Various advantages and disadvantages of flutter are discussed below:
Advantages
● Flutter apps are very fast at about 60 fps (frames per second). There are
even measurements by some developers in Germany of 120 fps.
● As usual, a single codebase means time and money is saved.
● As with React Native above, Flutter also gives ability to see changes
made in code, the instance which is made on mobile hardware, emulator
or simulator. This also makes debugging the app much easier.
● Flutter is open source. So is Dart and its graphics engine- Skia.
Disadvantage
● Developers have to learn a new language as Flutter doesn’t make use of
any previously known language. Although Dart is fairly easy to pick up
and this isn’t really an issue.
● Games and apps that require a lot of device-specific functions are better
off not developed with flutter.
324
There are many items that rely on knowing the right structure to use. The best APP Based
Commerce
choice is to create a game or app that needs a significant number of device-
specific functions. However, if your mobile app is reasonably simple, cross-
platforming is the best choice because it saves time and money.
Comparison among all these four is given below:
Table 15.1: Comparative Analysis of Mobile Development Frameworks
Basis React Native Ionic Xamarin Flutter
Developers Facebook Drifty Microsoft Google
Language JavScript TypeScript C# Dart
Performance Close to native Moderate Moderate Amazing
controller
Code 90% 98% 98% 50-90%
resusability
Testing Mobile device Any browser Mobile device Mobile device
or emulator or emulator, or emulator
test cloud
GUI Uses native UI HTML, CSS Uses native UI Use Proprietary
controller controllers widgets and
deliver UI
Apps Airbnb, MarketWatch, Olo, Stroyo, KlasterMe,
Discord, Pacifica, Apx PostMuse
Instagram JustWatch Reflectly
1.Google Play Store: Google Play Store, in the past known as Android
Market, is a digital distribution service operated and developed by Google. It
provides as the official app store for certified devices running on the Android
operating system, allowing users to browse and download applications
developed with the Android software development kit (SDK) and published
through Google. Google Play also serves as a digital media store, offering
music, books, movies, and television programs.
The services integrated in Google Play are Google Play Books, Google Play
Games, and in earlier times included Google Play Music before being
discontinued in favor of YouTube Music and Google Podcasts in December
326
2020, Google Play Newsstand before it was phased out in November 2018, APP Based
Commerce
and Google Play Movies & TV before being renamed to Google TV in
September 2020.
Google states in its Developer Policy Center that "Google Play supports a
diversity of monetization strategies to benefit developers and users, including
paid distribution, in-app products, subscriptions, and ad-based models", and
requires developers to comply with the policies in order to "ensure the best
user experience". It requires that developers charging for apps and downloads
through Google Play must exercise Google Play's payment system. In-app
purchases unlocking additional app functionality must also use the Google
Play payment system, except in cases where the purchase "is exclusively for
physical products" or "is for digital content that may be added outside of the
app itself (e.g. songs that can be played on other music players)
3. Retail Shopping Apps: These days retail shoppers are not lacking
behind in competition. They have also started leveraging benefits of
new technology by developing their online apps. Nowadays a shop
doesn’t have to be big to start taking benefits from creating its mobile
app. The advantage of having a mobile application for even a small
328 business is that it increases brand recognition and brings the e-
commerce user experience to a whole new level, it helps to build APP Based
Commerce
customer loyalty, to collect feedback as well as simply stand out from
the crowd. For example, Max, FBB and Reliance Trends have made
their omni channel presence.
4. Restaurants and Food Delivery Apps: More and more people prefer
to check the place and its menu before actually going there.
Restaurant and food apps encourage clients’ interaction, develop
loyalty, and increase brand recognition.
In 2020, the top food app became Uber Eats with its sales system,
built-in navigation, and online payments. Another popular app in the
food sector turned out to be Domino’s Pizza app that helps you to
place your order using AI and track your pizza location on the map
and also allows pre orders and thus saves waiting time.
5. Mobile Wallets, Banking and Finance Apps: In coming years, the
number of financial apps users is going to reach in billions. On
average users check their bank account and make some transfers
using apps every day. Mobile wallets, and other popular online
payment trends in the last years, is a great option for those who do not
want to carry the plastic debit and credit cards but rather just take
their smart phone whenever they go out. Android users can install
Google Pay while people who prefer iOS can use Apple Pay. The
online payment apps provide great ease and convenience to the users.
Also have some add on benefits such as cash back, discounts etc.
which is found to be more lucrative.
6. Video Streaming Apps: Video Streaming are one of the most
popular apps especially in the adolescent segment. Gone are the days
when people used to wait for going to the theatre to watch any movie.
A huge upsurge was noticed in the times of COVID especially in the
entertainment industry. Most of the movies were launched on these
platforms giving viewers a wide access with no extra cost.
15.8 KEYWORDS
App: An app is short form of a term called "application," it is basically a type
of software that can be installed and run on a computer, tablet, Smartphone or
other electronic devices.
Flutter: Flutter is a Google-developed mobile user interface to create a
beautiful and interactive interface that takes another approach to cross-
platform creation. Unlike hybrid apps that make use of web views, or React
Native apps that use native components, Flutter apps fully compile to native
code.
Google Play Store: Google Play Store, in the past known as Android
Market, is a digital distribution service operated and developed by Google. It
provides as the official app store for certified devices running on the Android
operating system. 331
Online Portal and Hybrid Apps: The concept of the hybrid app is a mix of native and web-
Application
based apps. Apps developed using Apache Cordova, Xamarin, React Native,
Sencha Touch and other similar technology fall into this category.
Ionic cross-platform system: Ionic is an Angular and Apache-Cordova
cross-platform system. It helps you to build applications for more than one
mobile platform. An application will work for both iOS and Android on the
Ionic cross-platform system.
iOS App Store: The iOS App Store is a digital distribution platform,
developed and maintained by Apple Inc., for mobile apps on its iOS &
iPadOS operating systems. The store allows users to browse and download
apps developed with Apple's iOS Software Development Kit.
Native Apps: Native apps are developed for their particular platform, taking
full advantage of the software and the operating systems' features.
These apps can directly access the hardware of the device such as the GPS,
camera, microphone, etc.
React Native: React Native is a Facebook mobile platform for the
development of mobile applications. It is developed on JavaScript and
ReactJS. Contrary to hybrid applications, React Native also uses online
technology internally. The web views are not included.
Technical Feasibility: Technical feasibility means to check if App can be
developed by using the latest technology or not. It’s important to check if
organization is capable enough to use the latest technology or not.
Web-based Apps: Web-based applications are a particular type of software
that allows users to interact with a remote server through a web browser
interface.
333