MOBILE APPLICATION
DEVELOPMENT
Lesson 1
What is mobile application?
- A wireless mobile application is a software application, a wireless service or a
mobile service that can be either pushed to users’ handheld wireless devices or
downloaded and installed, over the air, on these devices.
- An application which resides in the mobile phone or which is accessed/used by a
mobile phone over any channel such as SMS, MMS, GPRS, Voice, DTMF.
Types of mobile applications
Browser based applications
A Browser-Based application is an application that is accessed through the use of the mobile
device’s web browser
Browser-Based applications are coded with the use of a markup language
Typically, these are web apps with responsive design so that they display well on smaller
devices as well. Business logic is on the server and only a single codebase needs to be
maintained. There's no need to install anything from app stores.
Progressive Web Apps (PWA) deliver mobile app-like experience via a web
browser.
Native mobile application
Native applications are those applications that are found entirely on the
mobile device
App is developed for a specific platform using the platform's native APIs.
It's therefore performant and has full access to device capabilities. The
platform's ecosystem, such as an app store, helps in distributing the app.
Code cannot be reused for other platforms.
Examples are iOS (Swift or Objective-C), Android (Kotlin or Java), Windows
Phone (C# .NET).
Hybrid Mobile Application
App is developed using web technologies but is wrapped inside a native app. Code
can be reused across platforms. App can also access native APIs.
The term "hybrid" implies that the app uses a mix of web technologies and native
APIs. HTML5, CSS and JS are used so that same code can be reused across
platforms.
Examples are Ionic, Sencha Touch.
Mobile applications
Alternatives for Building Mobile Apps
There are four major development approaches when building mobile applications
Native Mobile Applications
Cross-Platform Native Mobile Applications
Hybrid Mobile Applications
Progressive Web Applications
Native Applications
Native mobile applications are written in the programming language and
frameworks provided by the platform owner and running directly on the operating
system of the device such as iOS and Android.
Pros
Best runtime performance
Direct access to device APIs
Cons
Higher costs when building and maintaining your app
Cross-Platform Applications
Cross-platform native mobile applications can be written in variety of different
programming languages and frameworks, but they are compiled into a native
application running directly on the operating system of the device.
Pros
Easy to build and maintain your app
Cons
Performance limitations due to bridging
Hybrid-Web Applications
Hybrid mobile applications are built with standard web technologies - such as
JavaScript, CSS, and HTML5 - and they are bundled as app installation packages.
Pros
Using web development skillset for building mobile apps
Cons
Lower performance compared to native apps
Progressive Web Applications
PWAs offer an alternative approach to traditional mobile app development by
skipping app store delivery and app installations.
PWAs are web applications that utilize a set of browser capabilities - such as
working offline, running a background process, and adding a link to the device
home screen - to provide an 'app like' user experience.
Pros
No installation required, accessible through a URL
Cons
Limited support for native device features
Why Develop Mobile Applications?
Provide mobile phone users with applications that can keep them productive,
informed, entertained, or connected whenever they feel the need
Large potential for financial gain in the field of mobile applications
Solve problems which have many challenges and obstacles
Mobile Applications in Use
Mobile Applications can be found in any industry, they have been developed for:
- Mobile Gaming
- Mobile Banking
- Mobile Text, Presentation, and Spreadsheet
- Social Networking
- Mobile News
- Location Aware Services
Quiz
Compare Native and Hybrid Applications