SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Rudi Grobler http://www.rudigrobler.net @rudigrobler An end-to-end experience of Windows Phone 7 development TRACK: NEXT GENERATION
agenda Two part session The basics Build app from File -> New… Advanced tips and tricks Loads of content Caveat: this is NOT a marketing session on how cool the phone is… This is how to build a application end-to-end Feel free to ask questions ANY time... Windows Phone 7 App Smackdown
applications Omoplata Scrumy7 Podium Professional Audio Recorder 7MC Gofer Brew Master
Brew Master demo
hardware foundation Capacitive touch 4 or more contact points Sensors A-GPS, Accelerometer, Compass, Light, Proximity Camera 5 mega pixels or more Multimedia Common detailed specs, Codec  acceleration 800 Memory 256MB RAM or more, 8GB Flash or more GPU DirectX 9 acceleration CPU Qualcomm MSM8x55 1Ghz (800Mhz) or higher 480 Hardware buttons | Back, Start, Search Qualcomm MSM7x30 & Gyroscope
common platform capabilities .NET Superset of Silverlight 3.0 Input Touch Hardware buttons Media Digital media capture & playback Media library access Data Isolated storage LINQ Object XML WCF SOAP & REST services Phone Access Integrated access to phone UI Sensors Pickers for contacts and photos Integrated with Cloud Services App deployment & Updates Notifications Location Xbox LIVE
Two flavours of applications Silverlight XNA Modern XAML/event-driven application UI framework Rapid creation of visual stunning applications Metro-themed UI controls 500,000 developers spanning Windows and web High performance game framework Rapid creation of multi-screen 2D & 3D games Rich content pipeline Mature, robust, widely adopted technology spanning Xbox 360, Windows and Zune XNA/Silverlight Interop
silverlight for windows phone Silverlight for Windows Phone is… Silverlight 3 minus a few things that didn’t make sense plus a few Silverlight 4 things that did plus phone specific API & “under the hood” improvements Silverlight 4 compatibility (1500+ new APIs)
Getting started… demo
navigation Applications are built like web sites Functionality is split into pages Forward navigation via links Backward navigation via Back Previous applications (pages) are in the back stack Can override back button behavior (but be careful) Transient pages Payload can be send with navigation request NO back to home buttons!!! Deep linking
Navigation demo
familiar web concepts Phone application Provides UI represented as XAML pages connected into cross-app flows by URI’s Web application Provide media represented as HTTP resources linked by URL’s Shell frame Requests pages, renders UI, and handles navigation across apps Web browser Requests HTTP resources, renders them, and handles navigation across sites History and tabs Groups together sequences of HTTP resources corresponding to a user’s activity across sites Sessions and back stack Groups together sequences of pages corresponding to a user’s activity across apps
launchers and choosers Windows Phone execution model isolates every application in its own sandbox Apps cannot directly access information stores such as contacts Cannot directly invoke other applications such as phone or messaging Launchers and Choosers allow applications indirect access to the useful phone features Launchers and Choosers APIs invoke distinct built-in applications that replace the currently running applications
launchers and choosers Launcher Launches one of the built-in applications though which a use completes a task No data is returned to calling application Example: PhoneCallTask Chooser Launches one of the built-in applications through which a user completes a task and which returns some data to calling application When caller completes, calling application is activated and supplied with the Chooser result Example: PhotoChooserTask
launchers and choosers Launchers Choosers EmailComposeTask MediaPlayerLauncher PhoneCallTask SearchTask SMSComposeTask WebBrowserTask MarketplaceDetailTask MarketplaceHubTask MarketplaceReviewTask MarketplaceSearchTask CameraCaptureTask EmailAddressChooserTask PhoneNumberChooserTask PhotoChooserTask SaveEmailAddressTask SavePhoneNumberTask Bing
Launchers and Choosers demo
choosers and the execution model IMPORTANT! When you launch a Launcher or Chooser, your app is terminated When task completes, your app may be reactivated and a new app instance created (SOMETIMES) The following choosers and tasks have relaxed thombstoning policy PhotoChooserTask CameraCaptureTask MediaPlayerLaunchTask EmailAddressChooser PhoneNumberChoose
panoramas
panoramas
pivots
panorama vs pivot Pivot Panorama Filter same data on different views (the “inbox” is a great example of this)  Optimized for current screen size  Filter of data doesn’t have to be same view (agenda/day)  Related content is ok to pivot on as long as related content is truly related  Focused  “Virtualized” Horizontal broad canvas, not confined to current screen size  A ‘top layer’ view into underlying experiences/tasks  Use white space  Performance -> Panorama loads all the pages on startup Exploratory in nature
Adding and using the Pivot demo
misuse of common controls Use the WP7 common controls appropriately. Don’t use sliders, toggles or map controls under panoramas or pivots –as they both need the same gestures to work.
MVVM on the Phone Singleton App.xaml Model PhoneApplicationPage ViewModel PhoneApplicationPage PhoneApplicationPage PhoneApplicationPage View Data Bindable properties Business logic PhoneApplicationFrame PhoneApplicationPage Controls Code-behind Wanna learn more?     Check out Silverlight Kung-fu        Starting 16:30 @ track 3
MVVM phone style… demo
networking on the phone Support for networking features WCF/ASMX HttpWebRequest WebClient No cross-domain policy file required Not supported Sockets Custom WCF Bindings WCF RIA Services NTLM authentication
WCF/ASMX services Can “Add Reference” from Windows Phone projects to automatically generate proxy classes ASMX should just work WCF requires that you use basicHttpBinding
OData Server: WCF Data Services provides an extensible tool for publishing data using REST based interface Publishes and consumes data using Odata web protocol	 Format is XML or JSON Client: Download Odata Client Library for Windows Phone    http://odata.codeplex.com/ FULL parity with Silverlight (Including LINQ and Add Service Reference support)
Getting data demo
HTTPWebRequestvsWebClient Use HttpWebRequest whenever possible Use background thread and marshal back to UI thread (Using Dispatcher.BeginInvoke) WebClient is “easier” to use but happens on the UI thread no matter where it was spawned (Bug) 6 Parallel requests limit WebClient bug fixed
marketplace Enhanced Discovery Easy to find great applications & games Fun to browse the marketplace Simple & Reliable Acquisition Try before you buy Buying and downloading content is a breeze Payment flexibility (Monthly billing and credit card) Easy application updates South Africa WILL BE supported…
marketplace It costs nothing to download the Windows Phone SDK and write code using the emulator To sell applications you need to register as a developer This costs $99 a year and  allows you to publish any  number of fee applications  and up to 99 free applications Each additional application  costs $20 Students can sign up for free Revenue sharing (30/70)
yalla apps Are you looking for a viable alternative to publish your WP7 Apps to the Windows Phone Marketplace? Yalla Apps provides the solution by publishing your apps to the Marketplace on your behalf.  Publish your apps to the Windows Phone marketplace and unlock your device for testing Share and download code in the Module Market Smooth certification process Join the developer community
yalla apps Updated Device Unlocking Yalla Apps offers a device unlock service which allows you to unlock your Windows Phone 7 to debug and test applications. The device unlock is accomplished using remote assistance access to your development machine and charged 0 Credits for the first device and 50 credits per additional device.
Yalla Apps demo
@rudigrobler Slides, demos, etc… http://www.rudigrobler.net questions
Don’t forget the Xbox Kinectshow-down after sessions this evening!
DevDays 2011 Sponsors PLATINUM SPONSOR www.bbd.co.za SILVER SPONSOR www.dvt.co.za SILVER SPONSOR www.ctutraining.co.za
Keep in Touch facebook.com/msdevsa @msdevsa http://blogs.msdn.com/southafrica
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.  MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Weitere ähnliche Inhalte

