Unit 1-MAD
Unit 1-MAD
UNIT 1
Introduction
What is mobile application development?
Mobile application development is the process to making software for smartphones and digital assistants,
most commonly for Android and iOS. The software can be preinstalled on the device, downloaded from a
mobile app store or accessed through a mobile web browser. The programming and markup languages
used for this kind of software development include Java, Swift, C# and HTML5.
Mobile Computing tutorial provides basic and advanced concepts of mobile computing. In this tutorial,
you will get an overview of Mobile Computing, its continuous evolution, and the future trends of this
technology. Our Mobile Computing tutorial is designed for beginners and professionals.
Mobile Computing refers a technology that allows transmission of data, voice and video via a computer
or any other wireless enabled device. It is free from having a connection with a fixed physical link. It
facilitates the users to move from one physical location to another during communication.
Our Mobile communication tutorial includes all topics of mobile computing like its brief overview and
history, evolution, classification, advantages and disadvantages, security issues, future trends etc.
Mobile Computing is an umbrella term used to describe technologies that enable people to access network
services anyplace, anytime, and anywhere.
Fixed and wired: This configuration describes the typical desktop computer in an office. Neither weight
nor power consumption of the devices allow for mobile usage. The devices use fixed networks for
performance reasons.
Mobile and wired: Many of today’s laptops fall into this category; users carry the laptop from one hotel
to the next, reconnecting to the company’s network via the telephone network and a modem.
Fixed and wireless: This mode is used for installing networks, e.g., in historical buildings to avoid
damage by installing wires, or at trade shows to ensure fast network setup.
Mobile and wireless: This is the most interesting case. No cable restricts the user, who can roam between
different wireless networks. Most technologies discussed in this book deal with this type of device and the
networks supporting them. Today’s most successful example for this category is GSM with more than
800 million users.
Rasure B. B Page 1
Mobile Application Development
Mobile Computing is a technology that provides an environment that enables users to transmit data from
one device to another device without the use of any physical link or cables.
In other words, you can say that mobile computing allows transmission of data, voice and video via a
computer or any other wireless-enabled device without being connected to a fixed physical link. In this
technology, data transmission is done wirelessly with the help of wireless devices such as mobiles,
laptops etc.
This is only because of Mobile Computing technology that you can access and transmit data from any
remote locations without being present there physically. Mobile computing technology provides a vast
coverage diameter for communication. It is one of the fastest and most reliable sectors of the computing
technology field.
o Mobile Communication
o Mobile Hardware
o Mobile Software
Mobile Communication
Mobile Communication specifies a framework that is responsible for the working of mobile computing
technology. In this case, mobile communication refers to an infrastructure that ensures seamless and
reliable communication among wireless devices. This framework ensures the consistency and reliability
of communication between wireless devices. The mobile communication framework consists of
communication devices such as protocols, services, bandwidth, and portals necessary to facilitate and
support the stated services. These devices are responsible for delivering a smooth communication process.
Fixed and Wired: In Fixed and Wired configuration, the devices are fixed at a position, and they are
connected through a physical link to communicate with other devices.
Fixed and Wireless: In Fixed and Wireless configuration, the devices are fixed at a position, and they are
connected through a wireless link to make communication with other devices.
Rasure B. B Page 2
Mobile Application Development
Mobile and Wired: In Mobile and Wired configuration, some devices are wired, and some are mobile.
They altogether make communication with other devices.
Mobile and Wireless: In Mobile and Wireless configuration, the devices can communicate with each
other irrespective of their position. They can also connect to any network without the use of any wired
device.
Mobile Hardware
Mobile hardware consists of mobile devices or device components that can be used to receive or access
the service of mobility. Examples of mobile hardware can be smartphones, laptops, portable PCs, tablet
PCs, Personal Digital Assistants, etc.
These devices are inbuilt with a receptor medium that can send and receive signals. These devices are
capable of operating in full-duplex. It means they can send and receive signals at the same time. They
don't have to wait until one device has finished communicating for the other device to initiate
communications.
Mobile Software
Mobile software is a program that runs on mobile hardware. This is designed to deal capably with the
characteristics and requirements of mobile applications. This is the operating system for the appliance of
mobile devices. In other words, you can say it the heart of the mobile systems. This is an essential
component that operates the mobile device.
Rasure B. B Page 3
Mobile Application Development
In many fields of work, the ability to keep on the move is vital in order to utilise time efficiently. The
importance of Mobile Computers has been highlighted in many fields of which a few are described
below: a. Vehicles: Music, news, road conditions, weather reports, and other broadcast information are
received via digital audio broadcasting (DAB) with 1.5 Mbit/s. For personal communication, a universal
mobile telecommunications system (UMTS) phone might be available offering voice and data
connectivity with 384 kbit/s. The current position of the car is determined via the global positioning
system (GPS). Cars driving in the same area build a local ad-hoc network for the fast exchange of
information in emergency situations or to help each other keep a safe distance. In case of an accident, not
only will the airbag be triggered, but the police and ambulance service will be
Android has “paid its dues,” so to speak, in the smartphone market for the past decade. The
success of Android and iPhone devices has rendered the one-time business mobile device
market leader BlackBerry to be the subject of a Bruce Springsteen song: Glory Days.
Interestingly, Android’s unprecedented success has helped push BlackBerry into a diverse set
of offerings, including shipping devices running the Android platform.
Android has effectively become the world’s most popular operating system by a number of
measures. Despite the robust popularity of the flashy and capable Apple iPhone platform,
Android shipments worldwide meaningfully outpace Apple’s offerings. While Apple’s devices
continue to demand an ever-increasing price point, Android devices scale the global
marketplace. Yes, there are super-pricy Android models sitting next to the latest iPhone, but
there are also relatively low-cost Android phones and tablets available for sale at Walmart and
on Amazon.
As Android has matured, it is finding its way into a variety of devices, including televisions,
projectors, automobiles, and even recreational vehicles. Want to dim the lights in your camper
or activate the awning? You can use the Android-based touchscreen interface to manipulate the
controls. Or, use your smartphone equipped with Bluetooth to communicate with the RV’s
Android-based control system. There are many of these types of interfaces finding their way to
the market. Some user experiences are simply fantastic (like drone controllers), and some are
less than fantastic, like the controls in my uncle’s RV. This article introduces the Android
platform and discusses how you can use it for both mobile and non-mobile applications. The
ambition is to get you on a path to making awesome apps for whatever platform arena you feel
called to make your contribution.
Rasure B. B Page 4
Mobile Application Development
If you have a great idea to develop a world class mobile application for your business, the first
thing you need to understand is the market, customer demand and trends. Even before giving a
technological touch to your business app, you need to do market research. A market analysis
report can give you very useful insights. You can understand the popularity of similar apps
available in the market and your competitor strategies. This will allow you to optimize your app
from the very beginning. Apogaeis believes in “Learning from others mistakes than Learning
after making mistakes.”
Customer reviews can provide you a glimpse of customer likes and dislikes, choice and
preference and future demands. You can take a note of the pain areas and try to resolve those in
your mobile app. Research can give you an opportunity to plan better and allow you to prepare a
robust application from the very beginning.
Identify Target Audience
This comes under research stage and extremely important. Identifying the right set of audience
for your application is very important. The entire application future depends on these target set of
users, as they play a very significant role is application development, as well as app feature
expansion and growth. Questions like who are going to use my application and how it can add
value to their lives, should be asked before starting development. If you meet the expectation of
your users, definitely your app is going to get popular and it will help you to generate more
revenue.
Right Platform Selection
One of the most important question you need to ask yourself is, in which platform you want to
deploy your business app. It is advisable to start with one platform. Be a master of a single
platform, later you can move on other platforms. iOS, Android and Windows are the most
popular mobile app platforms.
In order to decide the best-suited platform for your mobile application, you need to keep certain
things in your mind like app brand, target audience, app features and most importantly pricing
strategy. After that, you need to choose development methodology for your business app; Native,
Mobile Web or Hybrid. Native applications have many advantages, but it may be slightly
expensive.
Set Plan of Action
Before starting to build your business mobile application, make sure you understand the entire
process. A robust business app takes a decent amount of time and effort. It also passes through
various stages. The business owner should understand the importance of all the stages, before
going ahead. Project Management, App Design, App Architecture, App Development
Methodology, App Testing, Enhancement and finally App Deployment- These are the basic
stages of any mobile application. Set a plan of action for your app development process.
Rasure B. B Page 5
Mobile Application Development
Monitoring and controlling are very much essential. Release a beta version of your app first, and
do rigorous testing and review before releasing the full version to the end users.
Know your Budget
Developing a business mobile app requires investment along with knowledge and strategy.
Knowing your budget and allocating it properly among each stage of app development is
essential. There are various aspects of an app which requires money to be invested in; app
development, maintenance, updating, marketing etc. Basically you app budget depends on your
niche. The type of app you want to create and the type of content you wish to add in your app.
Think Out of the Box
Always keep one thing in mind. People want something different. Why they choose one brand
ahead of another similar brand? It is only because they feel the chosen brand has something
unique to offer. Mobile applications are the best way to engage your customers and probably the
easiest way to convert a lead into a potential buyer. Human beings have a tendency to get bored
of one thing very quickly. As there are millions of smartphone applications available in the
market, app users want to be served with something new. Hence, it is recommended to think out
of the box strategies or features and don’t let your users choose someone else.
User Experience
User Experience is the backbone of any application. If you failed to provide your users excellent
experience, then there is no reason for them to come back to you and use your app. User
experience is an increasingly crucial feature when it comes to the digital landscape. An app
defines how a user feels and think about your business and services. It is about making
something valuable, easy to use and effective for your target audience. Don’t make your app
confusing or complicated.
Focus on Marketing Strategy
There is no meaning of building an app for your business if you are not focusing on, how to
market it and make it available to potential users. Creating a buzz, before the launch can promote
your app in such a way that your app can get a lot of reach from the word go. Most of the
business owners fail in executing their marketing strategies for their mobile application.
Different Mobile Applications have different targeted users. Similarly, you have to analyse your
industry and your potential user base. After analysing that only, you can make strategies on how
to promote it. Online campaigns are one of the preferable options for many business owners. But
your marketing strategy depends largely on your industry, offerings, and your potential users.
Testing
It is important to test your mobile application before you launch. Before users getting an
experience, you should make sure it can fulfil their requirements. Smooth, efficient, high
performance are few of the things you should keep in mind while testing. Testing will allow you
to dust out all the nooks and crannies and make your app a strong business tool which can
connect your business with your customers.
Rasure B. B Page 6
Mobile Application Development
Now a days, everyone has become attached to their smartphones. The most appealing part of a
smartphone is the array of apps that it comes with. Designing and creating the next revolutionary
app has become a successful career choice in recent years. Although coming up with an idea for
a great app might be easy, developing and building the software behind an app is tricky. Mobile
engineers are the ones to develop and build software applications for smartphones and other
mobile devices, with some specializing in Android applications, iOS apps, or Windows Mobile
apps.
Beyond developing mobile apps, mobile engineers are also the ones responsible for
troubleshooting problems and ensuring the app performs stakeholders’ likings and specifications.
They also make several versions of the same app to be adaptable to multiple devices and creating
the upgrades for the app as technologies advance over time.
Swiftic is one of the best mobile app development frameworks available in the iOS platform. It is featured with
an easily navigable interface. Using Swiftic is a convenient option as you get 30 days money-back guarantee
option for all its plans. Besides, it has another 6-months of success guarantee scheme. If you don’t get any
result from it, 6-month service is free.
2. Native Scripts
Native Scripts is an open-source framework to create native mobile applications empowered with Angular,
Typescript, JavaScript, CSS, and Vue.js.
Rasure B. B Page 7
Mobile Application Development
Native Script is a preferable framework to reduce the code and time of the app loads on the system.
Many leading companies love using Native Scripts for its strong web empowerment platform.
3. React Native
React Native is the best JavaScript library to build native applications for all devices and platforms. With
React Native, you can develop rich applications for both iOS and Android. It also allows creating platform-
specific versions of various components allowing easy using of single codebase across various multiple
platforms. This community-driven JS library was introduced by Facebook in 2018.
Low-code
Compatible third-party plugins
Declarative API for predictive UI
Supports iOS and Android
4. Xamarin
Xamarin is one of the top mobile app development frameworks and it is .Net based. This native platform is
introduced by Microsoft. Being a cross-platform and open source app building platform, Xamarin offers a
development ecosystem with backend, API, components, etc. It is a .Net developer platform supported by
various tools, libraries, and programming languages. With Xamarin developers, you can build native
applications with the support of an active community for Android, tvOS, watchOS, iOS, macOS, and
Windows.
5. Ionic
Ionic helps you to build interactive hybrid and Progressive Web Applications along with cross-platform
applications. This open source framework offers premium services for creating applications. Ionic covers
building applications for the web, Android, and iOS. Besides, while working in Ionic, you can constantly
Rasure B. B Page 8
Mobile Application Development
create applications and ship them to the deployable locations. Ionic Studio is the lightning version of Ionic and
it is quite powerful. You can install it locally to have an easy visual development environment.
With its out of box features, ionic is always seen as ideal platform over the other mobile app development
frameworks.
Intuitive UI components
Faster development time
Powerful & stable development platform
Evergreen community of 5 Million developers
Complete control over app building
6. Sencha Ext JS
Earlier known as Sencha, it was merged with Ext JS and now the new face is Sencha Ext JS. You can use this
JavaScript framework for building data-intensive applications for the web as well as mobiles. It is also a cross-
platform mobile development framework. Ext JS itself has more than 115 pre-integrated and high-performing
UI components. Some of the components are HTML5 calendar, pivot grid, grids, trees, D3 adapter, lists,
menus, forms, toolbars, windows,panels, etc. And Sencha has around hundreds of user extensions.
7. Onsen UI
Onsen UI is recognized as the most powerful tool when it comes to crafting complex mobile applications. It
builds brilliant HTML apps with JavaScript, HTML, CSS. It also supports the libraries like Angular JS1,
Angular 2+, React, and Vue. One thing that is applaud worthy of this platform is its competency to the app's
appearance depending on the platforms. For instance, if we wish to have a native look for iOS and Android, it
utilizes the automatic styling on the UI components. Its rich set of UI components includes tabs, stack
navigation, lists, forms, etc.
8. Flutter
Flutter is a UI toolkit by Google help in building native applications for the web, mobile, and desktop. This UI
toolkit is featured with fully customized widgets, which support to create native applications in a short period.
Besides, the Flutter’s layered architecture ensures a faster rendering of components. Some of the striking
Flutter features are:
Rasure B. B Page 9
Mobile Application Development
9. Corona
Note: Corona is now also referred as Solar2D
Corona is a cross-platform & open-source development framework, which is suitable for building games and
applications. It is also known as the 2D game engine. With Corona, you can make application for both mobile
and desktop. This platform supports iPhone, iPad, tablets, Amazon Fire, Android phones, Mac Desktop,
Windows Desktop, etc. Besides, you can build compatible applications for Fire TV, Apple TV, and Android
TV.
Generic UI development
According to the wide spread of Mobile platform, such as iPhone(Apple), Android(Google), Windows
Mobile(Microsoft), Bada(Samsung Electronics) and etc, the user has a preference for the user interface
of Mobile Web such as navigational menu, vender dependent user interface. For example, because
iPhone users hope to use Web application and to browse web site with iPhone style user interface, so,
application developer have to investigate iPhone optimized user interface.
Already, some solutions which are support framework consisting of a JavaScript library, CSS, and images
for developing mobile Web applications for specific devices are announced. But this solution for the user
interface supports specific Web browser, and cannot support universal access from various kinds of Web
browsers.
So, users (or application developers) should develop the interface with different manner for the Web
browsers. In terms of interoperability of the user interface for the Web application, such a vender
specific solutions for the user interface make the fragmentation of it. In addition, if Web application can
use in other device such as TV, eBook device, and etc, the number of considerations for the user
interface will be increased rapidly.
To avoid the problem of user interface fragmentation, it is required to develop the common model for
the user interface like figure 1 for the various kinds of device, and it will be support the unified manner
for the generic description of user interface in terms of standardization. And then, the solution provider
Rasure B. B Page 10
Mobile Application Development
can make vender specific user interface based on the generic description of user interface.
Figure 2. Generic Description of User Interface converted to Web Standard formats Figure 2 shows that
generic description of user interface can be converted to Web standard formats such as HTML, CSS,
JavaScript, and etc. Without the generic description of user interface, it is expected that the proprietary
solution way to support vender specific user interface will be spread.
Then, there is no standard way to describe the generic description of user interface, in a view point of
ETRI’s position, generic description of user interface (e.g. Model-Based User Interfaces) for the various
kinds of device that can be used in Web environments, is essential for the universal access, and it is
required to make it as W3C standardization activities.
Rasure B. B Page 11
Mobile Application Development
Note that you don't need to run B4A Sdk Manager, unless you want to use the Android emulator, which is
less recommended.
These are two large zip files. It is recommended to use a tool such as 7-Zip to unzip them. We see many
cases where Windows built-in zip tool fails to extract the files properly.
Rasure B. B Page 12
Mobile Application Development
3. B4A
Download B4A Full Version
Open B4A.
Choose Tools > Configure Paths.
Set the path to "javac.exe" if it is empty (C:\java\jdk-11.0.1\bin\javac.exe or C:\Program
Files\Java\jdk1.8.0_211\bin\javac.exe).
Set the path to "android.jar" (C:\Android\platforms\android-30\android.jar).
Start developing with B4A-Bridge or USB debug mode.
If you want to use the emulator or install more components then start B4A Sdk Manager and set the path
to:
C:\Android\tools\bin\sdkmanager.bat.
Read and accept the licenses when asked for.
4. B4A-Bridge (recommended)
B4A-Bridge allows the IDE to connect to the device over the wireless network. This is an alternative to
USB debug mode (which is also supported).
Download B4A-Bridge from Google Play. You can search for B4A Bridge or press on the above button.
You can also download the apk file directly.
B4A-Bridge is also available on HUAWEI AppGallery.
Make sure that installation of apps from unknown sources is enabled. This can be set under Settings -
Security or Settings - Applications.
Run B4A-Bridge on the device. See this tutorial for more information.
Connect the IDE to the device: Tools - B4A Bridge - Connect
You are ready to run your first Android program!
***************************END**************************
Rasure B. B Page 13