Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cross Platform Mobile Native Development with .NET

Cross Platform Mobile Native Development with .NET

Building a cross platform native mobile application using MonoTouch, Mono for Android and Windows Phone.

Avatar for Sean Ho

Sean Ho

July 02, 2012
Tweet

More Decks by Sean Ho

Other Decks in Programming

Transcript

  1. “Pay attention to yourself and be aware of the first

    moment when you become consciously aware of the fact that you are experiencing some pleasure as you code” Ruby5 Podcast Monday, 2 July 12
  2. Mobile World Congress 2012 Conference App Xamarin’s mobile cross-platform app

    Available on AppStore, Marketplace and Google Play Cross platform data layer using SQLite Share business layer Native UI usage and device capabilities Monday, 2 July 12
  3. The Win iPhone + iPad (2,476 LOC / 2 Apps)

    – 57% Reuse Android (1095 LOC) – 60% Reuse WP7 (896 LOC) – 65% Reuse Monday, 2 July 12
  4. MvvmCross Cross platform MVVM platform for MonoTouch, MonoDroid, WP7 and

    WinRT Support data-binding for Android XML, MonoTouch XIBs and XAML Monday, 2 July 12
  5. Model-View-ViewModel GUI design pattern originated from Microsoft All about data-binding

    View logics remains in ViewModel View binding is declarative Monday, 2 July 12
  6. 1 Property, 2 Commands public class SampleViewModel { public string

    InfoText { get; set; } public ICommand LeftCommand { get; set; } public ICommand RightCommand { get; set; } } <Label Text={Binding InfoText} /> <Button Text="Left" Command={Binding LeftCommand} /> <Button Text="Left" Command={Binding RightCommand} /> Monday, 2 July 12
  7. UIViewController Activity Page iOS Android Windows Phone ViewModel Local Storage

    View Navigation Remote Calls Geolocation Camera Contact Platform independent Monday, 2 July 12
  8. SignalR Async library for .NET to help build real-time, multi-user

    interactive web applications Support 4 transports: WebSockets on ASP.NET with Windows 8 Server Sent Events (EventSource) Forever Frame Ajax Long Polling Monday, 2 July 12