الجمهوريــة الجزائريــة الديمقراطيــة الشعبيــة
Algerian Democratic and Popular Republic
وزارة التعليم العالي والبحث العلمي
Ministry of Higher Education and Scientific Research
University of Ahmed Zabana Relizane
Faculty of Science & Technology
Department of Computer Science
Course
Mobile Applications
Chapter 01
Presented by : Dr. Oussama DERNI
[email protected] 26/01/2025
PLAN
01 About the course
• Introduction
• Conceptual map
• Contact sheet
• Target skills
• Prerequisites
02 Mobile applications
• Introduction
• Mobile operating systems
• Types of mobile applications
About the course
Introduction
• The aim of this course is to introduce students to the concepts required for mobile
application development.
• Improve their knowledge of development platforms and the specificities of embedded
development on smartphones.
• Intended for 3rd year Bachelor's students in Computer Science, specializing in
“Computer Systems”.
4
Introduction
Chapter • Mobile applications
01
Chapter • Android platform
02
Chapter • Activities and resources
03
Chapter • Graphic interfaces and widgets
04
Chapter • Menus and dialog boxes
05
Chapter • AndroidManifest.xml and communication between components
06
Chapter • Databases with SQLite
07
Chapter • Development of a simple application
08
5
Conceptual map
6
Contact sheet
• Institution : University of Ahmed Zabana Relizane
• Faculty : Science and Technology
• Department : Computer Science
• Target audience : 3rd year Bachelor's degree in computer science, specializing in
computer systems
• Course title : Mobile applications
• Teaching unit : Fundamental
7
Contact sheet
• Credits : 5
• Coefficients : 03
• Duration : 14 weeks
• Evaluation method : Exam (60%), Continuous (40%)
• Total hourly volume : (21h Course, 21h Practical work)
• Course schedule : Sunday, 10:00 to 11:30 a.m.
• Teacher in charge : Dr. Oussama DERNI
• Contact : [email protected]
• Availability : Sunday and Monday (teachers' room)
8
Ta r g e t s k i l l s
On completion of this course, students will be able to:
• Understand the different types of mobile applications
• Highlight the different development platforms for mobile applications
• Acquire the fundamentals of Android programming
• Create graphical interfaces
• Manage mobile application menus
• Master communication between components
• Link a mobile application to an SQLite database
• Develop a complete mobile application
9
Prerequisites
It is necessary for learners to have :
• Basic programming skills
• Comfortable with the JAVA - POO programming language
• Good knowledge of XML file formats
10
Chapter 01
Mobile applications
Introduction
• A mobile app is a software application developed specifically for use on small wireless
computing devices, such as smartphones and tablets, rather than on desktop or
laptop computers.
• Mobile applications are an essential part of most people's daily lives.
• Mobile applications play an essential role in the way we interact with technology.
12
Introduction
13
Introduction
14
Mobile operating systems
• An operating system is a software interface responsible for managing and operating
hardware units, and helping the user to use these units.
• For cell phones, operating systems have been developed to enable users to operate
phones in the same way as personal computers.
• The best-known mobile operating systems are Android, iOS, Windows Phone OS and
Symbian.
15
Mobile operating systems
Market share of mobile operating systems worldwide (last 4 months 2024)
80
70
72.04
60
50
40
30
27.49
20
10
0.31 0.01 0 0.15
0
Android iOS Samsung Windows Phone Symbian OS Autre
16
Mobile operating systems
Android operating system
• Android is an open source mobile operating system
developed by Google and launched in 2008.
• Android is a Linux-based operating system that uses
Linux 2.6 to provide core services such as security,
memory management, process management, network
stack and driver model.
17
Mobile operating systems
Android operating system
• It offers a wide range of libraries that enable application developers to create different
applications.
• Android applications are generally written in the Java programming language.
18
Mobile operating systems
Apple iOS operating system
• Apple iOS is a closed-source cell phone operating system developed by
Apple in 2007.
• It is used exclusively by Apple products (iPhone, iPod and iPad).
19
Mobile operating systems
Apple iOS operating system
• The iOS architecture is based on three interlocking layers
Cocoa touch diaper
• provides the basic infrastructure used by applications
The multimedia layer
• provides audio services, animated videos, image formats and documents,
as well as audio and video support.
The main operating system
• provides basic services such as low-level data types, startup services,
network connection and access. 20
Mobile operating systems
Symbian operating system
• Symbian OS is an open source mobile
operating system written in the C++ language
• Developed by Symbian Ltd. in 1977.
• It is mainly used by Nokia phones.
• Symbian OS consists of several layers, such as operating system libraries,
application engines, core kernel and so on.
• It was the most widely used mobile device system until 2010.
21
Mobile operating systems
Windows Phone operating system
• Windows Phone is a closed-source mobile operating system developed by Microsoft
Corporation.
• It is used by many intelligent devices (PDAs, smartphones
and touch devices).
• It is based on a compact version of the .Net framework,
framework, giving it an advantage in the development of .Net-oriented mobile
applications. 22
Types of mobile applications
• There are three basic types of mobile application if we categorize them according to
the technology used to code them:
• Native applications are created for a specific platform or operating system.
• Web applications are responsive versions of websites that can run on any mobile
device or operating system, as they are delivered using a mobile browser.
• Hybrid applications are combinations of native and Web applications, integrated into
a native application, giving it the option of having its own icon or being downloaded
from an application store.
23
Types of mobile applications
Native applications
• Native apps are designed specifically for the operating system (OS) of a mobile device.
• You can have native Android mobile apps or native iOS apps, not to mention all the
other platforms and devices.
• They're designed for a single platform, so you can't mix them up - for example, using a
Symbian app on an Android phone or using an iOS app on a Windows phone.
24
Types of mobile applications
Native applications
Technology used :
Native applications are coded using a variety of programming languages. Some examples
include :
• Java (Android)
• Kotlin (Android)
• Swift (iOS)
• Objective-C (iOS)
• C++ (iOS, Android, and Windows Phone)
• C# and .NET (Windows Phone)
25
Types of mobile applications
Native applications
Advantages Limits
They are faster and more reliable in terms of In order to target different platforms, you
performance need to duplicate efforts for each of these
platforms.
More efficient with device resources than The effort required to maintain and update the
other types of mobile applications code base for each version increases.
They use the device's native user interface, Each time the application is updated, the user
offering users a more optimized customer must download the new file and reinstall it.
experience.
They have access to a wide range of device Take up valuable storage space on the
functions, such as Bluetooth, phonebook device.
contacts, NFC and more.
26
Types of mobile applications
Native applications
Examples:
27
Types of mobile applications
Web applications
• Web applications behave in the same way as native applications, but are accessed via
a web browser on your mobile device.
• They are not stand-alone applications in the sense that you have to download and
install code on your device.
• They are responsive websites that adapt their user interface to the device the user is
on.
28
Types of mobile applications
Web applications
• In fact, when you come across the “install” option for a web application, it often
simply bookmarks the website URL on your device.
• One type of Web application is the Progressive Web Application (PWA), which is
essentially a native application running in a browser.
29
Types of mobile applications
Web applications
Technology used :
Web applications are built using :
• HTML5
• CSS
• JavaScript
• Ruby and similar programming languages used for Web work
30
Types of mobile applications
Web applications
Advantages Limits
There's no need to customize it for a particular There will be features available in one browser
platform or operating system. This reduces that are not available on another, potentially
development costs. offering users different experiences.
They won't take up any space on your device's They won't work completely offline. Even if they
memory, making maintenance easier. Simply have an offline mode, the device will still need an
stream the update live on the Web. Users don't Internet connection to back up the data on your
need to download the update from the App Store. device, offer new data or update what's on the
screen.
31
Types of mobile applications
Web applications
Examples:
32
Types of mobile applications
Hybrid applications
• A hybrid application is a combination of a native application and a Web application.
• In practice, it is developed as a Web application within a native application container.
• By leveraging some of the native features of the device's platform and hardware,
hybrid applications offer the benefits of a native experience while adapting to non-
native environments.
33
Types of mobile applications
Hybrid applications
Used technologies :
Hybrid applications use a mix of Web technologies and native APIs. They are developed
using :
• Ionic (Javascripts)
• Objective C
• Swift
• HTML5 & others.
34
Types of mobile applications
Hybrid applications
Advantages Limits
Creating a hybrid application is much faster and Hybrid applications can lack the power and speed
more cost-effective than a native one. typical of native applications.
They also load quickly, are ideal for use in
countries with slower Internet connections and
offer users a consistent user experience.
They use a single code base, so there's a lot less
code to maintain.
35
Types of mobile applications
Hybrid applications
Examples:
36