cross platform mobile development (speaker vitaly ilchenko, binary studio)
TRANSCRIPT
![Page 1: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/1.jpg)
Cross-Platform Mobile Development
Introduction to Xamarin
![Page 2: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/2.jpg)
Vitaly Ilchenko.Net Developer
![Page 3: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/3.jpg)
Agenda
1. What is Xamarin? How does it work?
2. Suitability for use in complex projects.
3. Difference between native approach and Xamarin on the real sample.
4. What about Xamarin.Forms?
5. Results
![Page 4: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/4.jpg)
Native approach
iOS App
Objective-CXCode
Android App
JavaAndroid Studio
Windows Phone App
C#Visual Studio
![Page 5: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/5.jpg)
Xamarin approach
iOSApp
AndroidApp
Windows Phone App
Shared C# Code
Xamarin Studio or Visual Studio
![Page 6: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/6.jpg)
Xamarin approach
User Interface
App Layer
Core Library
Business Layer
Service Access Layer
Data Access Layer
User Interface
App Layer
User Interface
App Layer
~ 70-90%reusable
code
![Page 7: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/7.jpg)
iOS Project Android Project
Compilation
AOTCompile
andLink
ARM binaryRuns natively
.IPA .APK
IL + JITMono runtime
![Page 8: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/8.jpg)
What about complex enough projects?
Internet
BLE
Windows Server
ASP.NetWCF
Web API...
![Page 9: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/9.jpg)
Let’s make the real app
Start Stop
Latitude: 0.0
Longitude: 0.0
Updated: 00:00:00
Already available at: https://github.com/ilchenkob/Xamarin.MeetForIt
![Page 10: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/10.jpg)
Android Application
ServicesActivitiesResources
Drawable
Models and Data Objects
Layout
Menu
Values
Activity Service
![Page 11: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/11.jpg)
iOS Application
ViewControllerModel
Application Delegate
View Controller
UIWindow
Views and UI Objects
UI Application
Data Objects
Documents
![Page 12: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/12.jpg)
View View
Xamarin Application for iPhone and Android
iOS ProjectCore Project (PCL)
Android Project
Model
ViewModel
ModelModel
Service Interface
Activity
ViewController
Service Implementation
Service Implementation
AppDelegate
AndroidManifest.xml
![Page 13: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/13.jpg)
.Net support
1. Stable support of all of the .Net framework 4.5 and C# 5.0
2. Support of C# 6.0 is already done but it’s unstable
![Page 14: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/14.jpg)
Xamarin.Forms
Core Library
Business Layer
Service Access Layer
Data Access Layer
Shared UI Code in XAML
AppLayer
AppLayer
AppLayer
Core Library
Business Layer
Service Access Layer
Data Access Layer
AppLayer
AppLayer
AppLayer
UI Layer UI Layer UI Layer
![Page 15: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/15.jpg)
Results
1. Xamarin gives you ability to create awesome cross-platform mobile apps no worse than native tools gives.
2. Full support of .Net Framework 4.5 and C# 5.0 (stable support of C# 6.0 currently in progress).
3. If you already has .Net backend, then you can reuse big part of your code.
4. Xamarin.Forms is good but only if you don't have your own app design.
5. Sample is already available at: https://github.com/ilchenkob/Xamarin.MeetForIt
![Page 16: Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)](https://reader035.vdocument.in/reader035/viewer/2022070523/58edbd2e1a28abbe5e8b4647/html5/thumbnails/16.jpg)
Any questions?