1 / 26

Cross Platform Mobile Development with .NET

Cross Platform Mobile Development with .NET. Greg Shackles Senior Software Engineer OLO Online Ordering greg@ gregshackles.com. Who is this guy?. Greg Shackles greg@gregshackles.com gregshackles.com Twitter: @ gshackles Google+: plus.tl/ gshackles github.com/ gshackles. C# To Go.

stuart
Download Presentation

Cross Platform Mobile Development with .NET

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

  4. Market Share (US)

  5. Platform Languages

  6. Cross Platform Solutions and many more…

  7. Spoiler Alert

  8. Different Platforms are…Different != !=

  9. .NET to the Rescue!

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

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

  12. 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

  13. Mono for Android Architecture • Android/Managed Callable Wrappers • JNI bridges to talk between Android and Mono

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

  15. Why?

  16. Sharing

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

  18. Platform Comparison • UI • Tooling • IDE • Designer • Emulator • Multitasking / Lifecycle • Storage • File system • Database • Shared Resources

  19. Comparison: Views WP7 iOS Android Format XAML XIB XML Screen PhoneApplicationPage UIViewController Activity Layout StackPanel N/A (manual) LinearLayout List ListBox UITableView ListView List Item ListBox.ItemTemplate UITableViewCell View Data Source Binding UITableViewSource BaseAdapter

  20. Comparison: Navigation Windows Phone 7 NavigationService.Navigate( newUri("/NextPage.xaml?id=42",UriKind.Relative))); iOS NavigationController.PushViewController( newNextController(42),true); Android var intent = newIntent(); intent.SetClass(this, typeof(NextActivity)); intent.PutExtra(“id",42); StartActivity(intent);

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

  22. NYC Code Camp App

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

  24. Questions? 15% Discount - Expires 11/30 https://store.xamarin.com/?discount=fairfieldwestchester

More Related