SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Windows Phone App
Development Overview

Alan Mendelevich
AdDuplex Founder
ailon@ailon.org
http://devblog.ailon.org
Twitter: @ailon
Agenda
•   Hardware
•   Metro
•   Development Overview
•   Publication
Hardware
Hardware Specification 2010
Display                 Multimedia
480x800 QVGA            Codec acceleration
320x480 HVGA (future)

Capacitive              Memory
touch                   256MB RAM or more
4 or more contact       8GB Flash or more
points
Sensors
A-GPS, Accelerometer,
Compass, Light          GPU
                        DirectX 9
                        acceleration
Camera
5 mega pixels or
more                    CPU
                        ARMv7
Hardware buttons        Cortex/Scorpion or
Start, Search, Back     better
Hardware Specification 2011
Form Factors
OEMs
Metro
Metro
Inspiration
Metro Principles
•   Clean, light, open, fast
•   Celebrate typography
•   Alive & in motion
•   Content not chrome
•   Authentically digital
Accent Colors




12
Gestures
Touch Target Sizes
• Minimum recommended
  touch target size – 9mm
  (~90 px)
• Minimum spacing between
  touchable elements – 2mm
• Visible element size – 60-
  100% of touch surface
Application Bar
• Up to 4 buttons
• Only the main
  actions
• Use slide out menu
  for less important
  items
Pivot
• Grouping and filtering of information
• Switching by tapping or swipe gesture
Panorama
• “Rich” content
• Leads user to the
  next screen
• Starting point for
  multiple
  destinations



                       17
Metro & Your Own Style
Development
Overview
Flavors of Applications


 Modern XAML/event-driven      High performance game
  application UI framework       framework
 Rapid creation of visually    Rapid creation of multi-screen
  stunning apps                  2D and 3D games
 Metro-themed UI               Rich content pipeline
  controls                      Mature, robust, widely adopted
 500,000 developers             technology
  spanning Windows               spanning
  and web                        Xbox 360,
                                 Windows,
                                 and Zune
Free Powerful Tools
• Expression Blend   • Visual Studio
Free Powerful Tools
• http://create.msdn.com
  – Visual Studio 2010 Express
  – Windows Phone Emulator
  – Silverlight
  – XNA Game Studio 4.0
  – Microsoft Expression Blend for Windows
    Phone
  – .NET Framework 4
Silverlight for
Windows Phone
Overview
Silverlight 4+
• Based on Silverlight 4
• Plus specific modules (phone
  functions, sensors, etc.)
• XAML + C# (or VB.NET)
• Optimized for performance on
  smaller, less powerful devices
XAML
•   eXtensible Application Markup Language
•   XML based
•   Used in WPF and Silverlight
•   Declaratively describes UI, animations,
    etc.
Theming
• Users can switch system
  colors
  – Select black or white
    background
  – Select “accent” color
• Standard Silverlight
  controls automatically
  adapt to selected theme
• Preset styles
Navigation
• Navigation is page based
     – Similar to web navigation
     – Pages are identified by
       URIs


private void hyperlinkButton1_Click(
       object sender, RoutedEventArgs e)
{
  NavigationService.Navigate(
     new Uri("/SecondPage.xaml",
            UriKind.RelativeOrAbsolute)
  );
}




                                           27
Back Button
• Returns to the previous page
  – UI shouldn’t duplicate this functionality
• The behavior could be overridden when
  going to the previous page isn’t logical
  – Closing a pop-up dialog, etc.
  – Can’t be used for actions absolutely unrelated
    to “returning”, like shooting, etc.
Application Bar
• Use AppBar instead of a
  custom menu system
• Up to 4 buttons + menu
• Buttons for most
  important tasks only
• White color on the
  transparent background
  (without circle)
Orientation support
• Pages can be vertical, horizontal or change
  orientation automatically
• Set via SupportedOrientations property
• PortraitOrLandscape value – automatic
  orientation switching
Data Binding
• Automatically binds object properties
• Separation of concerns
  (design/development)
  – MVVM pattern
Pivot and Panorama
• The best starting
  point for apps
• Complies with
  Metro out of the
  box
• Present information
  in easily digestible
  portions
Pivot vs. Panorama
           Pivot                    Panorama
• Can be used to display    • More impressive
  more information          • Background images
• Supports programmatic       automatically stretched
  switching                 • Horizontal PanoramaItem
• LoadingPivotItem and        for vizualization of content
  UnloadingPivotItem          of different width
  events for delayed
  content loading