Was ist angesagt?

A Lap Around Windows Phone 8.1
A Lap Around Windows Phone 8.1A Lap Around Windows Phone 8.1
A Lap Around Windows Phone 8.1Puja Pramudya
 
Mobile Application Test check list
Mobile Application  Test check list Mobile Application  Test check list
Mobile Application Test check list Tanmoy Ray
 
B feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopmentB feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopmentsathesh leo
 
Programing for the iPhone
Programing for the iPhonePrograming for the iPhone
Programing for the iPhoneMike Qaissaunee
 
iPhone Development Overview
iPhone Development OverviewiPhone Development Overview
iPhone Development OverviewWilliam Taysom
 
Windows Phone Application Platform
Windows Phone Application PlatformWindows Phone Application Platform
Windows Phone Application PlatformDave Bost
 
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-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Howard Greenberg
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5Akib B. Momin
 
Rain Concert - Rich Internet Application Development Expertise
Rain Concert - Rich Internet Application Development ExpertiseRain Concert - Rich Internet Application Development Expertise
Rain Concert - Rich Internet Application Development ExpertiseSeema Abhilash
 
An Introduction to Universal Windows Apps
An Introduction to Universal Windows AppsAn Introduction to Universal Windows Apps
An Introduction to Universal Windows Apps Ken Cenerelli
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
Benefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - AppzureBenefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - AppzureAppzure -Mobile App Development
 
