Developing for Windows Phone 7


Published on

Presented on 26th Feb 2011 at Tech-Out event sponsored by Infusion, Techies, Tech.Sessions and Microsoft Middle East.

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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
  • Developing for Windows Phone 7

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