SlideShare a Scribd company logo
1 of 18
Download to read offline
www.bestppt.com
Playtime is over 

building real
apps with
Xamarin.Forms
9 december 2016
INTRODUCTIE
2
Gerald Versluis
@jfversluis
blog.verslu.is
gerald@verslu.is
INTRODUCTIE
3
Gerald Versluis
@jfversluis
blog.verslu.is
gerald@verslu.is
Op de agenda…
4
1 Hoe ziet ie eruit? Wat doet ie? En jullie
gaan hem fantastisch vinden!
De uiteindelijke app
2 Hoe steekt die geweldige app in elkaar?
Welke concepten worden er gebruikt?
De architectuur
3 En hoe ziet dat er dan uit in code?
Projectstructuur en uitwerking architectuur
De code
4 Niet te missen NuGet packages voor het
ontwikkelen met Xamarin
There’s a NuGet for that…
5 Samenvatting, bedankjes, applaus en
pauze houden!
It’s a wrap
De uiteindelijke app
5
BudgetGaming
budgetgaming.nl
• Nu verkrijgbaar voor iOS
• Gebouwd in Xamarin.Forms
• Mobiele variant website
• ~1000 gebruikers per maand
www.bestppt.com
De architectuur
Leuk. Maar hoe is het nou eigenlijk opgebouwd?
De architectuur
7
MVVM
• Model–view–viewmodel
• Architectuur patroon
• Geïnspireerd door MVC
• DataBinding &
Commanding
• Maakt gebruik van
XAML
De architectuur - vervolg
8
Waarom MVVM?
View
View markup code

WinForms, XAML, CSHTML, etc.
Code-behind
Data model
• Moeilijk tot niet te
testen
• Opmaak en logica
vergroeid
De architectuur - vervolg
9
Daarom MVVM!
View
View markup code

WinForms, XAML, CSHTML, etc.
Code-behind
Data modelViewModel
Databinding
& Commands
PropertyChanged
De architectuur - vervolg
10
Data-binding
• Cruciaal voor MVVM
• Gewone class met gewone
properties
• Toewijzen aan DataContext
• Implementeer
INotifyChanged
• One-way of two-way
De architectuur - vervolg
11
FreshMvvm
• Lichtgewicht
• Gebouwd voor Xamarin.Forms
• PageModel to PageModel
navigation
• Ingebouwde IoC
• Open source
• MvvmCross, Prism, Light Mvvm …
De architectuur - vervolg
12
BudgetGaming
Website/API
BudgetGaming App
UI iOS
UI

Xamarin.Forms
UI Android
ViewModels
Service(s)
Models
Shared code
De architectuur - vervolg
13
Shared code
Portable Class
Library
Shared Project .NET Standard
www.bestppt.com
There’s a NuGet for that…
Met deze NuGet packages wordt het ontwikkelen nóg makkelijker
NuGet packages die we allemaal zouden moeten gebruiken!
15
Xamarin.Plugins.Settings
Simple type (user) settings
Xamarin.Plugins.Connectivity
Network connectivity
ACR.UserDialogs
Alerts, loading, ActionSheets
FreshMvvm
Lightweight, easy to use MVVM framework
PropertyChanged.Fody
INotifyPropertyChanged made easy
FFImageLoading
Image caching, effects, etc.
Polly
Fluent exception handling
Refit
Type-safe REST library
Let op! Bij Forms vaak packages ook installeren
op platform project!
www.bestppt.com
It’s a wrap
Nog héél even volhouden…
Samenvatting
17
• MVVM is awesome
• Beter testbaar
• Goede architectuur bevorderd
delen van code
#schaamtelozezelfpromotie
18
Gerald Versluis
@jfversluis
blog.verslu.is
gerald@verslu.is

More Related Content

Similar to Playtime is over: building real apps with Xamarin.Forms

SMARTCirculair | Zelf een app ontwikkelen
SMARTCirculair | Zelf een app ontwikkelenSMARTCirculair | Zelf een app ontwikkelen
SMARTCirculair | Zelf een app ontwikkelenTanja Nolten
 
