SlideShare a Scribd company logo
1 of 34
Willem          Marcel
Developing             Meints          de Vries
                        Developer      Technology Manager
iPhone, Android and    Developer,
                        Info Support
                       Info Support    Info Support

Windows Phone 7
applications with C#   Roy
                       Cornelissen
                       IT Architect,
                          Architect
                       Info Support
Myths      ALM




Patterns   Proof
Windows Phone
iOS
Android
C / C++
Different CPU
architectures




                C# / Silverlight 3+
Demo
WP7
                                                                        Xamarin       Silverlight
                                                                         MonoTouch                      Xamarin
                                                                                                       Mono for Android



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


               Vendor tools                   “Magic Box”                               Hybrid
Yes there is overhead


But it’s no problem

Make the app feel fast
iOS                            Android:                      Windows Phone:
      MonoTouch.CoreLocation       Android.Hardware.Sensor       Microsoft.Devices.Sensors.Gyroscope
      MonoTouch.CoreMotion         Android.Location              Microsoft.Devices.Sensors.Accelerometer
      MonoTouch.AVFoundation       Android.Bluetooth             Microsoft.Devices.Sensors.Compass
      MonoTouch.AddressBook        Android.Nfc                   Microsoft.Devices.Sensors.Motion
      MonoTouch.EventKit           …                             …
      …
Per App
      Android              Reusable
       16%                   20%
                                            Specific
WP7                                          35%
12%




  iOS
  18%                          Shared app                        Shared
                                  logic                           65%
                                  20%
                Windows8
                  14%
Roy           Willem   Marcel
Cornelissen   Meints   de Vries
View


             Controller
             ViewModel
                                                           Model
     GPS

Motion sensors                  Bridge
                       Shared  Platform specific
   Storage

     Etc.                         Shared?

                 Services
S                    S                   S
           F                    F                      F
UIViewController      XAML View             Activity


public void OnSuccess(object data)
{    public void OnFailed(Exception e)
                                                                  Model
               Shared Controller
   //{Do something with data
   // Notify user
        // Do something with error                 PropertyChanged(“Events”);
}    }          GetActualEvents
               (Action<object> OnSuccess,
                Action<Exception> OnFail)




                     Web Services
Demo
Willem            Marcel
Meints            de Vries
@wmeints          @marcelv




Roy
Cornelissen
@roycornelissen

More Related Content

Viewers also liked

Cross platform mobile developement introduction
Cross platform mobile developement   introductionCross platform mobile developement   introduction
Cross platform mobile developement introductionMarcel de Vries
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your BusinessBarry Feldman
 

Viewers also liked (7)

Aesthetics pp
Aesthetics ppAesthetics pp
Aesthetics pp
 
Aesthetics pp
Aesthetics ppAesthetics pp
Aesthetics pp
 
Aesthetics pp
Aesthetics ppAesthetics pp
Aesthetics pp
 
Aesthetics pp
Aesthetics ppAesthetics pp
Aesthetics pp
 
Dec 2010 promos
Dec 2010 promosDec 2010 promos
Dec 2010 promos
 
Cross platform mobile developement introduction
Cross platform mobile developement   introductionCross platform mobile developement   introduction
Cross platform mobile developement introduction
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
 

Similar to Developing cross-platform mobile apps with C

Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...Marcel de Vries
 
Using HTML5 to Build Mobile Apps
Using HTML5 to Build Mobile AppsUsing HTML5 to Build Mobile Apps
Using HTML5 to Build Mobile AppsTodd Anglin
 
2011 android
2011 android2011 android
2011 androidvpedapolu
 
Shape 2013 developing multi targeting windows store and windows phone apps
Shape 2013   developing multi targeting windows store and windows phone appsShape 2013   developing multi targeting windows store and windows phone apps
Shape 2013 developing multi targeting windows store and windows phone appsJose Luis Latorre Millas
 
Hybrid Mobile Application Framework
Hybrid Mobile Application FrameworkHybrid Mobile Application Framework
Hybrid Mobile Application Framework동수 장
 
WinWire webinar: Converting iPad apps to Windows Store apps
WinWire webinar: Converting iPad apps to Windows Store appsWinWire webinar: Converting iPad apps to Windows Store apps
WinWire webinar: Converting iPad apps to Windows Store appsWinWire Technologies Inc
 
Fragmentation in mobile design: fact or fiction
Fragmentation in mobile design: fact or fictionFragmentation in mobile design: fact or fiction
Fragmentation in mobile design: fact or fictionBelen Barros Pena
 
