SlideShare une entreprise Scribd logo
1  sur  36
Photo: phoneArena.com


                            Developing for Windows Phone:
                                a Guide for iOS Developers




                             MICROSOFT CAMPUS
                             MOUNTAIN VIEW, CA
                               MARCH 18, 2013
3.18.2013 - WWW.QUBOP.COM
Hello!

                              Evan Kirchhoff, CTO
                              evan@qubop.com
                              Twitter: @theevank




                            www.qubop.com
                             Twitter: @qubopinc
3.18.2013 - WWW.QUBOP.COM
About Qubop Inc.

     Qubop is a mobile app design, development and consulting company, originally founded as a digital agency in
     2002. Current clients include interactive agencies, consumer brands, healthcare firms, Fortune 500 companies
     and early-stage startups. Company principals have worked in mobile for over 10 years, and have deep
     knowledge of the industry and platform landscape.

     Qubop has strong in-house native development teams for both iOS and Android. We have successfully
     designed and shipped dozens of mobile apps, providing end-to-end solutions from the earliest discovery
     phases to full application programming and maintenance.

     Our own apps have been featured by Apple in the iTunes stores in the US, Canada and Japan, by Barnes &
     Noble in the Nook Shop, and by Amazon in the Appstore for Android. We have also created apps for Windows
     Phone, and are currently porting apps to BlackBerry 10.




3.18.2013 - WWW.QUBOP.COM
WWW.QUBOP.COM
Developing for Windows Phone:
                     a Guide for iOS Developers


                 1. Setting up your Mac
                 2. Configuring your environment
                 3. Porting iOS apps to Windows Phone
                 4. The Microsoft mobile toolchain


3.18.2013 - WWW.QUBOP.COM
Possibly the best Windows laptop on the market*




     X
(Difficult to run WP simulator)
                                                                        ✓
                                                                            Use BootCamp:
                                                                         Applications/Utilities/
                                                                        Boot Camp Assistant.app




                                  * Although not exactly the cheapest

3.18.2013 - WWW.QUBOP.COM
As of last week, Windows 8 finally supported on Macs (Mountain Lion only)
3.18.2013 - WWW.QUBOP.COM
Dual-booting Windows on Mac: Recommended Setup



       100GB
       MINIMUM PARTITION SIZE
                                 INSTALL UTILITIES FOR:

                                 Reading foreign filesystems
                                 Partition handling

         OPTICAL                 Tweaking Mac hardware
                                 behavior in Windows
          DRIVE
             MAKES LIFE EASIER   Also join Microsoft’s
                                 BizSpark Program!

3.18.2013 - WWW.QUBOP.COM
Join BizSpark for free OS licenses and dev tools: http://www.microsoft.com/bizspark
3.18.2013 - WWW.QUBOP.COM              (Must be less than 5 years old, less than $1M annual revenue)
Developing for Windows Phone:
                     a Guide for iOS Developers


                 1. Setting up your Mac
                 2. Configuring your environment
                 3. Porting iOS apps to Windows Phone
                 4. The Microsoft mobile toolchain


3.18.2013 - WWW.QUBOP.COM
Recommended:




                            http://www.paragon-software.com/home/ntfs-hfs-bundle/
3.18.2013 - WWW.QUBOP.COM
“Oops, I made my Windows partition too small!”




                            http://www.paragon-software.com/home/camptune/


