Xamarin is a framework that enable developers to develop multi-platfrom application. Xamarin support Native development and Form UI Renderer (PCL & Shared).
In this chapter, participants will be more approach on Xamarin.Forms (not Native Development). Xamarin.Forms make developers work more easier and fast. It's enable developers write in a project and automatically Android, iOS and Windows Phone app can be generated.
1. XAMARIN MOBILE APPLICATION
DEVELOPMENT COURSE
Portable Class Library (PCL) using C#
Chapter 1
- Overview to Xamarin -
Written by : Mr Hery Copyright® HeryIT® JM0670283-X (2017)
2. Written by : Mr Hery Copyright® HeryIT® JM0670283-X (2017)
What is Xamarin?
• A framework that use in Cross-Platform Mobile Application Development Process
• A framework that use implementation of .NET Framework family
XAMARIN.ANDOIRD
• Xamarin support development in Portable (PCL) / Shared Library and Native
Development
XAMARIN.IOS XAMARIN.WINDOWS
XAMARIN.FORMS (PCL / Shared)
Native Development
PCL / Shared Development
• Development process using single programming language (C#/VB/F#) for
multiplatform
3. Written by : Mr Hery Copyright® HeryIT® JM0670283-X (2017)
Xamarin Services
• Build Process
• Test (with emulator / cloud test)
• Distribute (official publishing)
• Learn Process
BUILD TEST PUBLISH LEARN
4. Written by : Mr Hery Copyright® HeryIT® JM0670283-X (2017)
Development Comparison
Actual Development
Platform Android iOS Windows
SDK Android SDK iOS SDK Windows SDK
Language Java Objective-C / Swift C#/VB
UI Definition XML XiB (Static XML
Format) /
Storyboard
XAML
IDE Android Studio by
IntelliJ
XCode Visual Studio
5. Written by : Mr Hery Copyright® HeryIT® JM0670283-X (2017)
Development Comparison
Xamarin Native Development
Platform Android iOS Windows
SDK Android SDK iOS SDK Windows SDK
Language C# / VB / F#*
UI Definition XML XiB (Static XML
Format) /
Storyboard
XAML
IDE Visual Studio*
6. Written by : Mr Hery Copyright® HeryIT® JM0670283-X (2017)
Development Comparison
Xamarin PCL / Shared Development
Platform Android iOS Windows
SDK Android SDK iOS SDK Windows SDK
Language C# / VB / F#*
UI Definition XAML*
IDE Visual Studio*
7. Written by : Mr Hery Copyright® HeryIT® JM0670283-X (2017)
Architecture Comparison
Android Development Architecture
Android OS (Linux Kernel)
Android Runtime (ART)
Java & Android API Codes
App Logic
(Activities & Intents)
UI Definition (XML)
8. Written by : Mr Hery Copyright® HeryIT® JM0670283-X (2017)
Architecture Comparison
iOS Development Architecture
iOS
OS Runtime
iOS API Codes
App Logic
(View, Content & Model)
UI Definition (XiB / Storyboard)
10. Written by : Mr Hery Copyright® HeryIT® JM0670283-X (2017)
Architecture Comparison
Xamarin.iOS Architecture
iOS
Mono Runtime OS Runtime
.NET APIs iOS APIs
C# Code
App Logic, View, Control, Model
UI Definition
(XiB / Storyboard)
L1 : OS
L2 : Runtime
L3 : Share API
L4 : Application
11. Written by : Mr Hery Copyright® HeryIT® JM0670283-X (2017)
Architecture Comparison
Xamarin.Forms (PCL) Architecture
Android
OS Runtime
OS & .NET APIs
Class Library (Shared / Portable)
L1 : OS
L2 : Runtime
L3 : Share API
L4 : Service
WindowsiOS
12. Written by : Mr Hery Copyright® HeryIT® JM0670283-X (2017)
Disadvantages of PCL
• Limited to Shared Library (cannot achieve 100% native features)
• Not suitable for higher graphical control (e.g. game)
13. Written by : Mr Hery Copyright® HeryIT® JM0670283-X (2017)
PCL Development Architecture
Pages
Layout
Control
Application
Page
Layout
Control
Page
Layout
Control
14. Written by : Mr Hery Copyright® HeryIT® JM0670283-X (2017)
Thank You
Thank you!
You re ready for next course.