• Effective use of screen
  real estate
Launchers and Choosers
• Each app runs in its own sandbox and
  can’t accept system resources or other
  apps
• Launchers and Choosers mitigate this by
  allowing indirect access to these features
Application Lifecycle
                                                Fast App Resume
                                                Resuming .. .



Restore state!
State preserved!                running
IsAppInstancePreserved
IsAppInstancePreserved ==                                Save State!
== false
true



                    activated             deactivated
Tombstone
the oldest
app


       Tombstoned               dormant   Phone resources detached
                                          Threads & timers suspended
Publishing
Publishing Options
Publishing Process
Application and Game Submission


                      .xap            App     .xap
               App
                                  Packaging &
            Submission   .dll                   .dll
                                   Validation
                                                          Marketplace




        Windows Phone 7 Deployment Service


        Add            Apply .xap                .xap
      Metadata          Test              Sign
                                                   .dll
                      Criteria .dll
Summary
•   Modern mobile platform
•   Metro design language
•   Silverlight or XNA or Silverlight+XNA
•   Centralized app Marketplace
Additional resources
• App Hub
  – http://create.msdn.com
• Programming Windows Phone by Charles
  Petzold
  – http://www.charlespetzold.com/phone/
• Twitter - #wpdev
Questions?




             Alan Mendelevich
             Twitter: @ailon
             ailon@ailon.org

Weitere ähnliche Inhalte

Ähnlich wie Windows Phone Application development

Zadar Developers Hub - Windows Phone Development
Zadar Developers Hub - Windows Phone DevelopmentZadar Developers Hub - Windows Phone Development
Zadar Developers Hub - Windows Phone DevelopmentNiko Vrdoljak
 
S#01 김영욱
S#01 김영욱 S#01 김영욱
S#01 김영욱 codercay
 
Introduction to Android for Quality Engineers
Introduction to Android for Quality EngineersIntroduction to Android for Quality Engineers
Introduction to Android for Quality EngineersAhmed Faidy
 
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
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevMihail Mateev
 
Adobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBookAdobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBookKyle McInnes
 
Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)drupalconf
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android DevelopmentCan Elmas
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developerbalunasj
 
Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1drudolph11
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Ivano Malavolta
 
Discovering the wp8 sdk
Discovering the wp8 sdkDiscovering the wp8 sdk
Discovering the wp8 sdkNico Vermeir
 
Introducing Telerik RAD Controls for WP7
Introducing Telerik RAD Controls for WP7Introducing Telerik RAD Controls for WP7
Introducing Telerik RAD Controls for WP7Kunal Chowdhury
 
News scavenger a SharePoint and Apps Story
News scavenger  a SharePoint and Apps StoryNews scavenger  a SharePoint and Apps Story
News scavenger a SharePoint and Apps StoryInnoTech
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?Reto Meier
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011davyjones
 
Developing a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDeveloping a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDamir Beylkhanov
 
Mobile Testing Trends
Mobile Testing TrendsMobile Testing Trends
Mobile Testing TrendsSoftware Guru
 

Ähnlich wie Windows Phone Application development (20)

Zadar Developers Hub - Windows Phone Development
Zadar Developers Hub - Windows Phone DevelopmentZadar Developers Hub - Windows Phone Development
Zadar Developers Hub - Windows Phone Development
 
S#01 김영욱
S#01 김영욱 S#01 김영욱
S#01 김영욱
 
Introduction to Android for Quality Engineers
Introduction to Android for Quality EngineersIntroduction to Android for Quality Engineers
Introduction to Android for Quality Engineers
 
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
 
Win j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateevWin j svsphonegap-damyan-petev-mihail-mateev
Win j svsphonegap-damyan-petev-mihail-mateev
 
Adobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBookAdobe AIR Development for the BlackBerry PlayBook
Adobe AIR Development for the BlackBerry PlayBook
 
Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)Drupal and mobile devices komelin konstanin (eng)
Drupal and mobile devices komelin konstanin (eng)
 
Windows Phone Introduction
Windows Phone IntroductionWindows Phone Introduction
Windows Phone Introduction
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer
 
Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1Windows 8 DevUnleashed - Session 1
Windows 8 DevUnleashed - Session 1
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app
 
Discovering the wp8 sdk
Discovering the wp8 sdkDiscovering the wp8 sdk
Discovering the wp8 sdk
 
