SlideShare a Scribd company logo
1 of 73
Windows Phone 7 Jonas Follesø BEKK Avdelingsmøte 02. Desember 2010
ABOUT ME JONAS FOLLESØ jonas@follesoe.no http://jonas.follesoe.no @follesoe
AGENDA:- WP7 PLATFORM- PHONE APIs- BLEND 4- MARKET PLACE- TDD- RUBY- DEMOS! http://www.flickr.com/photos/20792787@N00/2248623391/
WINDOWS PHONE 7A FRESH START!
XNA FOR GAMESSILVERLIGHT FOR APPS
KNOW SILVERLIGHT?THEN YOU KNOW WP7!
HELLO WORLDDEMO
METRO DESIGN LANGUAGE
PIVOT CONTROL
HUB CONTROL
BLEND 4DEMO
METRO RESOURCES ,[object Object]
UI Design and Interaction Guide for Windows Phone 7 v2.0 - http://bit.ly/b2SUlh
Design Templates for Windows Phone 7 - http://bit.ly/cNQO8j,[object Object]
EmailAddressChooserTask
EmailComposeTask
MarketplaceDetailTask
MarketplaceHunTask
MarketplaceReviewTask
MarketplaceSearchTask
MediaPlayerLauncher
PhoneCallTask
PhoneNumberChooserTask
PhotoChooserTask
SaveEmailAddressTask
SavePhoneNumberTask
SearchTask
SmsComposeTask
WebBrowserTaskhttp://www.flickr.com/photos/mad_house_photography/4440871380/
LAUNCH BUILT IN APP WITH SOME DATA http://www.flickr.com/photos/28634332@N05/4054766770/
privatevoidsmsCompose_Click(objectsender, RoutedEventArgse) { varsmsCompose=newSmsComposeTask(); smsCompose.To="97706660"; smsCompose.Body="Hello NNUG!"; smsCompose.Show(); }
LAUNCH BUILT IN APP TO CHOOSE SOME DATA
privatevoidchoose_Click(objectsender, RoutedEventArgse) { varemailChooser=newEmailAddressChooserTask(); emailChooser.Completed+=emailChooser_Completed; emailChooser.Show(); } privatevoidemailChooser_Completed(objectsender, EmailResulte) { if(e.TaskResult==TaskResult.OK) email.Text=e.Email; }
CHOSER & LAUCHER DEMO
EXECUTION MODEL & TOMBSTONING http://www.flickr.com/photos/9810948@N05/1583506787/
NO MULTI TASKINGBUT... http://www.flickr.com/photos/n3ptun3r/3376697490/
FAST ACTIVATION & DEACTIVATION GIVES IMPRESSION OF APP RUNNING IN BACKGROUND http://www.flickr.com/photos/cirox/363284194/
THE 4 EVENTS OF THE APP LIFE CYCLE Application_Launching Application_Deactivated Application_Activated Application_Closing
Launching Running Deactivating Activating Closing Chooser/Task/Other
PERSISTENT DATA ,[object Object]
Save and loaded from Isolated Storage
Load on start-up, save on user action or when closing,[object Object]
Stored in State Dictionary
App or Page level state,[object Object]
Content of TextBox
State of other UI elements
Managed by State property on Page object
OnNavigatedTo & OnNavigatedFrom,[object Object]
protectedoverridevoidOnNavigatedTo(NavigationEventArgse) { if(State.ContainsKey("VerticalOffset") && State.ContainsKey("HorizontalOffset"))     { scrollView.ScrollToVerticalOffset( Convert.ToDouble(State["VerticalOffset"])); scrollView.ScrollToHorizontalOffset( Convert.ToDouble(State["HorizontalOffset"]));     } }
APP STATE ,[object Object]
Managed by State property on PhoneApplicationService,[object Object]
privatevoidApplication_Launching(objectsender,  LaunchingEventArgse) {                             if(StorageHelper.FileExists("ExpenceReport.xml"))     { varviewModel= StorageHelper.Load<ViewModel>("ExpenceReport.xml"); viewModel.IsDirty=false; RootFrame.DataContext=viewModel;     } else     { RootFrame.DataContext=newViewModel();                     } }
APP MODEL DEMO http://www.flickr.com/photos/n3ptun3r/3376697490/
Launching Running Deactivating Activating Closing Chooser/Task/Other
PUSH NOTIFICATIONS WHEN APP IS NOT RUNNING
TWO TYPES OF NOTIFICATIONS
WP7 PUSH NOTIFICATIONS Your WP Application Hand off channel URL 2 Your Web Application PUSH CLIENT Notification Namespaces Push Library 4 Push message 3 Push message 1 Open Channel Microsoft Push Notification Services
privatevoidopen_Click(objectsender, RoutedEventArgse) { varchannel=HttpNotificationChannel.Find("NNUG"); if (channel==null)     { channel=newHttpNotificationChannel("NNUG");                   } channel.ChannelUriUpdated+=channel_ChannelUriUpdated; channel.ShellToastNotificationReceived+= channel_ShellToastNotificationReceived; channel.Open(); }
privatevoidchannel_ShellToastNotificationReceived (objectsender, NotificationEventArgse) { foreach (vartextine.Collection) output.Text+=text+""; }
PUSH NOTIFICATIONS FOR TILES
PUSH NOTIFICATIONS DEMO http://www.flickr.com/photos/kozloski/2306510520/

