MOBILE APPLICATION
DEVELOPMENT
Lecture 3: Mobile App
Development Frameworks
Course Lecturer: Menard Phiri,
Dept of CSIT, MUST
LESSON OUTCOMES
An understanding of Mobile App Development
Frameworks
Kinds of Mobile Apps
Pros and Cons of Various Mobile Apps
2
MOBILE APP DEVELOPMENT FRAMEWORK
It is a software framework or kit used for
mobile app development.
It contains software libraries to support the
development of applications.
Examples of such frameworks include
Android Studio, React Native, and Ionic
3
KINDS OF MOBILE APPS
Mobile App Frameworks determine the kind of app to be developed
There are five kinds of mobile apps:
1. Web Apps
2. Progressive Web Apps
3. Hybrid Apps
4. Cross-Platform Apps
5. Native Apps
4
WEB BASED MOBILE APPS
A web app is a specific purpose web-based application.
They run on web browsers like websites.
They are specific purpose systems and are device responsive.
They do not require special development framework.
They are developed using any web development technology.
5
ADVANTAGES OF WEB APPS
They are quicker and easier to build and deploy.
They are easy to launch to the market.
They are easy to access since don’t need to be installed.
They run on multiple platforms regardless of OS or device.
They are easy to support as they have a common codebase.
6
DISADVANTAGES OF WEB APPS
They have restricted access of certain hardware features.
They often have web browser compatibility issues.
It is difficult track and profile their usage patterns.
They are expensive to consistently maintain and support similar
features across multiple browsers and device platforms.
7
PROGRESSIVE WEB APPS
A Progressive Web App (PWA) is a web app that take advantage of
emerging web browser features to bring a native experience to target
users.
It is like a web app that acts and feels like an app.
Unlike traditional web apps, PWAs are installable.
8
ADVANTAGES OF PROGRESSIVE WEB APPS
They have reduced cost of development.
They have negligible storage requirements on mobile devices as
they run from the hosting web server.
They do not require any installation since they are web-based apps.
They are indexable by search engines making SEO techniques easy
to implement just with websites.
9
DISADVANTAGES OF PROGRESSIVE WEB APPS
They support fewer features unlike native apps.
They do not get listed on app stores since they are web-based.
They have high battery consumption.
There is limited support for PWAs on Apple devices.
They have limited support for edge technologies e.g Bluetooth or
NFC.
10
HYBRID APPS
Hybrid mobile apps combine features of native and web apps.
Like a web app, a hybrid app is built using app development
frameworks that use cross-compatible web technologies.
In order to run on a mobile device, a hybrid app uses an embedded
browser called a web view which helps the app enhance access to
dynamic online content.
Examples of hybrid app development frameworks include Cordova,
PhoneGap, Titanium, and Appcelerator.
11
ADVANTAGES OF HYBRID APPS
They work across various mobile platforms using a single code
base.
They have consistent user interface (UI) across mobile platforms.
They are cost-effective and have fast development and
maintenance cycles.
They are able to access platform functionalities such GPS, camera,
push notifications and address book.
They are able to work offline.
12
DISADVANTAGES OF HYBRID APPS
They tend to be slower to load especially in performance-centric
apps.
They lack native user interface experience.
Sometimes hybrid app frameworks do not ship with plugins for new
device features which adds complexity to the development.
They rely only on the system’s web browser security making them
easy to exploit.
13
CROSS-PLATFORM APPS
Cross-platform app development is the process of developing apps
compatible with multiple mobile platforms using a singular.
The codebase connects to native components via the so-called bridges
provided by the cross-platform SDK.
The main goal of this approach is to streamline and optimize the process of
building an app.
Cross-platform development frameworks offer to:
– Bridge the gap between mobile platforms
– Reduce the amount of writing code twice so as to make app development
quicker.
14
DIFFERENCE BETWEEN CROSS-PLATFORM AND HYBRID
APPS
It is important to note that hybrid and cross-platform apps are not the same.
Perhaps, the only common feature between them is code shareability.
While hybrid apps tend to take advantage of HTML5 capabilities, cross-
platform development approach uses native rendering engines to provide a
close-to-native user experience.
15
ADVANTAGES OF CROSS-PLATFORM APPS
They are more cost and time effective than native app
development.
They provide for simultaneous launch of the app on iOS and
Android.
They simplify the process of updating and improving the app on all
platforms because of a common codebase.
They allow the app to have a consistent and unified user interface
on all platforms.
16
DISADVANTAGES OF CROSS-PLATFORM APPS
There are consistent performance glitches because of incompatibilities
between the non-native code and the device’s native components.
They fail to offer robust user experiences as they cannot fully take
advantage of native-only features.
Despite the code reusability feature, the process of developing a cross-
platform app is complex.
17
NATIVE APPS
A native app is a mobile app which has been developed to run on
specific platforms.
Each mobile app development environment has its own particular
programming languages, IDEs and software development tools
(SDK) that are ideal for the development of native apps.
Both Apple and Google provide app developers with their own
development tools and SDK.
The native programming language for iOS app development is Swift
or Objective-C while for Android app development is Kotlin or Java.
18
NATIVE APPS CONTI.
The officially supported Integrated Development Environment (IDE)
for iOS app development is Xcode while for Android app
development is Android Studio.
Native app development allows developers to leverage the complete
potential of a device and its operating system to offer dynamic app
experiences to users.
Native apps are inherently compatible only with the corresponding
platform since they are developed using a platform-specific
framework.
19
ADVANTAGES OF NATIVE APPS
They are faster since they are native to the platform they are
developed for.
They have a recognizable native look and feel as they are
essentially a nuanced version of the operating system’s default
apps.
They provide support for platform features out of the box since
native SDKs are able to access device features without working
through the complexity of plugins.
Developing for a single platform helps focus resources on testing
and creating the right experience for target users.
20
DISADVANTAGES OF NATIVE APPS
They tend to have a slow development process as they take more time to
develop mobile apps for each platform from scratch.
They are costly as more developers would be required to build and handle a
code base for each platform.
They involve multiple code bases since each device would be having its
version of the app.
21