3.18.2013 - WWW.QUBOP.COM
Recommended: install Trackpad++ http://trackpad.powerplan7.com
3.18.2013 - WWW.QUBOP.COM speed, multitouch gestures and Lion-style reverse scrolling in Windows on MacBook)
               (Fix pointer
Remap Mac keyboard (in Windows mode)
                 to avoid motor-memory madness




                   SUGGESTION: SWAP ALT AND COMMAND KEYS IN WINDOWS,
                      SO (CMD-TAB) SWITCHES APPS ON BOTH PLATFORMS



3.18.2013 - WWW.QUBOP.COM
Or just go buy a dedicated
                            Windows PC for development
                            (They’re inexpensive!)


3.18.2013 - WWW.QUBOP.COM
Developing for Windows Phone:
                     a Guide for iOS Developers


                 1. Setting up your Mac
                 2. Configuring your environment
                 3. Porting iOS apps to Windows Phone
                 4. The Microsoft mobile toolchain


3.18.2013 - WWW.QUBOP.COM
MOBIPARK (IPHONE)



3.18.2013 - WWW.QUBOP.COM
MOBIPARK (WINDOWS PHONE)



3.18.2013 - WWW.QUBOP.COM
Replicating the iOS UIPickerView control (XAML portion)
3.18.2013 - WWW.QUBOP.COM
Replicating the iOS UIPickerView control (C# portion)
3.18.2013 - WWW.QUBOP.COM
MOBIMILEAGE (IPHONE)
        (Popular, but could not port to WP7, due to requirement for constant background GPS updates)


3.18.2013 - WWW.QUBOP.COM
Now possible in Windows Phone 8!




                                MOBIMILEAGE (WINDOWS PHONE 8)


3.18.2013 - WWW.QUBOP.COM
Don’t replicate iOS/Android UI




   FOURSQUARE (IOS)         FOURSQUARE (ANDROID)   FOURSQUARE (WINDOWS PHONE)



3.18.2013 - WWW.QUBOP.COM
The Panorama Control




                            24px “peek”


3.18.2013 - WWW.QUBOP.COM
Panorama = Tab Bar (iOS) or Action Bar (Android)




                            WINDOWS
                             PHONE     IOS          ANDROID

3.18.2013 - WWW.QUBOP.COM
Pivot = Segmented Control (iOS)




                            WINDOWS MAIL


3.18.2013 - WWW.QUBOP.COM
“Application Bar” = Toolbar (iOS) + Menu Button (Android)




                                                            +




3.18.2013 - WWW.QUBOP.COM
Don’t nest draggable elements inside a draggable screen




      Top-level                                                Drill-down
          map is                                               map responds
non-draggable,                                                 to drag, pinch/
 only clickable:                                               zoom gestures




                                  Use hardware back button,
3.18.2013 - WWW.QUBOP.COM         not in-app back navigation
Take the Back Button Seriously




                 DO NOT ADD YOUR OWN BACK BUTTONS WITHIN YOUR APP
          USE HARDWARE BACK BUTTON TO CLOSE DIALOGS, DISMISS KEYBOARD
         DO NOT USE THE BACK BUTTON TO MOVE SIDEWAYS IN PIVOT/PANORAMA

3.18.2013 - WWW.QUBOP.COM
Remember that the platforms are divided differently
                      “PC”                     “MOBILE”




3.18.2013 - WWW.QUBOP.COM
Developing for Windows Phone:
                     a Guide for iOS Developers


                 1. Setting up your Mac
                 2. Configuring your environment
                 3. Porting iOS apps to Windows Phone
                 4. The Microsoft mobile toolchain


3.18.2013 - WWW.QUBOP.COM
What to expect if coming from iOS to Windows Phone

     • More rapid development
         Up to 4:1* advantage in time and code size vs. iOS

     • Apps are prettier by default
         Beautiful layouts & parallax scrolling built into stock templates

     • Typically less custom UI work
         Platform assumes high UI standardization across apps


                            * For apps where code is heavily UI-based

3.18.2013 - WWW.QUBOP.COM
4500 LINES OF CODE   900 LINES OF CODE
3.18.2013 - WWW.QUBOP.COM
Visual Studio: project templates for Windows Phone design patterns
3.18.2013 - WWW.QUBOP.COM
Visual Studio: substantial code automatically generated with app templates
3.18.2013 - WWW.QUBOP.COM
WP8 = 3 screen sizes, WP7 = 1 screen size (“Emulator 7.1”)
       Overall development experience: more like iOS than Android
3.18.2013 - WWW.QUBOP.COM
Thanks!

                              Evan Kirchhoff, CTO
                              evan@qubop.com
                              Twitter: @theevank




                            www.qubop.com
                             Twitter: @qubopinc
3.18.2013 - WWW.QUBOP.COM

Contenu connexe

Tendances

Trends in mobile technology for the event market FEO 2015
Trends in mobile technology for the event market FEO 2015Trends in mobile technology for the event market FEO 2015
Trends in mobile technology for the event market FEO 2015Allan Isfan
 
Mobile advertising by Yann Lechelle from Appsfire
Mobile advertising by Yann Lechelle from AppsfireMobile advertising by Yann Lechelle from Appsfire
Mobile advertising by Yann Lechelle from AppsfireCocoaHeads France
 
Need more speed! Pain of mobile app development. Case: Virittäjät
Need more speed! Pain of mobile app development. Case: VirittäjätNeed more speed! Pain of mobile app development. Case: Virittäjät
Need more speed! Pain of mobile app development. Case: VirittäjätVincitOy
 
What are the challenges in i os app development
What are the challenges in i os app developmentWhat are the challenges in i os app development
What are the challenges in i os app developmentSatawareTechnologies
 
Vietnam Mobile Day 2013: App Monetization 4 Secrets to Success
Vietnam Mobile Day 2013: App Monetization 4 Secrets to SuccessVietnam Mobile Day 2013: App Monetization 4 Secrets to Success
Vietnam Mobile Day 2013: App Monetization 4 Secrets to SuccessGameLandVN
 
[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to success
[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to success[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to success
[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to successAiTi Education
 
Web App VS. Hybrid App VS. Native App?
Web App VS. Hybrid App VS. Native App?Web App VS. Hybrid App VS. Native App?
Web App VS. Hybrid App VS. Native App?Justin O'Neill
 
UVic Startup Slam September 2014 (Kano Apps)
UVic Startup Slam September 2014 (Kano Apps)UVic Startup Slam September 2014 (Kano Apps)
UVic Startup Slam September 2014 (Kano Apps)sendwithus
 
Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?Effective
 
[Mobile Monday T7] - 4 Secrets to successful app Monetization
[Mobile Monday T7] - 4 Secrets to successful app Monetization [Mobile Monday T7] - 4 Secrets to successful app Monetization
[Mobile Monday T7] - 4 Secrets to successful app Monetization AiTi Education
 
Mobile Monday 07/2013: App Monetization 4 Secrets to Success
Mobile Monday 07/2013: App Monetization 4 Secrets to SuccessMobile Monday 07/2013: App Monetization 4 Secrets to Success
Mobile Monday 07/2013: App Monetization 4 Secrets to SuccessGameLandVN
 
Learning salesforce-mobile-way
Learning salesforce-mobile-wayLearning salesforce-mobile-way
Learning salesforce-mobile-wayAbhinav Gupta
 
Do You Need a Web App or a Native App?
Do You Need a Web App or a Native App?Do You Need a Web App or a Native App?
Do You Need a Web App or a Native App?iFactory Digital
 
Hybrid vs Native Mobile App. Decide in 5 minutes!
Hybrid vs Native Mobile App. Decide in 5 minutes!Hybrid vs Native Mobile App. Decide in 5 minutes!
Hybrid vs Native Mobile App. Decide in 5 minutes!July Systems
 
Native vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationNative vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationLoic Ortola
 

Tendances (20)

Trends in mobile technology for the event market FEO 2015
Trends in mobile technology for the event market FEO 2015Trends in mobile technology for the event market FEO 2015
Trends in mobile technology for the event market FEO 2015
 
Mobile advertising by Yann Lechelle from Appsfire
Mobile advertising by Yann Lechelle from AppsfireMobile advertising by Yann Lechelle from Appsfire
Mobile advertising by Yann Lechelle from Appsfire
 
Need more speed! Pain of mobile app development. Case: Virittäjät
Need more speed! Pain of mobile app development. Case: VirittäjätNeed more speed! Pain of mobile app development. Case: Virittäjät
Need more speed! Pain of mobile app development. Case: Virittäjät
 
What are the challenges in i os app development
What are the challenges in i os app developmentWhat are the challenges in i os app development
What are the challenges in i os app development
 
Vietnam Mobile Day 2013: App Monetization 4 Secrets to Success
Vietnam Mobile Day 2013: App Monetization 4 Secrets to SuccessVietnam Mobile Day 2013: App Monetization 4 Secrets to Success
Vietnam Mobile Day 2013: App Monetization 4 Secrets to Success
 
[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to success
[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to success[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to success
[Vietnam Mobile Day 2013] - App monetization - 4 Secrets to success
 
Web App VS. Hybrid App VS. Native App?
Web App VS. Hybrid App VS. Native App?Web App VS. Hybrid App VS. Native App?
Web App VS. Hybrid App VS. Native App?
 
Native Application Development Company
Native Application Development CompanyNative Application Development Company
Native Application Development Company
 
UVic Startup Slam September 2014 (Kano Apps)
UVic Startup Slam September 2014 (Kano Apps)UVic Startup Slam September 2014 (Kano Apps)
UVic Startup Slam September 2014 (Kano Apps)
 
Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?
 
Marketing
MarketingMarketing
Marketing
 
[Mobile Monday T7] - 4 Secrets to successful app Monetization
[Mobile Monday T7] - 4 Secrets to successful app Monetization [Mobile Monday T7] - 4 Secrets to successful app Monetization
[Mobile Monday T7] - 4 Secrets to successful app Monetization
 
Mobile Monday 07/2013: App Monetization 4 Secrets to Success
Mobile Monday 07/2013: App Monetization 4 Secrets to SuccessMobile Monday 07/2013: App Monetization 4 Secrets to Success
Mobile Monday 07/2013: App Monetization 4 Secrets to Success
 
Learning salesforce-mobile-way
Learning salesforce-mobile-wayLearning salesforce-mobile-way
Learning salesforce-mobile-way
 
Do You Need a Web App or a Native App?
Do You Need a Web App or a Native App?Do You Need a Web App or a Native App?
Do You Need a Web App or a Native App?
 
Mobile Web vs App
Mobile Web vs AppMobile Web vs App
Mobile Web vs App
 
Hybrid vs Native Mobile App. Decide in 5 minutes!
Hybrid vs Native Mobile App. Decide in 5 minutes!Hybrid vs Native Mobile App. Decide in 5 minutes!
Hybrid vs Native Mobile App. Decide in 5 minutes!
 
Native vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationNative vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile application
 
Firefox OS Intro
Firefox OS IntroFirefox OS Intro
Firefox OS Intro
 
Mobile app
Mobile appMobile app
Mobile app
 

En vedette

Stretching - Si o No alla ginnastica più soft del mondo?
Stretching - Si o No alla ginnastica più soft del mondo?Stretching - Si o No alla ginnastica più soft del mondo?
Stretching - Si o No alla ginnastica più soft del mondo?kungfulife
 
Taller1 psicomotricidad
Taller1 psicomotricidadTaller1 psicomotricidad
Taller1 psicomotricidadJessy Clemente
 
Manual la-creatividad-en-el-aula-cvlp-baja
Manual la-creatividad-en-el-aula-cvlp-bajaManual la-creatividad-en-el-aula-cvlp-baja
Manual la-creatividad-en-el-aula-cvlp-bajaJessy Clemente
 
2003 Winter Newsletter
2003 Winter Newsletter2003 Winter Newsletter
2003 Winter NewsletterDirect Relief
 
Hum2220 0915 syllabus
Hum2220 0915 syllabusHum2220 0915 syllabus
Hum2220 0915 syllabusProfWillAdams
 
いつものことご紹介
いつものことご紹介いつものことご紹介
いつものことご紹介Shinichi Yamao
 
Exploring Cloud Credentials for Institutional Use
Exploring Cloud Credentials for Institutional UseExploring Cloud Credentials for Institutional Use
Exploring Cloud Credentials for Institutional UseJeremy Rosenberg
 
2006 Winter Newsletter
2006 Winter Newsletter2006 Winter Newsletter
2006 Winter NewsletterDirect Relief
 
Hum2220 art of the stone age
Hum2220 art of the stone ageHum2220 art of the stone age
Hum2220 art of the stone ageProfWillAdams
 
Виртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDВиртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDOpenFest team
 
Hum2220 fa2016 syllabus
Hum2220 fa2016 syllabusHum2220 fa2016 syllabus
Hum2220 fa2016 syllabusProfWillAdams
 
상상지니릴레이
상상지니릴레이상상지니릴레이
상상지니릴레이HaNee Seo
 

En vedette (20)

Stretching - Si o No alla ginnastica più soft del mondo?
Stretching - Si o No alla ginnastica più soft del mondo?Stretching - Si o No alla ginnastica più soft del mondo?
Stretching - Si o No alla ginnastica più soft del mondo?
 
Actividades
ActividadesActividades
Actividades
 
2 profesorado
2 profesorado2 profesorado
2 profesorado
 
Lectojuegos
LectojuegosLectojuegos
Lectojuegos
 
Taller1 psicomotricidad
Taller1 psicomotricidadTaller1 psicomotricidad
Taller1 psicomotricidad
 
2 alumno
2 alumno2 alumno
2 alumno
 
Folleto odm
Folleto odmFolleto odm
Folleto odm
 
Manual la-creatividad-en-el-aula-cvlp-baja
Manual la-creatividad-en-el-aula-cvlp-bajaManual la-creatividad-en-el-aula-cvlp-baja
Manual la-creatividad-en-el-aula-cvlp-baja
 
2003 Winter Newsletter
2003 Winter Newsletter2003 Winter Newsletter
2003 Winter Newsletter
 
Hum2220 0915 syllabus
Hum2220 0915 syllabusHum2220 0915 syllabus
Hum2220 0915 syllabus
 
ARH2050 Syllabus
ARH2050 SyllabusARH2050 Syllabus
ARH2050 Syllabus
 
いつものことご紹介
いつものことご紹介いつものことご紹介
いつものことご紹介
 
Exploring Cloud Credentials for Institutional Use
Exploring Cloud Credentials for Institutional UseExploring Cloud Credentials for Institutional Use
Exploring Cloud Credentials for Institutional Use
 
2006 Winter Newsletter
2006 Winter Newsletter2006 Winter Newsletter
2006 Winter Newsletter
 
Hum2220 art of the stone age
Hum2220 art of the stone ageHum2220 art of the stone age
Hum2220 art of the stone age
 
Виртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSDВиртуализирано видеонаблюдение под FreeBSD
Виртуализирано видеонаблюдение под FreeBSD
 
Hum2220 fa2016 syllabus
Hum2220 fa2016 syllabusHum2220 fa2016 syllabus
Hum2220 fa2016 syllabus
 
Power point harp seal
Power point harp sealPower point harp seal
Power point harp seal
 
상상지니릴레이
상상지니릴레이상상지니릴레이
상상지니릴레이
 
Websurvey
WebsurveyWebsurvey
Websurvey
 

Similaire à Developing for Windows Phone: A Guide for iOS Developers

iOS & Android Application Development - Pee Dee User Group Meeting
iOS & Android Application Development - Pee Dee User Group MeetingiOS & Android Application Development - Pee Dee User Group Meeting
iOS & Android Application Development - Pee Dee User Group MeetingJim Tochterman
 
Dia 1 intro to mobile and xamarin
Dia 1   intro to mobile and xamarinDia 1   intro to mobile and xamarin
Dia 1 intro to mobile and xamarinHernan Zaldivar
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorialLokesh Agrawal
 
Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1Teamstudio
 
Why progressive apps for WordPress - WordSesh 2020
Why progressive apps for WordPress - WordSesh 2020Why progressive apps for WordPress - WordSesh 2020
Why progressive apps for WordPress - WordSesh 2020Imran Sayed
 
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)Bram Vanderhaeghe
 
Wrangling Apps in the Smartphone Wild West
Wrangling Apps in the Smartphone Wild WestWrangling Apps in the Smartphone Wild West
Wrangling Apps in the Smartphone Wild WestGinsburg Design
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsSimon Guest
 
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)Mark Radacz
 
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...Paul Della-Nebbia
 
BP110: The Mobile Distruption - Why XPages Development is targeting Mobile First
BP110: The Mobile Distruption - Why XPages Development is targeting Mobile FirstBP110: The Mobile Distruption - Why XPages Development is targeting Mobile First
BP110: The Mobile Distruption - Why XPages Development is targeting Mobile FirstJohn Head
 
Openmokast: The open broadcasting software stack for mobile devices
Openmokast: The open broadcasting software stack for mobile devicesOpenmokast: The open broadcasting software stack for mobile devices
Openmokast: The open broadcasting software stack for mobile devicesJean-Michel Bouffard
 
Why Progressive Web Apps For WordPress - WordCamp Finland
Why Progressive Web Apps For WordPress - WordCamp FinlandWhy Progressive Web Apps For WordPress - WordCamp Finland
Why Progressive Web Apps For WordPress - WordCamp FinlandImran Sayed
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009Tom Deryckere
 

Similaire à Developing for Windows Phone: A Guide for iOS Developers (20)

[IJCT-V3I2P36] Authors: Amarbir Singh
[IJCT-V3I2P36] Authors: Amarbir Singh[IJCT-V3I2P36] Authors: Amarbir Singh
[IJCT-V3I2P36] Authors: Amarbir Singh
 
Mobile Application Testing
Mobile Application TestingMobile Application Testing
Mobile Application Testing
 
iOS & Android Application Development - Pee Dee User Group Meeting
iOS & Android Application Development - Pee Dee User Group MeetingiOS & Android Application Development - Pee Dee User Group Meeting
iOS & Android Application Development - Pee Dee User Group Meeting
 
Dia 1 intro to mobile and xamarin
Dia 1   intro to mobile and xamarinDia 1   intro to mobile and xamarin
Dia 1 intro to mobile and xamarin
 
Mobile application testing tutorial
Mobile application testing tutorialMobile application testing tutorial
Mobile application testing tutorial
 
Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1Wireless Wednesdays: Part 1
Wireless Wednesdays: Part 1
 
Why progressive apps for WordPress - WordSesh 2020
Why progressive apps for WordPress - WordSesh 2020Why progressive apps for WordPress - WordSesh 2020
Why progressive apps for WordPress - WordSesh 2020
 
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
Responsive Web Design (Microsoft Web & Phone UX Tour 2011)
 
Wrangling Apps in the Smartphone Wild West
Wrangling Apps in the Smartphone Wild WestWrangling Apps in the Smartphone Wild West
Wrangling Apps in the Smartphone Wild West
 
Developing Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile ApplicationsDeveloping Enterprise-Grade Mobile Applications
Developing Enterprise-Grade Mobile Applications
 
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
X-Platform native apps in C# and .NET using Xamarin tools (iOS/WP/Android)
 
Introduction to Android
Introduction to AndroidIntroduction to Android
Introduction to Android
 
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...Get the Jump on Mobilizing your Notes and Domino Applications Today!  (JMP103...
Get the Jump on Mobilizing your Notes and Domino Applications Today! (JMP103...
 
BP110: The Mobile Distruption - Why XPages Development is targeting Mobile First
BP110: The Mobile Distruption - Why XPages Development is targeting Mobile FirstBP110: The Mobile Distruption - Why XPages Development is targeting Mobile First
BP110: The Mobile Distruption - Why XPages Development is targeting Mobile First
 
Openmokast: The open broadcasting software stack for mobile devices
Openmokast: The open broadcasting software stack for mobile devicesOpenmokast: The open broadcasting software stack for mobile devices
Openmokast: The open broadcasting software stack for mobile devices
 
Why Progressive Web Apps For WordPress - WordCamp Finland
Why Progressive Web Apps For WordPress - WordCamp FinlandWhy Progressive Web Apps For WordPress - WordCamp Finland
Why Progressive Web Apps For WordPress - WordCamp Finland
 
Firefox OS Presentation
Firefox OS PresentationFirefox OS Presentation
Firefox OS Presentation
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009
 
Responsive design
Responsive designResponsive design
Responsive design
 

Dernier

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
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
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Dernier (20)

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
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
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

Developing for Windows Phone: A Guide for iOS Developers

  • 1. Photo: phoneArena.com Developing for Windows Phone: a Guide for iOS Developers MICROSOFT CAMPUS MOUNTAIN VIEW, CA MARCH 18, 2013 3.18.2013 - WWW.QUBOP.COM
  • 2. Hello! Evan Kirchhoff, CTO evan@qubop.com Twitter: @theevank www.qubop.com Twitter: @qubopinc 3.18.2013 - WWW.QUBOP.COM
  • 3. About Qubop Inc. Qubop is a mobile app design, development and consulting company, originally founded as a digital agency in 2002. Current clients include interactive agencies, consumer brands, healthcare firms, Fortune 500 companies and early-stage startups. Company principals have worked in mobile for over 10 years, and have deep knowledge of the industry and platform landscape. Qubop has strong in-house native development teams for both iOS and Android. We have successfully designed and shipped dozens of mobile apps, providing end-to-end solutions from the earliest discovery phases to full application programming and maintenance. Our own apps have been featured by Apple in the iTunes stores in the US, Canada and Japan, by Barnes & Noble in the Nook Shop, and by Amazon in the Appstore for Android. We have also created apps for Windows Phone, and are currently porting apps to BlackBerry 10. 3.18.2013 - WWW.QUBOP.COM WWW.QUBOP.COM
  • 4. Developing for Windows Phone: a Guide for iOS Developers 1. Setting up your Mac 2. Configuring your environment 3. Porting iOS apps to Windows Phone 4. The Microsoft mobile toolchain 3.18.2013 - WWW.QUBOP.COM
  • 5. Possibly the best Windows laptop on the market* X (Difficult to run WP simulator) ✓ Use BootCamp: Applications/Utilities/ Boot Camp Assistant.app * Although not exactly the cheapest 3.18.2013 - WWW.QUBOP.COM
  • 6. As of last week, Windows 8 finally supported on Macs (Mountain Lion only) 3.18.2013 - WWW.QUBOP.COM
  • 7. Dual-booting Windows on Mac: Recommended Setup 100GB MINIMUM PARTITION SIZE INSTALL UTILITIES FOR: Reading foreign filesystems Partition handling OPTICAL Tweaking Mac hardware behavior in Windows DRIVE MAKES LIFE EASIER Also join Microsoft’s BizSpark Program! 3.18.2013 - WWW.QUBOP.COM
  • 8. Join BizSpark for free OS licenses and dev tools: http://www.microsoft.com/bizspark 3.18.2013 - WWW.QUBOP.COM (Must be less than 5 years old, less than $1M annual revenue)
  • 9. Developing for Windows Phone: a Guide for iOS Developers 1. Setting up your Mac 2. Configuring your environment 3. Porting iOS apps to Windows Phone 4. The Microsoft mobile toolchain 3.18.2013 - WWW.QUBOP.COM
  • 10. Recommended: http://www.paragon-software.com/home/ntfs-hfs-bundle/ 3.18.2013 - WWW.QUBOP.COM
  • 11. “Oops, I made my Windows partition too small!” http://www.paragon-software.com/home/camptune/ 3.18.2013 - WWW.QUBOP.COM
  • 12. Recommended: install Trackpad++ http://trackpad.powerplan7.com 3.18.2013 - WWW.QUBOP.COM speed, multitouch gestures and Lion-style reverse scrolling in Windows on MacBook) (Fix pointer
  • 13. Remap Mac keyboard (in Windows mode) to avoid motor-memory madness SUGGESTION: SWAP ALT AND COMMAND KEYS IN WINDOWS, SO (CMD-TAB) SWITCHES APPS ON BOTH PLATFORMS 3.18.2013 - WWW.QUBOP.COM
  • 14. Or just go buy a dedicated Windows PC for development (They’re inexpensive!) 3.18.2013 - WWW.QUBOP.COM
  • 15. Developing for Windows Phone: a Guide for iOS Developers 1. Setting up your Mac 2. Configuring your environment 3. Porting iOS apps to Windows Phone 4. The Microsoft mobile toolchain 3.18.2013 - WWW.QUBOP.COM
  • 18. Replicating the iOS UIPickerView control (XAML portion) 3.18.2013 - WWW.QUBOP.COM
  • 19. Replicating the iOS UIPickerView control (C# portion) 3.18.2013 - WWW.QUBOP.COM
  • 20. MOBIMILEAGE (IPHONE) (Popular, but could not port to WP7, due to requirement for constant background GPS updates) 3.18.2013 - WWW.QUBOP.COM
  • 21. Now possible in Windows Phone 8! MOBIMILEAGE (WINDOWS PHONE 8) 3.18.2013 - WWW.QUBOP.COM
  • 22. Don’t replicate iOS/Android UI FOURSQUARE (IOS) FOURSQUARE (ANDROID) FOURSQUARE (WINDOWS PHONE) 3.18.2013 - WWW.QUBOP.COM
  • 23. The Panorama Control 24px “peek” 3.18.2013 - WWW.QUBOP.COM
  • 24. Panorama = Tab Bar (iOS) or Action Bar (Android) WINDOWS PHONE IOS ANDROID 3.18.2013 - WWW.QUBOP.COM
  • 25. Pivot = Segmented Control (iOS) WINDOWS MAIL 3.18.2013 - WWW.QUBOP.COM
  • 26. “Application Bar” = Toolbar (iOS) + Menu Button (Android) + 3.18.2013 - WWW.QUBOP.COM
  • 27. Don’t nest draggable elements inside a draggable screen Top-level Drill-down map is map responds non-draggable, to drag, pinch/ only clickable: zoom gestures Use hardware back button, 3.18.2013 - WWW.QUBOP.COM not in-app back navigation
  • 28. Take the Back Button Seriously DO NOT ADD YOUR OWN BACK BUTTONS WITHIN YOUR APP USE HARDWARE BACK BUTTON TO CLOSE DIALOGS, DISMISS KEYBOARD DO NOT USE THE BACK BUTTON TO MOVE SIDEWAYS IN PIVOT/PANORAMA 3.18.2013 - WWW.QUBOP.COM
  • 29. Remember that the platforms are divided differently “PC” “MOBILE” 3.18.2013 - WWW.QUBOP.COM
  • 30. Developing for Windows Phone: a Guide for iOS Developers 1. Setting up your Mac 2. Configuring your environment 3. Porting iOS apps to Windows Phone 4. The Microsoft mobile toolchain 3.18.2013 - WWW.QUBOP.COM
  • 31. What to expect if coming from iOS to Windows Phone • More rapid development Up to 4:1* advantage in time and code size vs. iOS • Apps are prettier by default Beautiful layouts & parallax scrolling built into stock templates • Typically less custom UI work Platform assumes high UI standardization across apps * For apps where code is heavily UI-based 3.18.2013 - WWW.QUBOP.COM
  • 32. 4500 LINES OF CODE 900 LINES OF CODE 3.18.2013 - WWW.QUBOP.COM
  • 33. Visual Studio: project templates for Windows Phone design patterns 3.18.2013 - WWW.QUBOP.COM
  • 34. Visual Studio: substantial code automatically generated with app templates 3.18.2013 - WWW.QUBOP.COM
  • 35. WP8 = 3 screen sizes, WP7 = 1 screen size (“Emulator 7.1”) Overall development experience: more like iOS than Android 3.18.2013 - WWW.QUBOP.COM
  • 36. Thanks! Evan Kirchhoff, CTO evan@qubop.com Twitter: @theevank www.qubop.com Twitter: @qubopinc 3.18.2013 - WWW.QUBOP.COM