Developing Application in WP7
Developing Application in WP7Developing Application in WP7
Developing Application in WP7Kunal Chowdhury
 
Mix 2010 twilight
Mix 2010 twilightMix 2010 twilight
Mix 2010 twilightIntergen
 
Hybrid mobile app development
Hybrid mobile app developmentHybrid mobile app development
Hybrid mobile app developmentChamil Madusanka
 

Was ist angesagt? (19)

A Lap Around Windows Phone 8.1
A Lap Around Windows Phone 8.1A Lap Around Windows Phone 8.1
A Lap Around Windows Phone 8.1
 
Windows phone7 subodh
Windows phone7 subodhWindows phone7 subodh
Windows phone7 subodh
 
Mobile Application Test check list
Mobile Application  Test check list Mobile Application  Test check list
Mobile Application Test check list
 
B feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopmentB feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopment
 
Programing for the iPhone
Programing for the iPhonePrograming for the iPhone
Programing for the iPhone
 
iPhone Development Overview
iPhone Development OverviewiPhone Development Overview
iPhone Development Overview
 
Windows Phone Application Platform
Windows Phone Application PlatformWindows Phone Application Platform
Windows Phone Application Platform
 
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-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5
 
mobicon_paper
mobicon_papermobicon_paper
mobicon_paper
 
Android app development guide for freshers by ace web academy
Android app development guide for freshers  by ace web academyAndroid app development guide for freshers  by ace web academy
Android app development guide for freshers by ace web academy
 
Rain Concert - Rich Internet Application Development Expertise
Rain Concert - Rich Internet Application Development ExpertiseRain Concert - Rich Internet Application Development Expertise
Rain Concert - Rich Internet Application Development Expertise
 
Rich Internet Profile - Rainconcert
Rich Internet Profile - RainconcertRich Internet Profile - Rainconcert
Rich Internet Profile - Rainconcert
 
An Introduction to Universal Windows Apps
An Introduction to Universal Windows AppsAn Introduction to Universal Windows Apps
An Introduction to Universal Windows Apps
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
Benefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - AppzureBenefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - Appzure
 
Developing Application in WP7
Developing Application in WP7Developing Application in WP7
Developing Application in WP7
 
Mix 2010 twilight
Mix 2010 twilightMix 2010 twilight
Mix 2010 twilight
 
Hybrid mobile app development
Hybrid mobile app developmentHybrid mobile app development
Hybrid mobile app development
 

Andere mochten auch

スマートフォンセキュリティ…的な
スマートフォンセキュリティ…的なスマートフォンセキュリティ…的な
スマートフォンセキュリティ…的な高見 知英
 
スマートフォン懇親会special
スマートフォン懇親会specialスマートフォン懇親会special
スマートフォン懇親会special高見 知英
 
「人に聞く」ということ
「人に聞く」ということ「人に聞く」ということ
「人に聞く」ということ高見 知英
 
ITツールのイベント活用術
ITツールのイベント活用術ITツールのイベント活用術
ITツールのイベント活用術高見 知英
 
スマートフォンは日用品なんかじゃないぞ!
スマートフォンは日用品なんかじゃないぞ!スマートフォンは日用品なんかじゃないぞ!
スマートフォンは日用品なんかじゃないぞ!高見 知英
 
わたしがAndroidに変えたわけ
わたしがAndroidに変えたわけわたしがAndroidに変えたわけ
わたしがAndroidに変えたわけ高見 知英
 
