SlideShare a Scribd company logo
Developing for Windows Phone 7 Zeddy Iskandar
Agenda What’s WP7 like (device demo) Tools to Get you Started WP7 UI Features Some codes How Publishing Works
Device Demo
Tools of Trade Windows Phone Developer Tools (WPDT) http://bit.ly/WPDT-ISO WPDT Jan 2011 Update (Copy-Paste) http://bit.ly/WPDT-JanUpdate Training Kits (3) http://bit.ly/WP7-TrainingKits Charles Petzold Free e-Book http://bit.ly/WP7-Ebook Code Samples http://bit.ly/WP7-CodeSamples
Which Device to Buy? SIM-Free Windows Phones (not carrier-locked): Samsung Focus SGH-i917 ($574.99) HTCSurround T8788 ($574.99) LGQuantum C900 (QWERTY keyboard) ($544.99) HTCTrophy ($604.99) SamsungOmnia 7 ($614.99) HTCHD7 ($579.99) Dell Venue Pro (Vertical keyboard) ($659.99) HTC 7 Pro (QWERTY keyboard) ($694.99)
Device Specs All must meet Microsoft’s minimum requirements: Qualcomm Snap Dragon (QSD8250) 1.0 GHz Capacitive 4-point multi-touch screen WVGA (480x800) resolution DirectX9 rendering-capable GPU 256MB RAM 8GB Flash Memory 5MP Camera with LED Flash FM Radio Tuner Accelerometer with Compass Ambient Light Sensor Proximity Sensor Assisted GPS
SideLoading apps You need: AppHub Account (http://create.msdn.com) Zune Software (http://www.zune.net) Run Zune, Connect Device, Run Windows Phone Developer Registration app from WPDT Start Menu
XAML Primer Stuff you need to know before coding
3 Containers Grid StackPanel Canvas
Grid <Grid ShowGridLines="True" Margin="12,0,12,0"> <Grid.RowDefinitions> <RowDefinition Height="auto" /> <RowDefinition /> <RowDefinition Height="auto" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <TextBox Text="1st row 1st column"TextWrapping="Wrap"Grid.Column="0"Grid.Row="0" /> <TextBox Text="3rd row 1st column"TextWrapping="Wrap"Grid.Column="0"Grid.Row="2" /> <Button Content="1st row 3rd column"FontSize="17"Grid.Column="1"Grid.Row="0" /> <Button Content="3rd row 2nd column"FontSize="17"Grid.Column="1"Grid.Row="2" /> </Grid>
StackPanel <StackPanel Margin="20"> <Rectangle Fill="Red" Width="50" Height="50"    Margin="5" /> <Rectangle Fill="Blue" Width="50" Height="50“  Margin="5" /> <Rectangle Fill="Green" Width="50" Height="50“  Margin="5" /> <Rectangle Fill="Purple" Width="50" Height="50“  Margin="5" /> </StackPanel>
Canvas <Canvas Background="Transparent"> <Rectangle Canvas.Left="30" Canvas.Top="200" Fill="red" Width="200" Height="200" /> </Canvas> *Recommended if you don’t need the auto-adjust features of Grid & StackPanel  better performance
Most Used UI Elements TextBlock Image Button ListBox
TextBlock <TextBlock Text="Hello, world!" />
Image <Image Source="licorice.JPG" />
Button <Button Content="Locate Me" Height="80"  HorizontalAlignment="Left" Margin="0,6,0,0" Name="btnLocateMe" VerticalAlignment="Top“  Width="204" Click="btnLocateMe_Click" />
ListBox <ListBox Name=“lbCities" ItemsSource="..."/>
WP7 UI Features Stuff you need to be aware of as devs
Application Bar <phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True"> <shell:ApplicationBarIconButton IconUri="/Icons/appbar.check.rest.png" Text="Save" Click="SaveClicked"/> <shell:ApplicationBarIconButton IconUri="/Icons/appbar.cancel.rest.png" Text="Cancel" Click="CancelClicked"/>
Application Bar Menu <phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True"> <shell:ApplicationBar.MenuItems> <shell:ApplicationBarMenuItem Text="Save" Click="SaveClicked"/> <shell:ApplicationBarMenuItem Text="Cancel" Click="CancelClicked"/> </shell:ApplicationBar.MenuItems> </shell:ApplicationBar> </phone:PhoneApplicationPage.ApplicationBar>
UI Gestures Single Touch Tap Double Tap Pan Flick Touch & Hold Multi Touch Pinch & Stretch
Panorama Only use if your app has features similar to XBox Live and Zune Marketplace.
Pivot Only use if your app wants to filter contents
Application Framework No you can’t intercept that Phone call and auto-reject calls
Software Architecture Applications Your App UI and logic Frameworks Silverlight XNA HTML/JavaScript CLR App Model UI Model Cloud Integration Xbox LIVE Bing Location Push notifications Windows Live ID App management Licensing Chamber isolation Software updates Shell frame  Session manager Direct3D Compositor Kernel Hardware BSP Security Networking Storage A-GPS	Accelerometer	Compass	Light	Proximity Media	Wi-Fi		Radio	Graphics Hardware Foundation
Windows Phone 7 Series Frameworks Details Windows Phone Frameworks Camera Device Integration Launchers & Choosers Windows Phone Controls PhoneApplicationPage PushNotification WebBrowserControl Sensors PhoneApplicationFrame Silverlight Presentation and Media XNA Frameworks for Games Controls Drawing IsolatedStorage Drawing GamerServices Navigation Shapes Markup Media Audio Media Graphics Content Input Application Object Common Base Class Library Diagnostics Reflection IO Runtime Resources Globalization Text Location Net Collections ComponentModel Configuration Security Threading ServiceModel Linq
Some Codes Real-world coding samples
Publishing Show Me the Money!
Publishing Flow
5 Step Process Upload .XAP Package Write App Description Upload the required ArtWork Set App Price & Distribution Market Submit App for Certification There’s a complete walkthrough herehttp://bit.ly/WP7-PublishWalkthru
Terima Kasih! http://twitter.com/zeddyiskandar Windows Phone Developer Blog http://windowsteamblog.com/windows_phone

More Related Content

Similar to Developing for Windows Phone 7

Uk Media Center User Group April 2009
Uk Media Center User Group   April 2009Uk Media Center User Group   April 2009
Uk Media Center User Group April 2009
DigitalLivingSolutions
 
Pragmatics of Declarative Ajax
Pragmatics of Declarative AjaxPragmatics of Declarative Ajax
Pragmatics of Declarative Ajax
davejohnson
 
BluePrint Mobile Framework
BluePrint Mobile FrameworkBluePrint Mobile Framework
BluePrint Mobile Framework
Christian Heilmann
 
Yahoo Mobile Widgets
Yahoo Mobile WidgetsYahoo Mobile Widgets
Yahoo Mobile Widgets
Jose Palazon
 
Html 101
Html 101Html 101
Html 101
Aldrin SuperGo
 
From jQuery to App Store in 30 Minutes
From jQuery to App Store in 30 MinutesFrom jQuery to App Store in 30 Minutes
From jQuery to App Store in 30 Minutes
edill3484
 
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
Sergey Ilinsky
 
HTML5 Overview
HTML5 OverviewHTML5 Overview
HTML5 Overview
reybango
 
Building real-time collaborative apps with Ajax.org Platform
Building real-time collaborative apps with Ajax.org PlatformBuilding real-time collaborative apps with Ajax.org Platform
Building real-time collaborative apps with Ajax.org Platform
Javeline B.V.
 
Developing Gadgets
Developing GadgetsDeveloping Gadgets
Developing Gadgets
Quirk
 
Mechanize at the Ruby Drink-up of Sophia, November 2011
Mechanize at the Ruby Drink-up of Sophia, November 2011Mechanize at the Ruby Drink-up of Sophia, November 2011
Mechanize at the Ruby Drink-up of Sophia, November 2011
rivierarb
 
JQuery 101
JQuery 101JQuery 101
IBM Lotus Notes Domino XPages and XPages for Mobile
IBM Lotus Notes Domino XPages and XPages for MobileIBM Lotus Notes Domino XPages and XPages for Mobile
IBM Lotus Notes Domino XPages and XPages for Mobile
Chris Toohey
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
Terry Ryan
 
Mashups as Collection of Widgets
Mashups as Collection of WidgetsMashups as Collection of Widgets
Mashups as Collection of Widgets
giurca
 
Optimizing Drupal for Mobile Devices
Optimizing Drupal for Mobile DevicesOptimizing Drupal for Mobile Devices
Optimizing Drupal for Mobile Devices
Sugree Phatanapherom
 
What I brought back from Austin
What I brought back from AustinWhat I brought back from Austin
What I brought back from Austin
Lisa Adkins
 
OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009
Jacob Gyllenstierna
 
Html5: What is it?
Html5: What is it? Html5: What is it?
Html5: What is it?
joeydehnert
 
Presentation wpf
Presentation wpfPresentation wpf
Presentation wpf
Mahesh Sherkar
 

Similar to Developing for Windows Phone 7 (20)

Uk Media Center User Group April 2009
Uk Media Center User Group   April 2009Uk Media Center User Group   April 2009
Uk Media Center User Group April 2009
 
Pragmatics of Declarative Ajax
Pragmatics of Declarative AjaxPragmatics of Declarative Ajax
Pragmatics of Declarative Ajax
 
BluePrint Mobile Framework
BluePrint Mobile FrameworkBluePrint Mobile Framework
BluePrint Mobile Framework
 
Yahoo Mobile Widgets
Yahoo Mobile WidgetsYahoo Mobile Widgets
Yahoo Mobile Widgets
 
Html 101
Html 101Html 101
Html 101
 
From jQuery to App Store in 30 Minutes
From jQuery to App Store in 30 MinutesFrom jQuery to App Store in 30 Minutes
From jQuery to App Store in 30 Minutes
 
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
Building Complex GUI Apps The Right Way. With Ample SDK - SWDC2010
 
HTML5 Overview
HTML5 OverviewHTML5 Overview
HTML5 Overview
 
Building real-time collaborative apps with Ajax.org Platform
Building real-time collaborative apps with Ajax.org PlatformBuilding real-time collaborative apps with Ajax.org Platform
Building real-time collaborative apps with Ajax.org Platform
 
Developing Gadgets
Developing GadgetsDeveloping Gadgets
Developing Gadgets
 
Mechanize at the Ruby Drink-up of Sophia, November 2011
Mechanize at the Ruby Drink-up of Sophia, November 2011Mechanize at the Ruby Drink-up of Sophia, November 2011
Mechanize at the Ruby Drink-up of Sophia, November 2011
 
JQuery 101
JQuery 101JQuery 101
JQuery 101
 
IBM Lotus Notes Domino XPages and XPages for Mobile
IBM Lotus Notes Domino XPages and XPages for MobileIBM Lotus Notes Domino XPages and XPages for Mobile
IBM Lotus Notes Domino XPages and XPages for Mobile
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
 
Mashups as Collection of Widgets
Mashups as Collection of WidgetsMashups as Collection of Widgets
Mashups as Collection of Widgets
 
Optimizing Drupal for Mobile Devices
Optimizing Drupal for Mobile DevicesOptimizing Drupal for Mobile Devices
Optimizing Drupal for Mobile Devices
 
What I brought back from Austin
What I brought back from AustinWhat I brought back from Austin
What I brought back from Austin
 
OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009OpenSocial - GTUG Stockholm Meeting Oct 1 2009
OpenSocial - GTUG Stockholm Meeting Oct 1 2009
 
Html5: What is it?
Html5: What is it? Html5: What is it?
Html5: What is it?
 
Presentation wpf
Presentation wpfPresentation wpf
Presentation wpf
 

More from Zeddy Iskandar

SharePoint Disaster Recovery with SQL AlwaysOn
SharePoint Disaster Recovery with SQL AlwaysOnSharePoint Disaster Recovery with SQL AlwaysOn
SharePoint Disaster Recovery with SQL AlwaysOn
Zeddy Iskandar
 
Streaming with Azure Media Services
Streaming with Azure Media ServicesStreaming with Azure Media Services
Streaming with Azure Media Services
Zeddy Iskandar
 
Multi Touch & Microsoft Surface
Multi Touch & Microsoft SurfaceMulti Touch & Microsoft Surface
Multi Touch & Microsoft Surface
Zeddy Iskandar
 
jQuery for Sharepoint Dev
jQuery for Sharepoint DevjQuery for Sharepoint Dev
jQuery for Sharepoint Dev
Zeddy Iskandar
 
WPH203 Showcasing we.Muslim App for Windows Phone 7
WPH203 Showcasing we.Muslim App for Windows Phone 7WPH203 Showcasing we.Muslim App for Windows Phone 7
WPH203 Showcasing we.Muslim App for Windows Phone 7
Zeddy Iskandar
 
IAT202 Tips and Tricks on Windows Phone 7 Development
IAT202 Tips and Tricks on Windows Phone 7 DevelopmentIAT202 Tips and Tricks on Windows Phone 7 Development
IAT202 Tips and Tricks on Windows Phone 7 Development
Zeddy Iskandar
 
WPH202 Understanding Marketplace and Making Money with Windows Phone 7 Applic...
WPH202 Understanding Marketplace and Making Money with Windows Phone 7 Applic...WPH202 Understanding Marketplace and Making Money with Windows Phone 7 Applic...
WPH202 Understanding Marketplace and Making Money with Windows Phone 7 Applic...
Zeddy Iskandar
 

More from Zeddy Iskandar (7)

SharePoint Disaster Recovery with SQL AlwaysOn
SharePoint Disaster Recovery with SQL AlwaysOnSharePoint Disaster Recovery with SQL AlwaysOn
SharePoint Disaster Recovery with SQL AlwaysOn
 
Streaming with Azure Media Services
Streaming with Azure Media ServicesStreaming with Azure Media Services
Streaming with Azure Media Services
 
Multi Touch & Microsoft Surface
Multi Touch & Microsoft SurfaceMulti Touch & Microsoft Surface
Multi Touch & Microsoft Surface
 
jQuery for Sharepoint Dev
jQuery for Sharepoint DevjQuery for Sharepoint Dev
jQuery for Sharepoint Dev
 
WPH203 Showcasing we.Muslim App for Windows Phone 7
WPH203 Showcasing we.Muslim App for Windows Phone 7WPH203 Showcasing we.Muslim App for Windows Phone 7
WPH203 Showcasing we.Muslim App for Windows Phone 7
 
IAT202 Tips and Tricks on Windows Phone 7 Development
IAT202 Tips and Tricks on Windows Phone 7 DevelopmentIAT202 Tips and Tricks on Windows Phone 7 Development
IAT202 Tips and Tricks on Windows Phone 7 Development
 
WPH202 Understanding Marketplace and Making Money with Windows Phone 7 Applic...
WPH202 Understanding Marketplace and Making Money with Windows Phone 7 Applic...WPH202 Understanding Marketplace and Making Money with Windows Phone 7 Applic...
WPH202 Understanding Marketplace and Making Money with Windows Phone 7 Applic...
 

Recently uploaded

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 

Recently uploaded (20)

DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 

Developing for Windows Phone 7

  • 1. Developing for Windows Phone 7 Zeddy Iskandar
  • 2. Agenda What’s WP7 like (device demo) Tools to Get you Started WP7 UI Features Some codes How Publishing Works
  • 4. Tools of Trade Windows Phone Developer Tools (WPDT) http://bit.ly/WPDT-ISO WPDT Jan 2011 Update (Copy-Paste) http://bit.ly/WPDT-JanUpdate Training Kits (3) http://bit.ly/WP7-TrainingKits Charles Petzold Free e-Book http://bit.ly/WP7-Ebook Code Samples http://bit.ly/WP7-CodeSamples
  • 5. Which Device to Buy? SIM-Free Windows Phones (not carrier-locked): Samsung Focus SGH-i917 ($574.99) HTCSurround T8788 ($574.99) LGQuantum C900 (QWERTY keyboard) ($544.99) HTCTrophy ($604.99) SamsungOmnia 7 ($614.99) HTCHD7 ($579.99) Dell Venue Pro (Vertical keyboard) ($659.99) HTC 7 Pro (QWERTY keyboard) ($694.99)
  • 6. Device Specs All must meet Microsoft’s minimum requirements: Qualcomm Snap Dragon (QSD8250) 1.0 GHz Capacitive 4-point multi-touch screen WVGA (480x800) resolution DirectX9 rendering-capable GPU 256MB RAM 8GB Flash Memory 5MP Camera with LED Flash FM Radio Tuner Accelerometer with Compass Ambient Light Sensor Proximity Sensor Assisted GPS
  • 7. SideLoading apps You need: AppHub Account (http://create.msdn.com) Zune Software (http://www.zune.net) Run Zune, Connect Device, Run Windows Phone Developer Registration app from WPDT Start Menu
  • 8. XAML Primer Stuff you need to know before coding
  • 9. 3 Containers Grid StackPanel Canvas
  • 10. Grid <Grid ShowGridLines="True" Margin="12,0,12,0"> <Grid.RowDefinitions> <RowDefinition Height="auto" /> <RowDefinition /> <RowDefinition Height="auto" /> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="*" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <TextBox Text="1st row 1st column"TextWrapping="Wrap"Grid.Column="0"Grid.Row="0" /> <TextBox Text="3rd row 1st column"TextWrapping="Wrap"Grid.Column="0"Grid.Row="2" /> <Button Content="1st row 3rd column"FontSize="17"Grid.Column="1"Grid.Row="0" /> <Button Content="3rd row 2nd column"FontSize="17"Grid.Column="1"Grid.Row="2" /> </Grid>
  • 11. StackPanel <StackPanel Margin="20"> <Rectangle Fill="Red" Width="50" Height="50" Margin="5" /> <Rectangle Fill="Blue" Width="50" Height="50“ Margin="5" /> <Rectangle Fill="Green" Width="50" Height="50“ Margin="5" /> <Rectangle Fill="Purple" Width="50" Height="50“ Margin="5" /> </StackPanel>
  • 12. Canvas <Canvas Background="Transparent"> <Rectangle Canvas.Left="30" Canvas.Top="200" Fill="red" Width="200" Height="200" /> </Canvas> *Recommended if you don’t need the auto-adjust features of Grid & StackPanel  better performance
  • 13. Most Used UI Elements TextBlock Image Button ListBox
  • 16. Button <Button Content="Locate Me" Height="80" HorizontalAlignment="Left" Margin="0,6,0,0" Name="btnLocateMe" VerticalAlignment="Top“ Width="204" Click="btnLocateMe_Click" />
  • 17. ListBox <ListBox Name=“lbCities" ItemsSource="..."/>
  • 18. WP7 UI Features Stuff you need to be aware of as devs
  • 19. Application Bar <phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True"> <shell:ApplicationBarIconButton IconUri="/Icons/appbar.check.rest.png" Text="Save" Click="SaveClicked"/> <shell:ApplicationBarIconButton IconUri="/Icons/appbar.cancel.rest.png" Text="Cancel" Click="CancelClicked"/>
  • 20. Application Bar Menu <phone:PhoneApplicationPage.ApplicationBar> <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True"> <shell:ApplicationBar.MenuItems> <shell:ApplicationBarMenuItem Text="Save" Click="SaveClicked"/> <shell:ApplicationBarMenuItem Text="Cancel" Click="CancelClicked"/> </shell:ApplicationBar.MenuItems> </shell:ApplicationBar> </phone:PhoneApplicationPage.ApplicationBar>
  • 21. UI Gestures Single Touch Tap Double Tap Pan Flick Touch & Hold Multi Touch Pinch & Stretch
  • 22. Panorama Only use if your app has features similar to XBox Live and Zune Marketplace.
  • 23. Pivot Only use if your app wants to filter contents
  • 24. Application Framework No you can’t intercept that Phone call and auto-reject calls
  • 25. Software Architecture Applications Your App UI and logic Frameworks Silverlight XNA HTML/JavaScript CLR App Model UI Model Cloud Integration Xbox LIVE Bing Location Push notifications Windows Live ID App management Licensing Chamber isolation Software updates Shell frame Session manager Direct3D Compositor Kernel Hardware BSP Security Networking Storage A-GPS Accelerometer Compass Light Proximity Media Wi-Fi Radio Graphics Hardware Foundation
  • 26. Windows Phone 7 Series Frameworks Details Windows Phone Frameworks Camera Device Integration Launchers & Choosers Windows Phone Controls PhoneApplicationPage PushNotification WebBrowserControl Sensors PhoneApplicationFrame Silverlight Presentation and Media XNA Frameworks for Games Controls Drawing IsolatedStorage Drawing GamerServices Navigation Shapes Markup Media Audio Media Graphics Content Input Application Object Common Base Class Library Diagnostics Reflection IO Runtime Resources Globalization Text Location Net Collections ComponentModel Configuration Security Threading ServiceModel Linq
  • 27. Some Codes Real-world coding samples
  • 28. Publishing Show Me the Money!
  • 30. 5 Step Process Upload .XAP Package Write App Description Upload the required ArtWork Set App Price & Distribution Market Submit App for Certification There’s a complete walkthrough herehttp://bit.ly/WP7-PublishWalkthru
  • 31. Terima Kasih! http://twitter.com/zeddyiskandar Windows Phone Developer Blog http://windowsteamblog.com/windows_phone

Editor's Notes

  1. The Windows Phone Developer Tools includes the following:Visual Studio 2010 Express for Windows PhoneWindows Phone Emulator ResourcesSilverlight 4 Tools For Visual StudioXNA Game Studio 4.0Microsoft Expression Blend for Windows Phone