MonoTouch 5.2 Introduction
MonoTouch 5.2 IntroductionMonoTouch 5.2 Introduction
MonoTouch 5.2 IntroductionXamarin
 
Hybrid mobile app with Kendo UI Mobile
Hybrid mobile app with Kendo UI MobileHybrid mobile app with Kendo UI Mobile
Hybrid mobile app with Kendo UI MobileDhananjay Kumar
 
PhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the EnterprisePhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the EnterpriseBryce Curtis
 
Developers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionDevelopers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionMarco Tabor
 
Building Cross Platform Mobile Solutions
Building Cross Platform Mobile SolutionsBuilding Cross Platform Mobile Solutions
Building Cross Platform Mobile SolutionsQframe
 
Mobile fragmentation, fact or myth?
Mobile fragmentation, fact or myth?Mobile fragmentation, fact or myth?
Mobile fragmentation, fact or myth?Belen Barros Pena
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsJames Pearce
 
Mobile Drupal
Mobile DrupalMobile Drupal
Mobile DrupalTwinbit
 
Sviluppo x platform con xamarin
Sviluppo x platform con xamarin Sviluppo x platform con xamarin
Sviluppo x platform con xamarin Dan Ardelean
 
Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)
Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)
Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)Binary Studio
 

Similar to Developing cross-platform mobile apps with C (20)

Magic xpa total mobility experience
Magic xpa  total mobility experienceMagic xpa  total mobility experience
Magic xpa total mobility experience
 
Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...Cross platform native mobile app development for iOS, Android and Windows usi...
Cross platform native mobile app development for iOS, Android and Windows usi...
 
Using HTML5 to Build Mobile Apps
Using HTML5 to Build Mobile AppsUsing HTML5 to Build Mobile Apps
Using HTML5 to Build Mobile Apps
 
2011 android
2011 android2011 android
2011 android
 
Shape 2013 developing multi targeting windows store and windows phone apps
Shape 2013   developing multi targeting windows store and windows phone appsShape 2013   developing multi targeting windows store and windows phone apps
Shape 2013 developing multi targeting windows store and windows phone apps
 
Hybrid Mobile Application Framework
Hybrid Mobile Application FrameworkHybrid Mobile Application Framework
Hybrid Mobile Application Framework
 
WinWire webinar: Converting iPad apps to Windows Store apps
WinWire webinar: Converting iPad apps to Windows Store appsWinWire webinar: Converting iPad apps to Windows Store apps
WinWire webinar: Converting iPad apps to Windows Store apps
 
Fragmentation in mobile design: fact or fiction
Fragmentation in mobile design: fact or fictionFragmentation in mobile design: fact or fiction
Fragmentation in mobile design: fact or fiction
 
MonoTouch 5.2 Introduction
MonoTouch 5.2 IntroductionMonoTouch 5.2 Introduction
MonoTouch 5.2 Introduction
 
Hybrid mobile app with Kendo UI Mobile
Hybrid mobile app with Kendo UI MobileHybrid mobile app with Kendo UI Mobile
Hybrid mobile app with Kendo UI Mobile
 
PhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the EnterprisePhoneGap Day - IBM, PhoneGap and the Enterprise
PhoneGap Day - IBM, PhoneGap and the Enterprise
 
Developers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th editionDevelopers Guide To The Galaxy 8th edition
Developers Guide To The Galaxy 8th edition
 
Building Cross Platform Mobile Solutions
Building Cross Platform Mobile SolutionsBuilding Cross Platform Mobile Solutions
Building Cross Platform Mobile Solutions
 
Building Cross Platform Mobile Solutions
Building Cross Platform Mobile SolutionsBuilding Cross Platform Mobile Solutions
Building Cross Platform Mobile Solutions
 
Mobile fragmentation, fact or myth?
Mobile fragmentation, fact or myth?Mobile fragmentation, fact or myth?
Mobile fragmentation, fact or myth?
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applications
 
The Enterprise Dilemma: Native vs. Web
The Enterprise Dilemma: Native vs. WebThe Enterprise Dilemma: Native vs. Web
The Enterprise Dilemma: Native vs. Web
 
Mobile Drupal
Mobile DrupalMobile Drupal
Mobile Drupal
 
Sviluppo x platform con xamarin
Sviluppo x platform con xamarin Sviluppo x platform con xamarin
Sviluppo x platform con xamarin
 
Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)
Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)
Cross platform mobile development (speaker Vitaly Ilchenko, Binary Studio)
 

More from Marcel de Vries

Best practices for using open source software in the enterprise
Best practices for using open source software in the enterpriseBest practices for using open source software in the enterprise
Best practices for using open source software in the enterpriseMarcel de Vries
 