Androidの会のご紹介
Androidの会のご紹介Androidの会のご紹介
Androidの会のご紹介高見 知英
 

Andere mochten auch (8)

スマートフォンセキュリティ…的な
スマートフォンセキュリティ…的なスマートフォンセキュリティ…的な
スマートフォンセキュリティ…的な
 
スマートフォン懇親会special
スマートフォン懇親会specialスマートフォン懇親会special
スマートフォン懇親会special
 
Magic solution mind map
Magic solution mind mapMagic solution mind map
Magic solution mind map
 
「人に聞く」ということ
「人に聞く」ということ「人に聞く」ということ
「人に聞く」ということ
 
ITツールのイベント活用術
ITツールのイベント活用術ITツールのイベント活用術
ITツールのイベント活用術
 
スマートフォンは日用品なんかじゃないぞ!
スマートフォンは日用品なんかじゃないぞ!スマートフォンは日用品なんかじゃないぞ!
スマートフォンは日用品なんかじゃないぞ!
 
わたしがAndroidに変えたわけ
わたしがAndroidに変えたわけわたしがAndroidに変えたわけ
わたしがAndroidに変えたわけ
 
Androidの会のご紹介
Androidの会のご紹介Androidの会のご紹介
Androidの会のご紹介
 

Ähnlich wie An end-to-end experience of Windows Phone 7 development (Part 2)

Windows Phone 7 Unleashed Session 1
Windows Phone 7 Unleashed Session 1Windows Phone 7 Unleashed Session 1
Windows Phone 7 Unleashed Session 1Wes Yanaga
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...RIA RUI Society
 
Windows Phone 7 Applications with Silverlight
Windows Phone 7 Applications with SilverlightWindows Phone 7 Applications with Silverlight
Windows Phone 7 Applications with SilverlightRishu Mehra
 
Windows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewWindows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewSascha Corti
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightFrank La Vigne
 
Developing Applications with Windows Phone 7
Developing Applications with Windows Phone 7Developing Applications with Windows Phone 7
Developing Applications with Windows Phone 7Brad Tutterow
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-upDerek Lakin
 
Developing windows phone 7 application with silverlight
Developing windows phone 7 application with silverlightDeveloping windows phone 7 application with silverlight
Developing windows phone 7 application with silverlightTung Nguyen Thanh
 
Windows Phone 7 and Silverlight
Windows Phone 7 and SilverlightWindows Phone 7 and Silverlight
Windows Phone 7 and SilverlightGlen Gordon
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011sullis
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15sullis
 
Titanium presentation
Titanium presentationTitanium presentation
Titanium presentationaaltavas
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to TitaniumGraham Weldon
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchSteve Drucker
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programmingPERKYTORIALS
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Developmentsoufyan rifai
 
Windows Phone 7 Architecture Overview
Windows Phone 7 Architecture OverviewWindows Phone 7 Architecture Overview
Windows Phone 7 Architecture OverviewBhavya Siddappa
 
What's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkWhat's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkSam Basu
 

Ähnlich wie An end-to-end experience of Windows Phone 7 development (Part 2) (20)

Windows Phone 7 Unleashed Session 1
Windows Phone 7 Unleashed Session 1Windows Phone 7 Unleashed Session 1
Windows Phone 7 Unleashed Session 1
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
 
Windows Phone 7 Applications with Silverlight
Windows Phone 7 Applications with SilverlightWindows Phone 7 Applications with Silverlight
Windows Phone 7 Applications with Silverlight
 
Windows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewWindows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's New
 
Windows 7 mobile
Windows 7 mobileWindows 7 mobile
Windows 7 mobile
 
Windows Phone Introduction
Windows Phone IntroductionWindows Phone Introduction
Windows Phone Introduction
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
 
Developing Applications with Windows Phone 7
Developing Applications with Windows Phone 7Developing Applications with Windows Phone 7
Developing Applications with Windows Phone 7
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-up
 
Developing windows phone 7 application with silverlight
Developing windows phone 7 application with silverlightDeveloping windows phone 7 application with silverlight
Developing windows phone 7 application with silverlight
 
Windows Phone 7 and Silverlight
Windows Phone 7 and SilverlightWindows Phone 7 and Silverlight
Windows Phone 7 and Silverlight
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15
 