More Related Content

What's hot

Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devicesTerry Ryan
 
Dr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin developmentDr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin developmentUlrich Krause
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumTechday7
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Ryan Baxter
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Decksschwarzhoff
 
How To Build a Multi-Field Search Page For Your XPages Application
How To Build a Multi-Field Search Page For Your XPages ApplicationHow To Build a Multi-Field Search Page For Your XPages Application
How To Build a Multi-Field Search Page For Your XPages ApplicationMichael McGarel
 
Dori waldman android _course
Dori waldman android _courseDori waldman android _course
Dori waldman android _courseDori Waldman
 
An overview of mobile html + java script frameworks
An overview of mobile html + java script frameworksAn overview of mobile html + java script frameworks
An overview of mobile html + java script frameworksSasha dos Santos
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIndyMobileNetDev
 
Maemo Development Platform
Maemo Development PlatformMaemo Development Platform
Maemo Development Platformtko
 
DanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsDanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsPaul Withers
 
[MobConf] Go mobile with C#, Visual Studio & Xamarin
[MobConf] Go mobile with C#, Visual Studio & Xamarin[MobConf] Go mobile with C#, Visual Studio & Xamarin
[MobConf] Go mobile with C#, Visual Studio & XamarinNish Anil
 

What's hot (15)

Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
 
Desarrollo AIR Mobile
Desarrollo AIR MobileDesarrollo AIR Mobile
Desarrollo AIR Mobile
 
Architecting iOS Project
Architecting iOS ProjectArchitecting iOS Project
Architecting iOS Project
 
Dr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin developmentDr. Strangelove, or how I learned to love plugin development
Dr. Strangelove, or how I learned to love plugin development
 
Getting started with Appcelerator Titanium
Getting started with Appcelerator TitaniumGetting started with Appcelerator Titanium
Getting started with Appcelerator Titanium
 
Webtech 17.11.2009
Webtech 17.11.2009Webtech 17.11.2009
Webtech 17.11.2009
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
 
How To Build a Multi-Field Search Page For Your XPages Application
How To Build a Multi-Field Search Page For Your XPages ApplicationHow To Build a Multi-Field Search Page For Your XPages Application
How To Build a Multi-Field Search Page For Your XPages Application
 
Dori waldman android _course
Dori waldman android _courseDori waldman android _course
Dori waldman android _course
 
An overview of mobile html + java script frameworks
An overview of mobile html + java script frameworksAn overview of mobile html + java script frameworks
An overview of mobile html + java script frameworks
 
Introduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual StudioIntroduction to Cross Platform Development with Xamarin/ Visual Studio
Introduction to Cross Platform Development with Xamarin/ Visual Studio
 
Maemo Development Platform
Maemo Development PlatformMaemo Development Platform
Maemo Development Platform
 
DanNotes XPages Mobile Controls
DanNotes XPages Mobile ControlsDanNotes XPages Mobile Controls
DanNotes XPages Mobile Controls
 
[MobConf] Go mobile with C#, Visual Studio & Xamarin
[MobConf] Go mobile with C#, Visual Studio & Xamarin[MobConf] Go mobile with C#, Visual Studio & Xamarin
[MobConf] Go mobile with C#, Visual Studio & Xamarin
 

Viewers also liked

Smidig 2011 TDD Workshop
Smidig 2011 TDD WorkshopSmidig 2011 TDD Workshop
Smidig 2011 TDD WorkshopJonas Follesø
 
BK2011 Trafikanten - Et webprosjekt med full oppgradering av karttjenester
BK2011 Trafikanten - Et webprosjekt med full oppgradering av karttjenesterBK2011 Trafikanten - Et webprosjekt med full oppgradering av karttjenester
BK2011 Trafikanten - Et webprosjekt med full oppgradering av karttjenesterGeodata AS
 
Hvordan lage en vellykket WP7 applikasjon
Hvordan lage en vellykket WP7 applikasjonHvordan lage en vellykket WP7 applikasjon
Hvordan lage en vellykket WP7 applikasjonJonas Follesø
 
Why learn new programming languages
Why learn new programming languagesWhy learn new programming languages
Why learn new programming languagesJonas Follesø
 
