Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cross Platform Mobile Development with.NET Greg Shackles Senior Software Engineer OLO Online Ordering

Similar presentations


Presentation on theme: "Cross Platform Mobile Development with.NET Greg Shackles Senior Software Engineer OLO Online Ordering"— Presentation transcript:

1 Cross Platform Mobile Development with.NET Greg Shackles Senior Software Engineer OLO Online Ordering greg@gregshackles.com

2 MARQUEE SPONSOR

3 PLATINUM SPONSOR

4

5 GOLD SPONSOR

6

7

8

9

10

11 SILVER SPONSORS

12 Who is this guy? Greg Shackles greg@gregshackles.com gregshackles.com Twitter: @gshackles Google+: plus.tl/gshacklesplus.tl/gshackles github.com/gshackles

13 C# To Go http://shackl.es/CSharpToGo

14 Market Share (US)

15 Platform Languages

16 Cross Platform Solutions and many more…

17 Spoiler Alert

18 Different Platforms are…Different !=

19

20 .NET to the Rescue!

21 What is Mono? Implementation of the.NET CLR Open source Cross platform Supports most of.NET 4.0 mono-project.com

22 MonoTouch Bindings to CocoaTouch.NET – LINQ, generics, etc (Moonlight) AOT compilation Linker Memory management Integrates with Interface Builder ios.xamarin.com

23 Mono for Android Wraps Java/Android API.NET – LINQ, generics, etc (Moonlight) Linker Visual Studio 2010 or MonoDevelop android.xamarin.com http://xamarin.com/androidbeta

24 Mono for Android Architecture Android/Managed Callable Wrappers JNI bridges to talk between Android and Mono

25 Mono for Android API.NET events replace listener interfaces Action replaces Runnable Enumerations Properties Attributes and tooling generate configuration Uses standard Android resource files

26 Why?

27

28 Sharing

29 Reusability Story UI C# Runtime Platform Silverlight Business Logic.NET WP7 iOS Mono Android MonoTouch Mono for Android

30 Platform Comparison UI Tooling – IDE – Designer – Emulator Multitasking / Lifecycle Storage – File system – Database Shared Resources

31 Comparison: Views WP7iOSAndroid Format XAMLXIBXML Screen PhoneApplicationPageUIViewControllerActivity Layout StackPanelN/A(manual)LinearLayout List ListBoxUITableViewListView List Item ListBox.ItemTemplateUITableViewCellView Data Source BindingUITableViewSourceBaseAdapter

32 Comparison: Navigation Windows Phone 7 NavigationService.Navigate( new Uri("/NextPage.xaml?id=42", UriKind.Relative))); iOS NavigationController.PushViewController( new NextController(42), true); Android var intent = new Intent(); intent.SetClass(this, typeof (NextActivity)); intent.PutExtra(id", 42); StartActivity(intent);

33 Code Sharing Techniques Link files Preprocessor directives #if MONOTOUCH Messaging (publish/subscribe) Abstraction Third party libraries – sqlite-net – TinyIoC / TinyMessenger – MonoMobile.Extensions

34 NYC Code Camp App

35 App Architecture Entities DataAccess Libraries Messaging ViewModels CC.Core.MonoTouch CC.Core.MonoAndroid CC.Core.WP7 CodeCamp.Core App.MonoTouch App.MonoAndroid App.WP7

36 Questions? 15% Discount - Expires 10/31 https://store.xamarin.com/?discount=NYC-Code-Camp-6


Download ppt "Cross Platform Mobile Development with.NET Greg Shackles Senior Software Engineer OLO Online Ordering"

Similar presentations


Ads by Google