1 / 36

Cross Platform Mobile Development with .NET

Cross Platform Mobile Development with .NET. Greg Shackles Senior Software Engineer OLO Online Ordering greg@gregshackles.com. MARQUEE SPONSOR. PLATINUM SPONSOR. PLATINUM SPONSOR. GOLD SPONSOR. GOLD SPONSOR. GOLD SPONSOR. GOLD SPONSOR. GOLD SPONSOR. GOLD SPONSOR. SILVER SPONSORS.

howard
Télécharger la présentation

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. MARQUEE SPONSOR

  3. PLATINUM SPONSOR

  4. PLATINUM SPONSOR

  5. GOLD SPONSOR

  6. GOLD SPONSOR

  7. GOLD SPONSOR

  8. GOLD SPONSOR

  9. GOLD SPONSOR

  10. GOLD SPONSOR

  11. SILVER SPONSORS

  12. Who is this guy? Greg Shackles greg@gregshackles.com gregshackles.com Twitter: @gshackles Google+: plus.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. .NET to the Rescue!

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

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

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

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

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

  25. Why?

  26. Sharing

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

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

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

  30. 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);

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

  32. NYC Code Camp App

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

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

More Related