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

Developing iPhone, Android and Windows Phone 7 applications with C#

Developing iPhone, Android and Windows Phone 7 applications with C#

Joint presentation with Marcel de Vries (http://www.twitter.com/marcelv) and Willem Meints (http://www.twitter.com/wmeints)

(Dutch) Leer met gebruik van je bestaande .NET skills, Phone applicaties te bouwen met Visual Studio en Mono (Mono Touch & Mono for Android)

See http://channel9.msdn.com/Events/TechDays/Techdays-2012-the-Netherlands/2143 for the video

Roy Cornelissen

February 17, 2012
Tweet

More Decks by Roy Cornelissen

Other Decks in Programming

Transcript

  1. Developing iPhone,
    Android and
    Windows Phone 7
    applications with C#
    Roy
    Cornelissen
    IT Architect,
    Info Support
    Willem
    Meints
    Developer,
    Info Support
    Roy
    Cornelissen
    IT Architect
    Info Support
    Willem
    Meints
    Developer
    Info Support
    Marcel
    de Vries
    Technology Manager
    Info Support

    View full-size slide

  2. Patterns Proof
    Myths ALM

    View full-size slide

  3. Windows Phone
    iOS
    Android

    View full-size slide

  4. C / C++
    Different CPU
    architectures
    C# / Silverlight 3+

    View full-size slide

  5. App Logic
    Vendor tools “Magic Box” Hybrid
    XCode
    Objective-C
    WP7
    Silverlight
    C#
    Android
    SDK
    Java
    Appcelerator
    Titanium
    JavaScript > Native
    PhoneGap
    HTML5 / CSS / JS
    Adobe AIR
    ActionScript
    Antenna
    Rapid
    Scripting
    Language
    Service2Media
    Lua
    C#
    Xamarin
    MonoTouch
    WP7
    Silverlight
    Xamarin
    Mono for Android
    Rhodes
    Ruby + HTML
    Sybase
    Unwired
    “4GL” code gen
    Shared
    language

    View full-size slide

  6. Yes there is overhead
    But it’s no problem
    Make the app feel fast

    View full-size slide

  7. iOS
    MonoTouch.CoreLocation
    MonoTouch.CoreMotion
    MonoTouch.AVFoundation
    MonoTouch.AddressBook
    MonoTouch.EventKit

    Android:
    Android.Hardware.Sensor
    Android.Location
    Android.Bluetooth
    Android.Nfc

    Windows Phone:
    Microsoft.Devices.Sensors.Gyroscope
    Microsoft.Devices.Sensors.Accelerometer
    Microsoft.Devices.Sensors.Compass
    Microsoft.Devices.Sensors.Motion

    View full-size slide

  8. Reusable
    20%
    Shared app
    logic
    20%
    Windows8
    14%
    iOS
    18%
    WP7
    12%
    Android
    16%
    Shared
    65%
    Specific
    35%
    Per App

    View full-size slide

  9. Roy
    Cornelissen
    Willem
    Meints
    Marcel
    de Vries

    View full-size slide

  10. Services
    Model
    Controller
    ViewModel
    Etc.
    GPS
    Storage
    Motion sensors
    View
    Shared?
    Bridge
    Shared  Platform specific

    View full-size slide

  11. Shared Controller
    UIViewController XAML View Activity
    Web Services
    S
    F
    S
    F
    S
    F
    Model
    GetActualEvents
    (Action OnSuccess,
    Action OnFail)
    PropertyChanged(“Events”);
    public void OnFailed(Exception e)
    {
    // Do something with error
    }
    public void OnSuccess(object data)
    {
    // Do something with data
    // Notify user
    }

    View full-size slide

  12. Roy
    Cornelissen
    @roycornelissen
    Willem
    Meints
    @wmeints
    Marcel
    de Vries
    @marcelv

    View full-size slide