한국마이크로소프트
김영욱 차장
.NET Evangelist
http://YoungWook.com
Mobile Market
Why is Microsoft in the Mobile Business?
                                     1,388

       1,176                        290 (21%)

       145 (12%)
                       WM Capable                  WM Capable



         741                          888
        (63%)                        (64%)




         290                                       374
        (25%)           277           210
                                     (15%)



                2008                        2011
Windows Mobile



                                                                  • Windows Mobile   • Windows Mobile
• Hand Held PC          • Pocket PC 2002     • Windows Mobile 5
                                                                  6.1                6.5
• 500, 000 units sold   • Smart Phone 2002   • Push e-mail
                                                                  • 18m units sold   • MyPhone, Market Place
3 Screens and a Cloud




    MBS Online
5
Integrated Experiences


PEOPLE
OFFICE
PICTURES
MUSIC+VIDEO
MARKETPLACE
GAMES
Windows                      Common
                                        Consistent   Quality
 Phone                       Hardware
                                         Platform    Focus
Hardware                     Elements



Consistent set of hardware
capabilities defined by Microsoft
One resolution at launch
Second resolution added later
Same touch input
Consistent processor / GPU
Same available RAM
Optional keyboard
Windows Phone 7
           Design Story
Metro
Start




        Glance & Go   Get Me There
Metro
Gestures
Touch

Recommended touch target size is 9mm

Minimum touch target size is 7mm

Minimum spacing between
elements is 2mm

Visual size is 60-100% of the touch
target size
Common controls
Hubs vs. Single-Page Apps
Iconography

Icons in the application menu
should be consistent

Test icons with users
(pay attention to context)
notification types

              15
              14
        New photos online!




Seattle, WA: Sunny and 85 degrees
GPS
               location
                           + Accuracy
                           - Power
                           - Speed
                           - Indoors




- Accuracy
+ Power
+ Speed
- Wilderness

                           +/- Accuracy
                           +/- Power
                Location   +/- Speed
                services   +/- Urban areas
Manage App & Game Updates
                Notifications of app updates
                on the Marketplace hub




                       View the details of
                       a specific update


                        Update all apps at
                      Choose to update
                        once or view the
                      a updateapp or of a
                        single details
                      game app or game
                        single
Windows Phone 7
   Development Tools
Two Flavors of Applications
Developer Portal

Learn…

Build…

Publish…

Earn…



             http://developer.windowsphone.com
Getting Started

Get the Windows Phone Developer Tools

Build your Silverlight or XNA Framework
application

Register to publish

Distribute your application
Common Capabilities
Input                                  .NET
•   Touch                              •   Superset of Silverlight 3.0
•   Hardware buttons                   •   Windows Communication Foundation
                                            •   SOAP and REST services


Media
                                       Phone Access
•   Digital media capture & playback
•   Media library access               •   Integrated access to phone UI
                                       •   Sensors
                                       •   Picker for contacts and photos
Data
•   Isolated Storage                   Integrated With Cloud Services
•   LINQ (Objects and XML)
                                       •   App Deployment & Updates
                                       •   Notifications
                                       •   Location
                                       •   Xbox LIVE
Application Model
                        .NET Common
                      Language Runtime

Goal: Great User
  Experiences
                                             Process Model
   Predictable
      Safe
High performance
   Innovative
                         Service Based
                    Application Deployment
Windows Phone Developer Tools
                                       Tools


                                     Phone Emulator
                                         Samples      Documentation
One download                Guides                 Community
                            Packaging and Verification Tools
Free
CTP available today!
http://developer.windowsphone.com
Windows Phone Developer Tools
    Tools

Phone Emulator
    Samples        Documentation
    Guides            Community
  Packaging and Verification Tools

                                     Windows Phone
                                             device

        myapp.xap




                                               Windows Phone
                                               Emulator
Application Marketplace
Enhanced Discovery
• Easy to find great
  applications, games
• Fun to browse the
  marketplace
Simple, Reliable
Acquisition
• Try before you buy
• Buying and downloading
  content is a breeze
• Payment flexibility
  (MO billing
  and credit card)
• Easy application updates
Windows Phone 7
   Apps Programming
XAML


 eXtensible          Application            Markup   Language

 XML

 Declarative Markup
<Grid>
    <TextBlock FontSize="48" Text="Hello world" />
</Grid>
Code



XAML maps to code

Anything in XAML can be done in code
The Basics

DEMO - XAML + CODE
Shapes

Vector-Based

Importable from Photoshop or Illustrator
Brushes

Determines how objects are painted and outlined

Solid, Gradient, Image, Media
Pretty Shapes

DEMO – SHAPES + BRUSHES
Controls

Encapsulates functionality

Give it a x:Name

Same properties as in XAML

<Button x:Name="MyButton"
        Content="Center"
        Width="150"
        Height="50" />
Events

Can be created in XAML & Code

Tools create handler for you


public void myButton_Click(object sender, RoutedEventArgs e)
{
    // todo: add code
}
Make it Do Something

DEMO – CONTROLS + EVENTS
Styling

Apply consistent formatting

Per-page or per-application

<Style TargetType="TextBlock"
       x:Key="SubHeadingText">
    <Setter Property="FontSize"
            Value="42" />
    <Setter Property="Foreground"
            Value="Blue" />
</Style>
Layout

Flexible Layout system

Canvas | Fixed-position

StackPanel | “Stacks” dynamically

Grid | Rows & columns, very flexible
Transforms
Alters any element     Transforms        Projections


     Controls            Rotate               Plane
       Text               Scale              Matrix
      Media               Skew      Apply 3D to a 2D element
                        Translate
                         Matrix
Animations
Animate a property value over time

Basics

  Storyboard             Animation              Keyframe




Expression Blend is the best tool for designing animations
Make it Look Great

DEMO –TRANSFORMS,
ANIMATIONS
Databinding
Powerful Concept

Two types


Property binding     List binding



Based on change notification
Make it Real

DEMO – DATABINDING
Code Reuse
Reuse UI


 User Control      Custom Control



Reuse Code

                   Across platforms
Across projects     (Web, Windows
                       Phone)
Call to action
• 개발툴 지금 다운로드 받으세요
 – http://silverlight.net
 – http://developer.windowsphone.com
• 멋전 앱과 게임을 지금부터 개발하세요
Thank you!
      개발자를 위한 IT블로그

     영욱닷컴
    http://YoungWook.com

S#01 김영욱