Architecting systems for continuous delivery
Architecting systems for continuous deliveryArchitecting systems for continuous delivery
Architecting systems for continuous deliveryMarcel de Vries
 
Using microsoft application insights to implement a build, measure, learn loop
Using microsoft application insights to implement a build, measure, learn loopUsing microsoft application insights to implement a build, measure, learn loop
Using microsoft application insights to implement a build, measure, learn loopMarcel de Vries
 
Continuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual StudioContinuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual StudioMarcel de Vries
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013Marcel de Vries
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013Marcel de Vries
 
Leveraging the azure cloud for your mobile apps
Leveraging the azure cloud for your mobile appsLeveraging the azure cloud for your mobile apps
Leveraging the azure cloud for your mobile appsMarcel de Vries
 
Mobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteemMobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteemMarcel de Vries
 

More from Marcel de Vries (8)

Best practices for using open source software in the enterprise
Best practices for using open source software in the enterpriseBest practices for using open source software in the enterprise
Best practices for using open source software in the enterprise
 
Architecting systems for continuous delivery
Architecting systems for continuous deliveryArchitecting systems for continuous delivery
Architecting systems for continuous delivery
 
Using microsoft application insights to implement a build, measure, learn loop
Using microsoft application insights to implement a build, measure, learn loopUsing microsoft application insights to implement a build, measure, learn loop
Using microsoft application insights to implement a build, measure, learn loop
 
Continuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual StudioContinuous delivery with Release Management for visual Studio
Continuous delivery with Release Management for visual Studio
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013
 
Release management with tfs 2013
Release management with tfs 2013Release management with tfs 2013
Release management with tfs 2013
 
Leveraging the azure cloud for your mobile apps
Leveraging the azure cloud for your mobile appsLeveraging the azure cloud for your mobile apps
Leveraging the azure cloud for your mobile apps
 
Mobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteemMobile en cloud wat is de impact op ons huidige it ecosysteem
Mobile en cloud wat is de impact op ons huidige it ecosysteem
 

Recently uploaded

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Recently uploaded (20)

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Developing cross-platform mobile apps with C

  • 1.
  • 2. Willem Marcel Developing Meints de Vries Developer Technology Manager iPhone, Android and Developer, Info Support Info Support Info Support Windows Phone 7 applications with C# Roy Cornelissen IT Architect, Architect Info Support
  • 3. Myths ALM Patterns Proof
  • 5.
  • 6.
  • 7. C / C++ Different CPU architectures C# / Silverlight 3+
  • 8.
  • 10. WP7 Xamarin Silverlight MonoTouch Xamarin Mono for Android Appcelerator Adobe AIR Titanium WP7 ActionScript JavaScript > Native Silverlight XCode C# Objective-C Rhodes Service2Media C# Ruby + HTML Lua Android SDK Java Sybase App Logic Unwired Antenna “4GL” code gen Rapid Shared Scripting language Language PhoneGap HTML5 / CSS / JS Vendor tools “Magic Box” Hybrid
  • 11.
  • 12.
  • 13.
  • 14. Yes there is overhead But it’s no problem Make the app feel fast
  • 15.
  • 16.
  • 17. iOS Android: Windows Phone: MonoTouch.CoreLocation Android.Hardware.Sensor Microsoft.Devices.Sensors.Gyroscope MonoTouch.CoreMotion Android.Location Microsoft.Devices.Sensors.Accelerometer MonoTouch.AVFoundation Android.Bluetooth Microsoft.Devices.Sensors.Compass MonoTouch.AddressBook Android.Nfc Microsoft.Devices.Sensors.Motion MonoTouch.EventKit … … …
  • 18.
  • 19. Per App Android Reusable 16% 20% Specific WP7 35% 12% iOS 18% Shared app Shared logic 65% 20% Windows8 14%
  • 20.
  • 21. Roy Willem Marcel Cornelissen Meints de Vries
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. View Controller ViewModel Model GPS Motion sensors Bridge Shared  Platform specific Storage Etc. Shared? Services
  • 28.
  • 29. S S S F F F UIViewController XAML View Activity public void OnSuccess(object data) { public void OnFailed(Exception e) Model Shared Controller //{Do something with data // Notify user // Do something with error PropertyChanged(“Events”); } } GetActualEvents (Action<object> OnSuccess, Action<Exception> OnFail) Web Services
  • 30.
  • 31.
  • 32. Demo
  • 33.
  • 34. Willem Marcel Meints de Vries @wmeints @marcelv Roy Cornelissen @roycornelissen