Connect at http isgdwpteched wp7au Cross Platform Development with Mono Nick Randolph WPH331 Agenda Mobile Landscape Cross platform choices NET Framework and Mono Platform architectures ID: 649775
Download Presentation The PPT/PDF document "00 Cross Platform Development with Mono" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
00
Cross Platform
Development with Mono
Connect at
http
://is.gd/wpteched
#wp7auSlide2
Cross Platform Development with Mono Nick RandolphWPH331Slide3
AgendaMobile LandscapeCross platform choices.NET Framework and MonoPlatform architecturesiOSAndroidWindows Phone / Windows 8Separation of concerns with MVVMSlide4
Mobile LandscapeThree PlatformsGlobal: 90%Australia: 95%Ref: http://www.kantarworldpanel.com/Global/News/Android-maintains-its-European-domination Slide5
Cross Platform ChoicesBuild native for every platformBuild for 1 or 2 platforms eg Instagram: iOS and Android onlyBuild mobile web siteBuild mobile web applicationBuild hybrid application eg PhoneGapBuild for reuse eg MonoSlide6
Application Platform ChoicesUXFeaturesCostNativeWeb SiteWeb AppNative 1 or 2HybridMonoSlide7
iOSiPhone, iPadObjective-CC/C++XCode (Interface Builder)AndroidPhone, SlateJava C/C++
Eclipse (Android designer)Platforms and TechnologiesWindowsWindows Phone, Windows 8XAML/C#C/C++, HTML5Visual Studio (Blend)Slide8
.NET Framework and Mono.NET Abstraction across the underlying platformCode compiled to MSIL with runtime JITWindows Microsoft .NET FXOther platforms MonoSlide9
Mono for iOS and AndroidDerivatives of core Mono projectXamarin MonoDevelop (OSX only) Xcode integration MonoDevelop (OSX or Windows) Visual Studio integration (Windows only) Android SDK integrationSlide10
Windows PhoneNavigationPages Uri based navigation with backstackDesignLayout in XAMLExpression BlendPage LifecycleApplication EventsPage MethodsSlide11
demo Windows PhoneDesign in Expression BlendWire up events/code in Visual StudioSlide12
iOSNavigationViewControllers + ViewsPush new instances onto navigation controllerDesignLayout is stored in nib/xibInterface BuilderLifecycleInitialisation methods (eg awakeFromNib)Methods for page events (eg viewDidAppear)Slide13
demo MonoTouchMonoDevelop + XcodeOverview of Design and Development EnvironmentSlide14
AndroidNavigationActivities + ViewsActivities launched as IntentsDesignLayout is stored in axmlMonoDevelop/VS Integrated DesignerLifecycleActvities eventsSlide15
demo Mono for AndroidVisual Studio + Mono for Android PluginOverview of Design and Development EnvironmentSlide16
Separation of ConcernsVisual v's Logic division (MVVM)View how the content is presentedViewModel what content is being presentedModel how data is stored, and accessed Slide17
demo Windows Phone DataBindingSeparation of design (Blend) from code (Visual Studio)Slide18
NavigationNavigation typically tied to platform implementationViewImplements actual navigation operationViewModel Invoke navigation Need an abstraction (eg INavigator) that permits platform specific implementationsSlide19
demo Navigating between ViewModelsSlide20
Hey, get off my UI ThreadUser Experience is ParamountDon’t do long running operations on UI ThreadBackground operationsCallback when doneAgain, platform specific mechanism for re-joining the UI Thread Need an abstraction (eg IDispatcher) that permits platform specific implementationsSlide21
demo DispatcherSlide22
Device featuresDevices expose similar featuresContacts, Camera, Location….Need platform specific code to access themXamarin.MobileSlide23
Third party componentsMany third party component manufacturersTelerik, Infragistics, DevExpressComponents are platform specific (and should be!!)Need to be able to integrate into mono applicationsNeed to generate bindings to incorporate native componentsSlide24
demo Device Features and Third Party ComponentsXamarin.MobileInfragistics iOS GridSlide25
Ramping up for Windows Phone 8Windows Phone Developer Bloghttp://windowsteamblog.com/windows_phone Slide26
Related ContentWPH331, WPH234, WPH322, WPH323, WPH332, WPH333Exhibition Hall – demo pods
70-599 Pro: Designing and Developing Windows Phone 7 ApplicationsFind Me Later At @btroam #wp7au Slide27
Track Resourceshttp://dev.windowsphone.comhttp://wp.msdeveloper.com.au
http://windowsteamblog.com/windows_phonehttp://wpdownunder.comSlide28
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.