Chapter 6 Part 2 Application Development for Mobile Devices
Chapter 6 Part 2 Application Development for Mobile Devices
Mobile Application
Development
1
Outline
• Mobile Application Architecture
• Intro to the Mobile Web
• W3C Standards, Device Recognition
• Mobile Web Design Tools
• Introduction to Mobile Python
• Introduction to Java and MIDP2.0
5.6
• Application Development and Deployment
2
What is mobile Web?
• As of 2024, there are approximately
8.31 billion mobile users globally,
and 57 % of the world’s population
uses internet on their own device
• With the rise of mobile devices, it
has become increasingly important
to have websites and applications
optimized for mobile use
• Mobile web refers to browsing the
internet using a web browser on a
mobile device, such as a smartphone
or tablet.
3
What is mobile Web?
• This can include accessing
websites, searching for
information, and using web-based
applications
• The main difference between mobile
web and mobile web apps is that
mobile web refers to accessing
websites through a web browser,
while mobile web apps are web-based
applications that provides an
interactive features similar to a
native app
4
What is mobile Web?
Here are some examples:
Mobile web:
• Using a web browser such as Google
Chrome, Safari, or Firefox on your
smartphone to search for
information on Google
• Checking your email using the web-
based version of Gmail
• Visiting a news website, such as
CNN or BBC, to read the latest
headlines
• Using the Twitter mobile web app
to browse tweets and post updates
5
What is mobile Web?
Here are some examples:
Mobile web apps:
• Using the Google Maps web app to get
directions and search for nearby
locations
• Accessing the Spotify web app to
stream music on your mobile device
• Both mobile web and mobile web apps
offer a way to access the internet and
web-based content on mobile devices.
However, mobile web apps provide a
more app-like experience, while mobile
web is more focused on browsing
websites 6
Mobile Web vs. Web App vs.
Mobile App
Category Mobile Web App Mobile App
Web
Platform Accessible Accessed through a Installed on
via web web browser, but a mobile
browser on designed to work device and
a mobile like an app accessed
devices through an
app icon
Developmen Designed to Designed to work Developed
t be like an app, with specifically
responsive additional for the
to mobile features such as mobile
devices offline platform
functionality and
push notifications
User May require Offers an app-like Provides a 7
experience more experience, but it smooth and
Mobile Web vs. Web App vs. Mobile App
Category Mobile Web Web App Mobile App
10
What is Mobile Web Design?
• It refers to designing and creating
websites optimized for viewing and
interacting with mobile devices like
smartphones and tablets.
• Mobile web design considers the smaller
screen size, touch-based interactions of
mobile devices, varying screen
resolutions, and internet connectivity
speeds
• Here are different elements considered
in mobile-first web design:
• Responsive design: A mobile website must be
designed using multiple responsive design
techniques to ensure that it can adapt to
different screen sizes and orientations 11
What is Mobile Web Design?
• Simplified navigation: Mobile users must
find what they want on a website. Mobile
web design should simplify navigation and
minimize the clicks required to access
the content
• Optimized content: Mobile web design
should optimize content for mobile
devices, including using smaller images
and simplified layouts to reduce load
times and improve user experience
• Touch-based interactions: Mobile devices
rely on touch-based interactions, so
mobile web design should consider how
users interact with the website using
touch gestures 12
What is Mobile Web Design?
• Fast load times: Mobile web design
should optimize for fast load times,
including reducing the size of
images and using caching techniques
• With more and more people using
smartphones and tablets for quick
internet access, mobile web design
has become a highly important
aspect of web design
13
Responsive Frameworks for Building
Mobile Web and Mobile Web
Applications
Responsive frameworks are a collection of pre-
written code and stylesheets that make
creating responsive websites and applications
that work well on mobile devices easier.
Here are some popular responsive frameworks
for building mobile web and mobile web
applications:
1. Bootstrap: It offers a wide range of pre-
built components, such as navigation bars,
modals, forms, and typography, as well as a
grid system for creating responsive layouts.
It also comes with various CSS and JavaScript
plugins and utilities for adding interactivity
and functionality to your web pages.
14
Responsive Frameworks for Building
Mobile Web and Mobile Web
Applications
One of the benefits of using Bootstrap is
that it is designed to be mobile-first,
meaning that its components and layout are
optimized for use on mobile devices. This
makes it an excellent choice for building
mobile web and mobile web applications.
2. Materialize: It is an open-source CSS
and JavaScript framework for building
responsive and modern web applications. It
is based on Google’s Material Design
guidelines, which provide a set of design
principles and guidelines for creating user
interfaces that are visually appealing and
intuitive to use. 15
Responsive Frameworks for Building
Mobile Web and Mobile Web
Applications
Materialize is easy to get started with, and it
provides comprehensive documentation and a
variety of templates and examples to help you
get started quickly. It also has a large
community of developers who contribute to its
development and provide support to other users.
3. Ionic: Ionic is a popular framework for
building mobile web and hybrid mobile
applications. It provides a range of responsive
design components, including grids, typography,
and navigation, that can be used to build
mobile-friendly applications. It is built on top
of AngularJS, a popular JavaScript framework,
and provides a range of features, such as native
app integration and offline support.
16
Responsive Frameworks for Building
Mobile Web and Mobile Web
Applications
4. Semantic UI: Semantic UI is a front-
end framework that provides multiple
responsive design components. It
includes pre-built templates and themes
that can be customized to fit specific
design needs. It also offers a range of
customization options, such as theming
and modularization.
These frameworks can be highly
effective in helping you achieve the
desired performance of your
application.
17
How to Optimize your Mobile Web Application for Performance?
23
The History of W3C
24
Purpose of the W3C
• W3C is designed to bring interested parties
together from different areas of IT to work
on developing web standards
• The W3C also focuses on
developing protocols and guidelines that
help ensure the growth and longevity of the
web
• Developing new standards is a consensus-
based process by different teams in the
W3C, as these standards are intended to
help ensure quality for web-based
developers and end users
25
W3C standards
• W3C standards describe a range of recommended
programming languages to generally accepted
principles in web services and open
architectures.
• Web design and application standards are
following:
Common Gateway Interface (CGI)
CSS
Document Object Model (DOM)
Extensible HTML (XHTML)
Extensible Markup Language (XML)
Gleaning Resource Descriptions from Dialects
of Languages (GRDDL)
HTML
JavaScript Object Notation for Linked Data
26
(JSON-LD)
W3C standards
Resource Description Framework (RDF)
Simple Object Access Protocol (SOAP)
SPARQL Protocol and RDF Query
Language (SPARQL)
Speech Recognition Grammar
Specification (SRGS)
Speech Synthesis Markup Language
(SSML)
Scalable Vector Graphics (SVG)
VoiceXML (VXML)
Web Real-Time Communications
(WebRTC) 27
Advantages
• W3C enables the easier
maintenance of the W3C validated
websites
• It provides a consistent and
defined look for all the W3C
validated websites
• It standardizes the validated
websites so that they are
accessible to different devices
• It enables faster browser
interaction
28
Disadvantages
• W3C validation is a timely
process and thus the time for
full validation depends on the
website code
• W3C validation exercises have
costs associated with them
• Sometimes translation issues
arise in W3C validation of
websites
29
Introduction to Mobile Python
3. Pyqtdeploy
a. Used for deploying PyQt applications
to mobile devices.
b. Converts Python apps into standalone
executables for platforms like
Android and iOS.
4. SL4A (Scripting Layer for Android)
c. Allows Python scripts to run on
Android devices.
d. Provides access to Android APIs like
SMS, Bluetooth, and GPS.
e. Example: Quick automation scripts for
an Android phone.
32
Introduction to Mobile Python
5. Chaquopy
a. A plugin for Android Studio to
integrate Python code in Android
apps.
b. Allows combining Python with Java for
hybrid development.
6. PySide (Qt for Python)
c. Python bindings for the Qt framework.
d. Can be used to build GUI applications
for multiple platforms, including
mobile.
33
Introduction to Mobile Python
34
Introduction to Mobile Python
• Limitations:
• Performance: Python is slower compared to
natively compiled languages like Swift,
Kotlin, or Java.
• Ecosystem: Limited direct support for
mobile development compared to languages
like JavaScript (React Native), Dart
(Flutter), or Kotlin.
• App Store Acceptance: Some methods require
extra effort to meet app store guidelines.
• Mobile Python is an excellent choice for
quick prototypes, educational projects, or
scenarios where Python's ecosystem and
features outweigh its performance drawbacks.
35
36