Hvordan lage en vellykket Windows Phone 7 App
Hvordan lage en vellykket Windows Phone 7 AppHvordan lage en vellykket Windows Phone 7 App
Hvordan lage en vellykket Windows Phone 7 AppJonas Follesø
 
Cross platform mobile apps using .NET
Cross platform mobile apps using .NETCross platform mobile apps using .NET
Cross platform mobile apps using .NETJonas Follesø
 

Viewers also liked (6)

Smidig 2011 TDD Workshop
Smidig 2011 TDD WorkshopSmidig 2011 TDD Workshop
Smidig 2011 TDD Workshop
 
BK2011 Trafikanten - Et webprosjekt med full oppgradering av karttjenester
BK2011 Trafikanten - Et webprosjekt med full oppgradering av karttjenesterBK2011 Trafikanten - Et webprosjekt med full oppgradering av karttjenester
BK2011 Trafikanten - Et webprosjekt med full oppgradering av karttjenester
 
Hvordan lage en vellykket WP7 applikasjon
Hvordan lage en vellykket WP7 applikasjonHvordan lage en vellykket WP7 applikasjon
Hvordan lage en vellykket WP7 applikasjon
 
Why learn new programming languages
Why learn new programming languagesWhy learn new programming languages
Why learn new programming languages
 
Hvordan lage en vellykket Windows Phone 7 App
Hvordan lage en vellykket Windows Phone 7 AppHvordan lage en vellykket Windows Phone 7 App
Hvordan lage en vellykket Windows Phone 7 App
 
Cross platform mobile apps using .NET
Cross platform mobile apps using .NETCross platform mobile apps using .NET
Cross platform mobile apps using .NET
 

Similar to An overview of the Windows Phone 7 platform

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
 
Movable Type 5 Smartphone Option
Movable Type 5 Smartphone OptionMovable Type 5 Smartphone Option
Movable Type 5 Smartphone OptionSix Apart KK
 
Getting Started with WP7 Development
Getting Started with WP7 DevelopmentGetting Started with WP7 Development
Getting Started with WP7 DevelopmentJeff Bramwell
 
Dev windows phone_apps_getting_started_guide
Dev windows phone_apps_getting_started_guideDev windows phone_apps_getting_started_guide
Dev windows phone_apps_getting_started_guideTrioBlack Trioblack
 
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3Doris Chen
 
My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.Simon Guest
 
Creating Yahoo Mobile Widgets
Creating Yahoo Mobile WidgetsCreating Yahoo Mobile Widgets
Creating Yahoo Mobile WidgetsRicardo Varela
 
What Web Developers Need to Know to Develop Windows 8 Apps
What Web Developers Need to Know to Develop Windows 8 AppsWhat Web Developers Need to Know to Develop Windows 8 Apps
What Web Developers Need to Know to Develop Windows 8 AppsDoris Chen
 
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...Frédéric Harper
 
Windows Phone Garage - Application Jumpstart
Windows Phone Garage - Application JumpstartWindows Phone Garage - Application Jumpstart
Windows Phone Garage - Application JumpstartGlen Gordon
 
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
 
An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)rudigrobler
 
Use Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile AppsUse Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile AppsNathan Smith
 
Develop for Windows Phone Mango and Windows 8: our Tips
Develop for Windows Phone Mango and Windows 8: our TipsDevelop for Windows Phone Mango and Windows 8: our Tips
Develop for Windows Phone Mango and Windows 8: our TipsSoumow Dollon
 

Similar to An overview of the Windows Phone 7 platform (20)

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
 
Movable Type 5 Smartphone Option
Movable Type 5 Smartphone OptionMovable Type 5 Smartphone Option
Movable Type 5 Smartphone Option
 
Windows Phone
Windows Phone Windows Phone
Windows Phone
 
Getting Started with WP7 Development
Getting Started with WP7 DevelopmentGetting Started with WP7 Development
Getting Started with WP7 Development
 
Dev windows phone_apps_getting_started_guide
Dev windows phone_apps_getting_started_guideDev windows phone_apps_getting_started_guide
Dev windows phone_apps_getting_started_guide
 
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
Building Beautiful and Interactive Metro apps with JavaScript, HTML5 & CSS3
 
de:code エスキュービズム勉強会0620
de:code エスキュービズム勉強会0620de:code エスキュービズム勉強会0620
de:code エスキュービズム勉強会0620
 
My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.My customers are using iPhone/Android, but I'm a Microsoft Guy.
My customers are using iPhone/Android, but I'm a Microsoft Guy.
 
Creating Yahoo Mobile Widgets
Creating Yahoo Mobile WidgetsCreating Yahoo Mobile Widgets
Creating Yahoo Mobile Widgets
 
Flash desktop application development with Screenweaver 3.1
Flash desktop application development with Screenweaver 3.1Flash desktop application development with Screenweaver 3.1
Flash desktop application development with Screenweaver 3.1
 