Mobile First WP Meetup Nijmegen 7 juni 2017
Mobile First WP Meetup Nijmegen 7 juni 2017Mobile First WP Meetup Nijmegen 7 juni 2017
Mobile First WP Meetup Nijmegen 7 juni 2017heinivanbergen
 
OrangeValley klantendag 2015 - 4 SEO trends met impact
OrangeValley klantendag 2015 - 4 SEO trends met impactOrangeValley klantendag 2015 - 4 SEO trends met impact
OrangeValley klantendag 2015 - 4 SEO trends met impactOrangeValley
 
BUZZ Kickstarter Microsoft Ordina - Traineeship Jobs
BUZZ Kickstarter Microsoft Ordina - Traineeship JobsBUZZ Kickstarter Microsoft Ordina - Traineeship Jobs
BUZZ Kickstarter Microsoft Ordina - Traineeship JobsOrdina Belgium
 
About Mr Mister
About Mr MisterAbout Mr Mister
About Mr Misterjekwak
 
Ontwerpen voor mobiel
Ontwerpen voor mobielOntwerpen voor mobiel
Ontwerpen voor mobielsrprs.me
 
Agile Projectaanpak
Agile ProjectaanpakAgile Projectaanpak
Agile ProjectaanpakThijs Weenk
 
App development step by step
App development   step by stepApp development   step by step
App development step by stepPhilippe De Pauw
 
Xamarin: From Zero to Hero: KEMBIT Meetup 29 september 2016
Xamarin: From Zero to Hero: KEMBIT Meetup 29 september 2016Xamarin: From Zero to Hero: KEMBIT Meetup 29 september 2016
Xamarin: From Zero to Hero: KEMBIT Meetup 29 september 2016Gerald Versluis
 
Rapid prototyping 03 mrt 2016 screen
Rapid prototyping 03 mrt 2016 screenRapid prototyping 03 mrt 2016 screen
Rapid prototyping 03 mrt 2016 screenMarnix Bras
 

Similar to Playtime is over: building real apps with Xamarin.Forms (11)

SMARTCirculair | Zelf een app ontwikkelen
SMARTCirculair | Zelf een app ontwikkelenSMARTCirculair | Zelf een app ontwikkelen
SMARTCirculair | Zelf een app ontwikkelen
 
Mobile First WP Meetup Nijmegen 7 juni 2017
Mobile First WP Meetup Nijmegen 7 juni 2017Mobile First WP Meetup Nijmegen 7 juni 2017
Mobile First WP Meetup Nijmegen 7 juni 2017
 
The future of Search (E-sites / Yonego)
The future of Search (E-sites / Yonego)The future of Search (E-sites / Yonego)
The future of Search (E-sites / Yonego)
 
OrangeValley klantendag 2015 - 4 SEO trends met impact
OrangeValley klantendag 2015 - 4 SEO trends met impactOrangeValley klantendag 2015 - 4 SEO trends met impact
OrangeValley klantendag 2015 - 4 SEO trends met impact
 
BUZZ Kickstarter Microsoft Ordina - Traineeship Jobs
BUZZ Kickstarter Microsoft Ordina - Traineeship JobsBUZZ Kickstarter Microsoft Ordina - Traineeship Jobs
BUZZ Kickstarter Microsoft Ordina - Traineeship Jobs
 
About Mr Mister
About Mr MisterAbout Mr Mister
About Mr Mister
 
Ontwerpen voor mobiel
Ontwerpen voor mobielOntwerpen voor mobiel
Ontwerpen voor mobiel
 
Agile Projectaanpak
Agile ProjectaanpakAgile Projectaanpak
Agile Projectaanpak
 
App development step by step
App development   step by stepApp development   step by step
App development step by step
 
Xamarin: From Zero to Hero: KEMBIT Meetup 29 september 2016
Xamarin: From Zero to Hero: KEMBIT Meetup 29 september 2016Xamarin: From Zero to Hero: KEMBIT Meetup 29 september 2016
Xamarin: From Zero to Hero: KEMBIT Meetup 29 september 2016
 
Rapid prototyping 03 mrt 2016 screen
Rapid prototyping 03 mrt 2016 screenRapid prototyping 03 mrt 2016 screen
Rapid prototyping 03 mrt 2016 screen
 

Playtime is over: building real apps with Xamarin.Forms