Titanium presentation
Titanium presentationTitanium presentation
Titanium presentation
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to Titanium
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programming
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
Windows Phone 7 Architecture Overview
Windows Phone 7 Architecture OverviewWindows Phone 7 Architecture Overview
Windows Phone 7 Architecture Overview
 
What's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkWhat's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon Talk
 

Kürzlich hochgeladen

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Kürzlich hochgeladen (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

An end-to-end experience of Windows Phone 7 development (Part 2)

  • 1.
  • 2. Rudi Grobler http://www.rudigrobler.net @rudigrobler An end-to-end experience of Windows Phone 7 development TRACK: NEXT GENERATION
  • 3. agenda Two part session The basics Build app from File -> New… Advanced tips and tricks Loads of content Caveat: this is NOT a marketing session on how cool the phone is… This is how to build a application end-to-end Feel free to ask questions ANY time... Windows Phone 7 App Smackdown
  • 4. applications Omoplata Scrumy7 Podium Professional Audio Recorder 7MC Gofer Brew Master
  • 6. hardware foundation Capacitive touch 4 or more contact points Sensors A-GPS, Accelerometer, Compass, Light, Proximity Camera 5 mega pixels or more Multimedia Common detailed specs, Codec acceleration 800 Memory 256MB RAM or more, 8GB Flash or more GPU DirectX 9 acceleration CPU Qualcomm MSM8x55 1Ghz (800Mhz) or higher 480 Hardware buttons | Back, Start, Search Qualcomm MSM7x30 & Gyroscope
  • 7. common platform capabilities .NET Superset of Silverlight 3.0 Input Touch Hardware buttons Media Digital media capture & playback Media library access Data Isolated storage LINQ Object XML WCF SOAP & REST services Phone Access Integrated access to phone UI Sensors Pickers for contacts and photos Integrated with Cloud Services App deployment & Updates Notifications Location Xbox LIVE
  • 8. Two flavours of applications Silverlight XNA Modern XAML/event-driven application UI framework Rapid creation of visual stunning applications Metro-themed UI controls 500,000 developers spanning Windows and web High performance game framework Rapid creation of multi-screen 2D & 3D games Rich content pipeline Mature, robust, widely adopted technology spanning Xbox 360, Windows and Zune XNA/Silverlight Interop
  • 9. silverlight for windows phone Silverlight for Windows Phone is… Silverlight 3 minus a few things that didn’t make sense plus a few Silverlight 4 things that did plus phone specific API & “under the hood” improvements Silverlight 4 compatibility (1500+ new APIs)
  • 11. navigation Applications are built like web sites Functionality is split into pages Forward navigation via links Backward navigation via Back Previous applications (pages) are in the back stack Can override back button behavior (but be careful) Transient pages Payload can be send with navigation request NO back to home buttons!!! Deep linking
  • 13. familiar web concepts Phone application Provides UI represented as XAML pages connected into cross-app flows by URI’s Web application Provide media represented as HTTP resources linked by URL’s Shell frame Requests pages, renders UI, and handles navigation across apps Web browser Requests HTTP resources, renders them, and handles navigation across sites History and tabs Groups together sequences of HTTP resources corresponding to a user’s activity across sites Sessions and back stack Groups together sequences of pages corresponding to a user’s activity across apps
  • 14. launchers and choosers Windows Phone execution model isolates every application in its own sandbox Apps cannot directly access information stores such as contacts Cannot directly invoke other applications such as phone or messaging Launchers and Choosers allow applications indirect access to the useful phone features Launchers and Choosers APIs invoke distinct built-in applications that replace the currently running applications
  • 15. launchers and choosers Launcher Launches one of the built-in applications though which a use completes a task No data is returned to calling application Example: PhoneCallTask Chooser Launches one of the built-in applications through which a user completes a task and which returns some data to calling application When caller completes, calling application is activated and supplied with the Chooser result Example: PhotoChooserTask
  • 16. launchers and choosers Launchers Choosers EmailComposeTask MediaPlayerLauncher PhoneCallTask SearchTask SMSComposeTask WebBrowserTask MarketplaceDetailTask MarketplaceHubTask MarketplaceReviewTask MarketplaceSearchTask CameraCaptureTask EmailAddressChooserTask PhoneNumberChooserTask PhotoChooserTask SaveEmailAddressTask SavePhoneNumberTask Bing
  • 18. choosers and the execution model IMPORTANT! When you launch a Launcher or Chooser, your app is terminated When task completes, your app may be reactivated and a new app instance created (SOMETIMES) The following choosers and tasks have relaxed thombstoning policy PhotoChooserTask CameraCaptureTask MediaPlayerLaunchTask EmailAddressChooser PhoneNumberChoose
  • 22. panorama vs pivot Pivot Panorama Filter same data on different views (the “inbox” is a great example of this) Optimized for current screen size Filter of data doesn’t have to be same view (agenda/day) Related content is ok to pivot on as long as related content is truly related Focused “Virtualized” Horizontal broad canvas, not confined to current screen size A ‘top layer’ view into underlying experiences/tasks Use white space Performance -> Panorama loads all the pages on startup Exploratory in nature
  • 23. Adding and using the Pivot demo
  • 24. misuse of common controls Use the WP7 common controls appropriately. Don’t use sliders, toggles or map controls under panoramas or pivots –as they both need the same gestures to work.
  • 25. MVVM on the Phone Singleton App.xaml Model PhoneApplicationPage ViewModel PhoneApplicationPage PhoneApplicationPage PhoneApplicationPage View Data Bindable properties Business logic PhoneApplicationFrame PhoneApplicationPage Controls Code-behind Wanna learn more? Check out Silverlight Kung-fu Starting 16:30 @ track 3
  • 27. networking on the phone Support for networking features WCF/ASMX HttpWebRequest WebClient No cross-domain policy file required Not supported Sockets Custom WCF Bindings WCF RIA Services NTLM authentication
  • 28. WCF/ASMX services Can “Add Reference” from Windows Phone projects to automatically generate proxy classes ASMX should just work WCF requires that you use basicHttpBinding
  • 29. OData Server: WCF Data Services provides an extensible tool for publishing data using REST based interface Publishes and consumes data using Odata web protocol Format is XML or JSON Client: Download Odata Client Library for Windows Phone http://odata.codeplex.com/ FULL parity with Silverlight (Including LINQ and Add Service Reference support)
  • 31. HTTPWebRequestvsWebClient Use HttpWebRequest whenever possible Use background thread and marshal back to UI thread (Using Dispatcher.BeginInvoke) WebClient is “easier” to use but happens on the UI thread no matter where it was spawned (Bug) 6 Parallel requests limit WebClient bug fixed
  • 32. marketplace Enhanced Discovery Easy to find great applications & games Fun to browse the marketplace Simple & Reliable Acquisition Try before you buy Buying and downloading content is a breeze Payment flexibility (Monthly billing and credit card) Easy application updates South Africa WILL BE supported…
  • 33. marketplace It costs nothing to download the Windows Phone SDK and write code using the emulator To sell applications you need to register as a developer This costs $99 a year and allows you to publish any number of fee applications and up to 99 free applications Each additional application costs $20 Students can sign up for free Revenue sharing (30/70)
  • 34. yalla apps Are you looking for a viable alternative to publish your WP7 Apps to the Windows Phone Marketplace? Yalla Apps provides the solution by publishing your apps to the Marketplace on your behalf. Publish your apps to the Windows Phone marketplace and unlock your device for testing Share and download code in the Module Market Smooth certification process Join the developer community
  • 35. yalla apps Updated Device Unlocking Yalla Apps offers a device unlock service which allows you to unlock your Windows Phone 7 to debug and test applications. The device unlock is accomplished using remote assistance access to your development machine and charged 0 Credits for the first device and 50 credits per additional device.
  • 37. @rudigrobler Slides, demos, etc… http://www.rudigrobler.net questions
  • 38. Don’t forget the Xbox Kinectshow-down after sessions this evening!
  • 39. DevDays 2011 Sponsors PLATINUM SPONSOR www.bbd.co.za SILVER SPONSOR www.dvt.co.za SILVER SPONSOR www.ctutraining.co.za
  • 40. Keep in Touch facebook.com/msdevsa @msdevsa http://blogs.msdn.com/southafrica
  • 41. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.