0% found this document useful (0 votes)
49 views

Introduction

This document provides an overview of a mobile programming course. It will cover designing cross-platform mobile apps using tools like NodeJS and VS Code. Students will learn to create custom user interfaces, handle user interactions, navigate between screens, and communicate with servers. The course will also explore mobile platforms like iOS and Android, different approaches to mobile development including native, hybrid and cross-platform frameworks, and the React Native JavaScript framework.

Uploaded by

Lunas Bin
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views

Introduction

This document provides an overview of a mobile programming course. It will cover designing cross-platform mobile apps using tools like NodeJS and VS Code. Students will learn to create custom user interfaces, handle user interactions, navigate between screens, and communicate with servers. The course will also explore mobile platforms like iOS and Android, different approaches to mobile development including native, hybrid and cross-platform frameworks, and the React Native JavaScript framework.

Uploaded by

Lunas Bin
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Introduction

1 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Course Overview

2 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Introduction
 Mobile Programming (AC3040)
 Structure:
 Assiduity: Lectures + Assignments
 Midterm project
 Final exam
 Tools:
 NodeJS
 A good textcode editor:
 VS Code

3 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Course Objectives
 At the end of this class, you will be able to:
 Design and implement cross-platform mobile GUI
 Customize the style of GUI elements
 Handle and response to user activities
 Control the navigation between screens
 Implement the two-way communication with a server
 And beyond:
 Understand the mobile programming model and apply this to
your designs
 Speak the mobile programming lingo
 Have fun with mobile development, and enjoy creating apps!

4 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Mobile Platforms

5 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Mobile Devices
 Computers small enough to hold and operate in the hand
 Cell phones
 Laptops
 Tablets
 Smart watches
 Smart cards
 Mobile cameras
 Mobile sensors
 Robots
 Smart cars
 …

6 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
History
of
Mobile
Devices

7 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Modern Mobile Devices
 Rich in types: smartphones, tablets, smart watches, smart
TVs, smart cars,…
 Most common characteristics:
 (Touchable) flat screen(s)
 Voice capabilities
 Wireless communications
 Rich sensors: GPS, camera,…
 Operating system
 Platform convergence
 iOS
 Android

8 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Mobile Development

9 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
What is It?
 Building and maintenance of
apps that run on mobile
devices
 Make apps work
 Make apps work fast
 Make apps look great

 What do mobile devs need?


 It depends on their choices!
 For students of this course:
JavaScript

10 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
The Rise of Mobile Apps
 Internet is more and more
ubiquitous, with very
high-speed and wireless
connections
 Mobile devices are
equipped with more and
more powerful
capabilities
➔ Mobile is now one of important application/service
development and distribution platforms (besides desktop,
web)

11 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Growth of Mobile App Market

12 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Early Mobile Development
 Low level coding
 Highly device-dependent coding
 Low availability of resources: CPU,
memory
 No real OS

 1st “smart” phone:


 Simon in 1993 by IBM
 Touchscreen
 Apps: calendar, clock, email, games, notepad

13 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Next Mobile Platforms
 Psion EPOC in 1990s for PDAs: 32-bit OS, 2MB RAM
 Palm OS in 1996 for PDAs
 WML (Wireless Markup Language): light version of HTML
 Java ME
 Symbian

Psion EPOC Psion EPOC Symbian


14 AC3040: Mobile Programming
Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Modern Mobile Platforms
 iOS
 Apple, 2007
 Kernel: XNU
 Android:
 Google, 2008
 Kernel: Linux
 Windows Phone
 Microsoft, 2010
 Discontinued in 2020

 High level languages


 Fast development
15 AC3040: Mobile Programming
Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Most Common Mobile Platforms Nowadays
 Share of sales to end-users

16 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Approach Classification

Development Native
Mobile

Hybrid

Cross-Platform
Native

17 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Native Approach
 Frameworks offered by the platform providers themselves
 Best performance, compatibility, user experience
 Not portable to other platforms
 High maintenance cost

 Android: Java, Kotlin

 iOS: Swift, Objective-C

18 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Hybrid Approach
 Cross-platform frameworks using web technologies
 HTML, CSS, JavaScript
 App is basically composed of web pages
 Low development cost

 Most popular ones:


 Cordova: by Apache
 Ionic: by Drifty

19 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Cross-Platform Native Approach
 Cross-platform frameworks for native apps
 Write once in an intermediate language
 Build specifically for different platforms
 Native UI, good performance and UX

 Most popular ones:


 Xamarin: by Microsoft
 C#
 Flutter: by Google
 Dart
 React Native: by Facebook
 JavaScript

20 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Dev Communities

21 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Introduction to React Native
 React Native:
 JavaScript framework for developing real, native apps for iOS
and Android
 Based on ReactJS – a framework mainly for web development
 Using native components
 Learning curve

JavaScript HTML, CSS ReactJS React Native

22 AC3040: Mobile Programming


Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology

You might also like