Introducing Telerik RAD Controls for WP7
Introducing Telerik RAD Controls for WP7Introducing Telerik RAD Controls for WP7
Introducing Telerik RAD Controls for WP7
 
News scavenger a SharePoint and Apps Story
News scavenger  a SharePoint and Apps StoryNews scavenger  a SharePoint and Apps Story
News scavenger a SharePoint and Apps Story
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
Philly ete-2011
Philly ete-2011Philly ete-2011
Philly ete-2011
 
Developing a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&CordovaDeveloping a native mobile apps using Ionic&Cordova
Developing a native mobile apps using Ionic&Cordova
 
Mobile Testing Trends
Mobile Testing TrendsMobile Testing Trends
Mobile Testing Trends
 
Google android os
Google android osGoogle android os
Google android os
 

Kürzlich hochgeladen

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
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
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Kürzlich hochgeladen (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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 ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Windows Phone Application development

  • 1. Windows Phone App Development Overview Alan Mendelevich AdDuplex Founder ailon@ailon.org http://devblog.ailon.org Twitter: @ailon
  • 2. Agenda • Hardware • Metro • Development Overview • Publication
  • 4. Hardware Specification 2010 Display Multimedia 480x800 QVGA Codec acceleration 320x480 HVGA (future) Capacitive Memory touch 256MB RAM or more 4 or more contact 8GB Flash or more points Sensors A-GPS, Accelerometer, Compass, Light GPU DirectX 9 acceleration Camera 5 mega pixels or more CPU ARMv7 Hardware buttons Cortex/Scorpion or Start, Search, Back better
  • 11. Metro Principles • Clean, light, open, fast • Celebrate typography • Alive & in motion • Content not chrome • Authentically digital
  • 14. Touch Target Sizes • Minimum recommended touch target size – 9mm (~90 px) • Minimum spacing between touchable elements – 2mm • Visible element size – 60- 100% of touch surface
  • 15. Application Bar • Up to 4 buttons • Only the main actions • Use slide out menu for less important items
  • 16. Pivot • Grouping and filtering of information • Switching by tapping or swipe gesture
  • 17. Panorama • “Rich” content • Leads user to the next screen • Starting point for multiple destinations 17
  • 18. Metro & Your Own Style
  • 20. Flavors of Applications  Modern XAML/event-driven  High performance game application UI framework framework  Rapid creation of visually  Rapid creation of multi-screen stunning apps 2D and 3D games  Metro-themed UI  Rich content pipeline controls  Mature, robust, widely adopted  500,000 developers technology spanning Windows spanning and web Xbox 360, Windows, and Zune
  • 21. Free Powerful Tools • Expression Blend • Visual Studio
  • 22. Free Powerful Tools • http://create.msdn.com – Visual Studio 2010 Express – Windows Phone Emulator – Silverlight – XNA Game Studio 4.0 – Microsoft Expression Blend for Windows Phone – .NET Framework 4
  • 24. Silverlight 4+ • Based on Silverlight 4 • Plus specific modules (phone functions, sensors, etc.) • XAML + C# (or VB.NET) • Optimized for performance on smaller, less powerful devices
  • 25. XAML • eXtensible Application Markup Language • XML based • Used in WPF and Silverlight • Declaratively describes UI, animations, etc.
  • 26. Theming • Users can switch system colors – Select black or white background – Select “accent” color • Standard Silverlight controls automatically adapt to selected theme • Preset styles
  • 27. Navigation • Navigation is page based – Similar to web navigation – Pages are identified by URIs private void hyperlinkButton1_Click( object sender, RoutedEventArgs e) { NavigationService.Navigate( new Uri("/SecondPage.xaml", UriKind.RelativeOrAbsolute) ); } 27
  • 28. Back Button • Returns to the previous page – UI shouldn’t duplicate this functionality • The behavior could be overridden when going to the previous page isn’t logical – Closing a pop-up dialog, etc. – Can’t be used for actions absolutely unrelated to “returning”, like shooting, etc.
  • 29. Application Bar • Use AppBar instead of a custom menu system • Up to 4 buttons + menu • Buttons for most important tasks only • White color on the transparent background (without circle)
  • 30. Orientation support • Pages can be vertical, horizontal or change orientation automatically • Set via SupportedOrientations property • PortraitOrLandscape value – automatic orientation switching
  • 31. Data Binding • Automatically binds object properties • Separation of concerns (design/development) – MVVM pattern
  • 32. Pivot and Panorama • The best starting point for apps • Complies with Metro out of the box • Present information in easily digestible portions
  • 33. Pivot vs. Panorama Pivot Panorama • Can be used to display • More impressive more information • Background images • Supports programmatic automatically stretched switching • Horizontal PanoramaItem • LoadingPivotItem and for vizualization of content UnloadingPivotItem of different width events for delayed content loading • Effective use of screen real estate
  • 34. Launchers and Choosers • Each app runs in its own sandbox and can’t accept system resources or other apps • Launchers and Choosers mitigate this by allowing indirect access to these features
  • 35. Application Lifecycle Fast App Resume Resuming .. . Restore state! State preserved! running IsAppInstancePreserved IsAppInstancePreserved == Save State! == false true activated deactivated Tombstone the oldest app Tombstoned dormant Phone resources detached Threads & timers suspended
  • 38. Publishing Process Application and Game Submission .xap App .xap App Packaging & Submission .dll .dll Validation Marketplace Windows Phone 7 Deployment Service Add Apply .xap .xap Metadata Test Sign .dll Criteria .dll
  • 39. Summary • Modern mobile platform • Metro design language • Silverlight or XNA or Silverlight+XNA • Centralized app Marketplace
  • 40. Additional resources • App Hub – http://create.msdn.com • Programming Windows Phone by Charles Petzold – http://www.charlespetzold.com/phone/ • Twitter - #wpdev
  • 41. Questions? Alan Mendelevich Twitter: @ailon ailon@ailon.org

Hinweis der Redaktion

  1. Žemesnė rezoliucija paskelbta ir kol kas užmiršta. Laukiami specifikacijos pakeitimai susiję su sandoriu su Nokia.
  2. 2009m. nuspręsta pradėti iš naujoTikslas – sukurti gražų, paprastą interfeisą greitam ir maloniam naudojimui
  3. Transporto ikonografija, spalvos, labai aiškus šriftai (todėl ir Metro)Turinio prikėlimas gyvenimui naudojant judesį ir animacijas (iš Xbox)Patyrimo praplėtimas (papildomas turinys) (iš Zune PC)Interfeiso elementai iš Zune HD
  4. Greičio pojūtis, susikoncentravimas ties pagrindiniais dalykais, negailestingas nereikalingų elementų mažinimas, tuščio ploto panaudojimas, turinio „išsiliejimas“ už ekrano ribųYpatingas dėmesys šriftams ir tekstuiJudesys suteikia gyvumo ir greitaveikos pojūtį, pritraukia dėmesį, įneša tūrį ir gylįAtsisakyta beveik visų apipavidalinimo elementų, turinys yra „dizainas“jokių šešėlių, pseudo 3D, stiklo imitacijų ir pan. Nebandyti būti tuo, kuo nesi.
  5. The user can select theme colors (personalization)Color is also used as a secondary element to highlight hierarchyIn case of contacts: phone numbers are highlighted in different colorsIn case of calendar: the current date is highlightedAll theme API’s are available to all developers, allowing developers to fit their applications into the theme that users select.
  6. Standartizuoti gestai
  7. - Svarbu išbandyti ant tikro telefono
  8. T.y. kontekstinis meniuGali būti kitas kiekviename puslapyjePagrindiniai veiksmai – mygtukai, papildomi – meniu
  9. - Tabai
  10. Galima integruotis i PicturesHub‘ą arba Music& Video
  11. NemokamiPuikiai veikia kartu
  12. Visus reikalingus įrankius galima parsisiųsti nemokamai viename pakete
  13. Kai pradėjo kurti WP einamojiSilverlight versija buvo 3Paimta kaip pagrindas, plius papildomos bibliotekos darbui su specifiniais telefono uždaviniaisInterfeisas aprašomas XAML kalba, programuojama C# (dabar galima ir VB.NET, bet nerekomenduoju)Varikliukas optimizuotas telefonams
  14. Nustatytų stilių naudojimas užtikrina, kad gerai atrodys su skirtingomis temomis ir personalizuotu akcentuBūtina išbandyti su šviesiu fonu
  15. - MP testuotojai labai kreipia dėmesį į Back veikimą
  16. Jei yra teksto įvedimo galimybė tikrai patartina numatyti veikimą horizontaliai
  17. - Dizaineriui nereikia žinoti kaip suprogramuoti tam tikri dalykai, programuotojui nereikia žinoti kaip jie atvaizduojami
  18. InstallationApp codePhone capabilitiesLanguageCertification:- ReliabilityPerformanceSecurity