cross platform mobile development with c#
TRANSCRIPT
Glasgow Mobile .NET Developers
Glasgow Mobile .NET Developers
We discuss the use of .NET for building mobile applications.
We will focus on multi-platform mobile development, including Xamarin (iOS & Android), Windows Phone,
HTML5 and ASP.NET.
We need Speakers
Organisers
Chris Koiak Jon Carlos @chriskoiak @billywizz !
Gordon Langford David Conlisk @kodejack @dconlisk
Screenmedia
“Scotland’s first Xamarin Premier Consulting Partner”
www.screenmedia.co.uk
Cross Platform Mobile Development with C#
Xamarin Platform
• One language & framework
• Create native apps
• IDEs: Visual Studio or Xamarin Studio
C#
Why Xamarin?• Full control
• Familiar development environment
• Native controls
• Native performance
• Code reuse
• Active component store
Why not Xamarin?
• You need a licence
• It’s not a shared UI Platform
• You need to understand each platforms UI controls and UX paradigms
• You need a Mac for iOS dev
Xamarin Community
• 500,000 Developers worldwide
• forums.xamarin.com
• stackoverflow.com
• twitter.com
MvvmCross
Architecture - MVVM
Model
Business Logic & Service Layer
Data Access
View View View
View Model
Data Binding & Commands
MvvmCross (Mvx)• Extensive framework used by many
• Great tutorials at
• mvvmcross.blogspot.co.uk
• https://github.com/MvvmCross/NPlus1DaysOfMvvmCross
• IoC & DI is out the box
• Plugins for platform dependent functionality
* Other MVVM frameworks are available: MVVMLight, ReactiveUI or roll your own.
MvvmCross Plugins
• PhoneCall Plugin
• PictureChooser Plugin
• Location Plugin
• Network Plugin
• Messenger Plugin
!
Plugins are cross platform implementations of common functions that all adhere to the same interface
• SQLite Plugin
• DownloadCache Plugin
• File Plugin
• Accelerometer Plugin
• … and more
!
DEMO !
Kitten List
Demo: Q&A
Two IDEs
• Visual Studio 2012/13 support with business licence
• Xamarin Studio is great too!
• Development and build can be separated
PCL vs Linked Files• PCL support (Profile158) is stable-ish
• Try PCL until you can’t.
• Plugins are easy to write
• Existing codebase may not build under PCL (e.g. XmlDocument or DataTable)
!
Resources• https://github.com/jamesmontemagno/
MeetupManager/
• https://github.com/MvvmCross/NPlus1DaysOfMvvmCross
• Twitter : @slogde, @mvvmcross, @jamesmontemagno, @fastchicken, @paulbetts, @xamarinhq, @cheesebaron, @mikebluestein, @redth
Q&A Panel
Next Meetup
• Once a month
• Details will go on meetup.com
• Speakers and Venues required
• Suggest topics for discussion
Thank You