Cross-platform mobile app development
with Xamarin
thapgan
thapgan1010@gmail.com
thapgan
⊳ “Cross-platform”, What does this mean?⊲
Hardware
Linux OS
Apps
MAC
Computer
Mac OS
Apps
Hardware
Windows OS
Apps
[Desktop Apps]
Hardware
Linux OS
Apps
MAC
Computer
Mac OS
Apps
Hardware
Windows OS
Apps
[Desktop Apps]
How to write once and run anywhere?
Virtual Machine
Source Code ⟹ Bytecode (VM code or IL)
⟹ may be interpreted by or run on VM
(JIT – Just-in-time compilation)
Hardware
Linux OS
Apps
MAC
Computer
Mac OS
Apps
Hardware
Windows OS
Apps
[Desktop Apps]
How to write once and run anywhere?
Virtual Machine
Source Code ⟹ Bytecode (VM code or IL)
⟹ may be interpreted by or run on VM
(JIT – Just-in-time compilation)
Hardware
Linux OS
Web Apps
MAC
Computer
Mac OS
Web Apps
Hardware
Windows OS
Web Apps
[Web Apps]
Browser Browser Browser
Hardware
Linux OS
Web Apps
MAC
Computer
Mac OS
Web Apps
Hardware
Windows OS
Web Apps
[Web Apps]
Browser Browser BrowserVirtual Machine
Web apps do not depend on OS and/or hardware but depend on the browser.
Hardware
Operating system
[Web Apps]
Hardware
Operating system
[Web Apps]
W3C
[Web Apps]
[Mobile Devices]
different on screen sizes and densities
can switch between landscape and portrait mode
various types of hardware and OS
lower cpu power and battery limitations
new interaction paradigms
How to write once and run any where?
[Mobile Devices]
different on screen sizes and densities
can switch between landscape and portrait mode
various types of hardware and OS
lower cpu power and battery limitations
new interaction paradigms
GUI
Design
Problem
How to write once and run any where?
[Mobile Apps]
How to write once and run any where?
Hardware
Android
Apps
MAC
Computer
iOS
Apps
Hardware
Windows
Phone
Apps
[Mobile Apps]
How to write once and run any where?
Hardware
Android
Apps
MAC
Computer
iOS
Apps
Hardware
Windows
Phone
Apps
Virtual Machine
[Web Apps on Mobile Devices]
Hardware
Android
Apps
MAC
Computer
iOS
Apps
Hardware
Windows
Phone
Apps
Browser BrowserBrowserVirtual Machine
[Web Apps on Mobile Devices]
Hardware
Android
Apps
MAC
Computer
iOS
Apps
Hardware
Windows
Phone
Apps
Browser BrowserBrowserVirtual Machine
But mobile devices that usually have lower CPU power and battery limitations.
⊳ poor performance ⊲
How to get a native performance?
⊳ “native”, What does this mean?⊲
[Welcome to next lecture]
Thanks for your attention

Introduction to Cross-platform App Development