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, C GPU
ompass, Light DirectX 9
acceleration
Camera
5 mega pixels or
more CPU
ARMv7
Hardware buttons Cortex/Scorpion or
Start, Search, Back better
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
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
Notas do Editor
Žemesnė rezoliucija paskelbta ir kol kas užmiršta. Laukiami specifikacijos pakeitimai susiję su sandoriu su Nokia.
2009m. nuspręsta pradėti iš naujoTikslas – sukurti gražų, paprastą interfeisą greitam ir maloniam naudojimui
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
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.
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.
Standartizuoti gestai
- Svarbu išbandyti ant tikro telefono
T.y. kontekstinis meniuGali būti kitas kiekviename puslapyjePagrindiniai veiksmai – mygtukai, papildomi – meniu
- Tabai
Galima integruotis i PicturesHub‘ą arba Music& Video
NemokamiPuikiai veikia kartu
Visus reikalingus įrankius galima parsisiųsti nemokamai viename pakete
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
Nustatytų stilių naudojimas užtikrina, kad gerai atrodys su skirtingomis temomis ir personalizuotu akcentuBūtina išbandyti su šviesiu fonu
- MP testuotojai labai kreipia dėmesį į Back veikimą
Jei yra teksto įvedimo galimybė tikrai patartina numatyti veikimą horizontaliai
- Dizaineriui nereikia žinoti kaip suprogramuoti tam tikri dalykai, programuotojui nereikia žinoti kaip jie atvaizduojami