What Web Developers Need to Know to Develop Windows 8 Apps
What Web Developers Need to Know to Develop Windows 8 AppsWhat Web Developers Need to Know to Develop Windows 8 Apps
What Web Developers Need to Know to Develop Windows 8 Apps
 
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...
Windows 8 Pure Imagination - 2012-11-25 - Extending Your Game with Windows 8 ...
 
Migrating JavaME Apps to Android
Migrating JavaME Apps to AndroidMigrating JavaME Apps to Android
Migrating JavaME Apps to Android
 
Windows Phone Garage - Application Jumpstart
Windows Phone Garage - Application JumpstartWindows Phone Garage - Application Jumpstart
Windows Phone Garage - Application Jumpstart
 
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
 
An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)
 
Developing in android
Developing in androidDeveloping in android
Developing in android
 
Use Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile AppsUse Web Skills To Build Mobile Apps
Use Web Skills To Build Mobile Apps
 
Stc ftn-wp7-intro
Stc ftn-wp7-introStc ftn-wp7-intro
Stc ftn-wp7-intro
 
Develop for Windows Phone Mango and Windows 8: our Tips
Develop for Windows Phone Mango and Windows 8: our TipsDevelop for Windows Phone Mango and Windows 8: our Tips
Develop for Windows Phone Mango and Windows 8: our Tips
 

More from Jonas Follesø

Windows Phone 7 lyntale fra Grensesnittet Desember 2010
Windows Phone 7 lyntale fra Grensesnittet Desember 2010Windows Phone 7 lyntale fra Grensesnittet Desember 2010
Windows Phone 7 lyntale fra Grensesnittet Desember 2010Jonas Follesø
 
NNUG Trondheim 30.09.2010 - Windows Phone 7
NNUG Trondheim 30.09.2010 -  Windows Phone 7NNUG Trondheim 30.09.2010 -  Windows Phone 7
NNUG Trondheim 30.09.2010 - Windows Phone 7Jonas Follesø
 
Generating characterization tests for legacy code
Generating characterization tests for legacy codeGenerating characterization tests for legacy code
Generating characterization tests for legacy codeJonas Follesø
 
Get a flying start with Windows Phone 7 - NDC2010
Get a flying start with Windows Phone 7 - NDC2010Get a flying start with Windows Phone 7 - NDC2010
Get a flying start with Windows Phone 7 - NDC2010Jonas Follesø
 
Smidig brukeropplevelse med skjermbildeprototyper (Smidig2009)
Smidig brukeropplevelse med skjermbildeprototyper (Smidig2009)Smidig brukeropplevelse med skjermbildeprototyper (Smidig2009)
Smidig brukeropplevelse med skjermbildeprototyper (Smidig2009)Jonas Follesø
 
MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009Jonas Follesø
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Jonas Follesø
 

More from Jonas Follesø (8)

Introduction to F#
Introduction to F#Introduction to F#
Introduction to F#
 
Windows Phone 7 lyntale fra Grensesnittet Desember 2010
Windows Phone 7 lyntale fra Grensesnittet Desember 2010Windows Phone 7 lyntale fra Grensesnittet Desember 2010
Windows Phone 7 lyntale fra Grensesnittet Desember 2010
 
NNUG Trondheim 30.09.2010 - Windows Phone 7
NNUG Trondheim 30.09.2010 -  Windows Phone 7NNUG Trondheim 30.09.2010 -  Windows Phone 7
NNUG Trondheim 30.09.2010 - Windows Phone 7
 
Generating characterization tests for legacy code
Generating characterization tests for legacy codeGenerating characterization tests for legacy code
Generating characterization tests for legacy code
 
Get a flying start with Windows Phone 7 - NDC2010
Get a flying start with Windows Phone 7 - NDC2010Get a flying start with Windows Phone 7 - NDC2010
Get a flying start with Windows Phone 7 - NDC2010
 
Smidig brukeropplevelse med skjermbildeprototyper (Smidig2009)
Smidig brukeropplevelse med skjermbildeprototyper (Smidig2009)Smidig brukeropplevelse med skjermbildeprototyper (Smidig2009)
Smidig brukeropplevelse med skjermbildeprototyper (Smidig2009)
 
MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009
 
Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008Silverlight 2 for Developers - TechEd New Zealand 2008
Silverlight 2 for Developers - TechEd New Zealand 2008
 

An overview of the Windows Phone 7 platform

Editor's Notes

  1. http://gregdoesit.com/2010/09/wp7-cocktail-application-sneak-preview-cocktail-flow/
  2. http://gregdoesit.com/2010/09/wp7-cocktail-application-sneak-preview-cocktail-flow/
  3. http://gregdoesit.com/2010/09/wp7-cocktail-application-sneak-preview-cocktail-flow/