Building Windows Phone Applications with Silverlight
description
Transcript of Building Windows Phone Applications with Silverlight
![Page 1: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/1.jpg)
Building Windows Phone Applications with Silverlight
Jaime Rodriguezhttp://blogs.msdn.com/jaimer @jaimerodriguez
![Page 2: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/2.jpg)
Agenda
Introduction App model
Navigation Events
Phone Controls Panorama Pivot Web Browser Bing Maps Control DeepZoom Templates and Styles
OS and in-box App Integration
![Page 3: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/3.jpg)
Silverlight for Windows Phone
3
![Page 4: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/4.jpg)
AppModel
![Page 5: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/5.jpg)
PicturesTake a look at recent photos
PeopleLook up the status
for a contact
PicturesContinue looking at recent photos
UI Navigation: Example
![Page 6: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/6.jpg)
Navigation
PhoneApplicationFrame PhoneApplicationPage
![Page 7: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/7.jpg)
PhoneApplicationPage
More than the container for units of navigation OnChooserReturn OnOrientationChanged OnNavigatedFrom OnNavigatedTo OnBackKeyPress
![Page 8: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/8.jpg)
Back key
Lets the user to return to previously-viewed screens
Can go back across applications
Not used for application-specific behaviour
![Page 9: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/9.jpg)
Demo
Application Navigation
![Page 10: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/10.jpg)
Application events
Obscuring Activation
![Page 11: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/11.jpg)
a world of constant interruptionsphone calls
App
switchtxt
msgs :-)
reminders
low
batterylock scree
n
![Page 12: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/12.jpg)
Not runnin
g
Start
Running
Exit
basic application lifetime
• Obscured• Paused
![Page 13: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/13.jpg)
obscured: popup ui from shell
Running
Obscured
Running
Unobscured
Games could auto-pause
Game could auto-resume
• Phone call
• Reminder• Battery
low
Not in the Mix build
![Page 14: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/14.jpg)
paused: jump to another app
Running
Pause
Suspended
Resume
Assume your process is killed
Save state for later use
Load state to continue where you left off
Not in the Mix build
User never knows what happened :-)
• Start Button
• Accept call• Open toast
![Page 15: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/15.jpg)
Demo
Pause and Exit
![Page 16: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/16.jpg)
Windows Phone Controls
![Page 17: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/17.jpg)
Panorama
![Page 18: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/18.jpg)
Panorama
![Page 19: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/19.jpg)
Pivot
![Page 20: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/20.jpg)
ApplicationBar & SystemTray
SystemTray No integration, but does affect
Layout Show:Hide using
SystemTray.IsVisible
ApplicationBar Buttons (up to 4) Menu Items ( recommend 6) Toggle: <mypage>.ApplicationBar.IsVisible
![Page 21: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/21.jpg)
Web Browser Control
Displays network and local content Supports pan, double tap and pinch to zoom Supports transforms & projections
No Input on transform Application can interact with javascript Optimized for privacy
Script is disabled by default Cookies and cache are isolated
![Page 22: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/22.jpg)
Silverlight to Script
function runScriptStuff(arg1, arg2){ return “awesome”; }
string out = wb.InvokeScript("runScriptStuff", arg1, arg2);
Silverlight
javascript
![Page 23: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/23.jpg)
Script to Silverlight
window.external.Notify(string);
void wb_ScriptNotify(object s, NotifyEventArgs e){ string return = e.Value;}
Silverlight
javascript
![Page 24: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/24.jpg)
Demo
Web Browser Control
![Page 25: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/25.jpg)
MultiScaleImage ( aka deepzoom)
Included in core run-time Optimized to take advantage of GPU Consumes same content as SL on desktop Supported for Online content
not isolated storage or embedded content No oob gesture support
Manipulation APIs make this easy though
![Page 26: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/26.jpg)
OS and hub integration
![Page 27: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/27.jpg)
Integrating with the OS
Hub integration Enhance the built in hubs with your application
Launchers let you fire and forget to an OS app SMS, email, web browser, maps, dialer, search, etc
Choosers are like an open file dialog Launches an OS experience for letting the user choose
data for the app Picture, contact, camera, etc
![Page 28: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/28.jpg)
Launchers & Choosers
Launchers CameraCaptureTask MarketplaceLauncher MediaPlayerLauncher PhoneCallTask SaveEmailAddressTask SavePhoneNumberTask SearchTask EmailComposeTask SMSComposeTask WebBrowserTask
Choosers PhoneNumberChooserTas
k PhotoChooserTask EmailAddressChooserTas
k
![Page 29: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/29.jpg)
Demo
Launchers
![Page 30: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/30.jpg)
Isolated Storage
Compatible APIs with Silverlight on desktop No quota limits Not shared (ever)
No write access to Media Library, use XNA for that
Use for your application settings
![Page 31: Building Windows Phone Applications with Silverlight](https://reader035.fdocuments.us/reader035/viewer/2022062501/56816112550346895dd06f17/html5/thumbnails/31.jpg)
Thanks!! Questions?