72
Windows Phone Microsoft Corporation. Windows Phone 7 - wstęp Andrzej Chybicki

Windows Phone 7 - wstęp

Embed Size (px)

DESCRIPTION

Windows Phone 7 - wstęp. Andrzej Chybicki. Windows Phone 7 - początki. Microsoft o Windows Phone 7: In golf, it’s known as a “mulligan”; in schoolyard sports, it’s called a “do-over”; and in the computer industry, we say it’s a “reboot.” Dwie ścieżki programowania : - XNA - PowerPoint PPT Presentation

Citation preview

Page 1: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Windows Phone 7 - wstęp

Andrzej Chybicki

Page 2: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Windows Phone 7 - początki

Microsoft o Windows Phone 7:In golf, it’s known as a “mulligan ;”

in schoolyard sports, it’s called a “do-over;” and in the computer industry, we say it’s a “reboot”.

Dwie ścieżki programowania :- XNA

-Silverlight Silverlight – platforma developerska łącząca wygodę tworzenia

interfejsu, automatycznym łączeniem zdarzeń z możliwością zaawansowanego przetwarzaniem danych

XNA – platforma developerska do tworzenia gier (2D i 3D) ,-game-loop-XBOX, PC, Zune (mobile)

Page 3: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Środowisko pracy aplikacji Kod w pełni zarządzalny przez .NET

Framework Języki programowania

Sugerowane rozwiązanie – C# XNA i Silverlight współdzieli niektóre

biblioteki, ale nie można tworzyć projektów „mieszanych”

Page 4: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Silverlight vs. XNA Dla aplikacji użytecznych (RIA) XAML (Extensible Application Markup Language )

Interfejs użytkownika Przekazywanie zdarzeń Niektóre elementy logiczne oraz animacyjne

WP7 Silverlight = Silverlight 3 – niektóre rzeczy, których nie można zrobić na telefonie + niektóre rzeczy które można zrobić tylko na telefonie

Page 5: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

XNA vs. Silverlight Gry, aplikacje medialne, animacje z

interakcją z użytkownikiem wymagające zaawansowanego renderowania grafiki

Wewnętrzna synchronizacja wątków odświeżania i użytkownika

2D (sprites) i 3D (models) Silverlight (vector graphics) vs. XNA

(bitmap graphics) Time-steered vs. user (event) steered apps

Page 6: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Two Flavors of Applications

6

Page 7: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Windows Phone 7 jest w chmurze! Mapy Bing (LBS) Xbox Live Windows Phone Marketplace

Page 8: Windows  Phone  7 - wstęp

General Concept Software

Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Page 9: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

New Concept

9

DESIGN: END USER COMES FIRST

PLATFORM: RICHER, DEEPER, EASIER APPS

HARDWARE:FASTER TO MARKET, LESS HEAVY LIFTING

Page 10: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Metro UI

10

Page 11: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Hardware Foundation (in 7.0) Capacitive touch

4 or more contact points

SensorsA-GPS, Accelerometer, Compass, Light, Proximity,

Camera5 mega pixels or more

MultimediaCommon detailed specs, Codec acceleration

Memory256MB RAM or more, 8GB Flash or more

GPUDirectX 9 acceleration

CPUQualcomm MSM8x55 800Mhz or higher

Hardware buttons | Back, Start, Search

Page 12: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Sprzęt, wymagania i usługi Wielodotykowy ekran OLED (“organic light

emitting diode”) Przyciski: Rozmiar ekranu: 480 x 800 (480 x 320) (160

px) Modem 3G, Wi-fi, Camera, Akcelerometr Vibration FM Radio Push Notification

Page 13: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Windows Phone Developer Tools

13

myapp.xap

Windows Phone device

Windows PhoneEmulator

Phone EmulatorSamples DocumentationGuides Community

Packaging and Verification Tools

Tools

Page 14: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Deployment Process

14

Develop & Debug

Submit& Validate

Certify & Sign

Windows Phone Application Deployment Service

Marketplace

Page 15: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Certyfikacja aplikacji – główne filary Applications are reliable. Applications make efficient use of

resources. Applications do not interfere with the phone

functionality. Applications are free of malicious software.

15

Page 16: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Obszary procesu certyfikacji Application Policies Content Policies Application Submission Requirements Technical Certification Requirements Additional Requirements for Specific Applic

ation Types Patrz materiały do wykładu

16

Page 17: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Application Policies – Aplikacja… …musi być w pełni funkcjonalna i nie może żądać

dodatkowej opłaty za udostępnienie swojej funkcjonalności, chyba że…

… nie może promować planów taryfowych połączeń … nie może stanowić zagrożenia dla bezpieczeństwa

telefonu oraz Marketplace … jeśli aplikacja pobiera lub zajmuje ponad 50 MB

danych musi poinformować o tym użytkownika … jeśli wymaga uwierzytelniania w komunikacji

peer2peer należy się upewnić że użytkownik ma ponad 13 lat

17

Page 18: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Application Policies (2)– Aplikacja… … może określać pozycję tylko na

podstawie API ... może udostępniać lokalizację tylko za

zgodą użytkownika … musi spełniać jeszcze inne wymagania :

patrz materiały do wykładu

18

Page 19: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Content Policies Logo i znaki towarowe

aplikacja może (powinna) posiadać swoje logo Może korzystać z innych znaków towarowych

pod warunkiem akceptacji właściciela Nie może zawierać treści niezgodnych z prawem,

w szczególności Promowanie przemocy, rasizmu, alkoholu,

broni palnej i innych Treści, które ogólnie nie są obraźliwe ale mogą

być uznane za takie w niektórych krajach ->treść powinna uwzględniać aspekt prawny każdego kraju w jakim MarketPlace oferuje swoje aplikacje

19

Page 20: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Application Submission Requirement Maksymalny rozmiar pliku XAP – 225 MB Używanie tylko API Windows Phone Zabronione jest korzystanie z metod

wywołania typu Pinvoke oraz obiektów COM Nie może zawierać konfiguracji DEBUG Nie jest możliwe łączenie technologii XNA i

Silverlight Microsoft.Xna.Framework.Game System.Windows.Controls

Phone Capabilites czyli prawidłowy Manifest20

Page 21: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Technical Certification Requirements Kompatybilność z różnymi telefonami WP 7 (2) Unexpected closure Responsywność aplikacji Operacji trwające dłużej niż 3 sekundy muszą być

obsługiwane przez ProgressBar lub BusyIndicator W momencie przekazania aplikacji do

MarketPlace wszystkie zdalne serwisy i zasoby aplikacji muszą być dostępne i wpływają na proces certyfikacji!

Czas startu i responsywności po starcie – 5 s. i 20 s.

21

Page 22: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Technical Certification (2) Elementy obsługi przycisków telefonu…. Zajętość pamięci

Max 90 MB RAM, dla urządzeń do 256 MB RAMU całkowitego

Zaleca się użycie obiektów DeviceExtendedProperties DeviceStatus

Aplikacja nie może blokować , opóźniać, przerywać odbioru połączeń telefonicznych, wiadomości SMS oraz innych zdarzeń wywoływanych z poziomu OS

22

Page 23: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Additional Requirements Lokalizacja

Jeśli użytkownik nie życzy sobie … Aplikacje działające w tle a oszczędność

baterii Aplikacje działające w tle do pobierania

danych Muszą umożliwiać podgląd stanu

zaawansowania pobierania oraz anulowania

23

Page 24: Windows  Phone  7 - wstęp

Software Architecture Software

Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Page 25: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Silverlight Capabilities Inputs

Keyboard, Mouse, Touch, Ink XAML UI Core

Common Controls, Text, Images, Data Binding, Page Navigation, Vector Graphics, Animation, Transformation, Styles and Templates

Media Capture and Playback, VC1, WMA, MP3

Data LINQ to Objects, LINQ to XML, Isolated Storage, XML

Base Class Library Generics, Collections, Cryptography, Threading

Communication REST, RSS/ATOM, SOAP

25

Page 26: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Multitouch OOB Controls support touch

Translate touch events to mouse events

ScrollViewer has built-in support for pan and flick

Manipulation for all UIElements Scale Translate

26

Page 27: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Keyboard Silverlight TextBox integrates

with the SIP (on screen keyboard) Password has a delay

SIP supports input scoping Key InputScopes: Text, Url,

Number, Time, TelephoneNumber, EmailNameOrAddress

27

Page 28: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Media

28

Media support H/W decode MediaStreamSource PlayReady DRM

MediaElement Limitations One MediaElement only

XNA sound effect API Supports polyphonic,

looping wav data

Page 29: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Isolated Storage Compatible APIs with

Silverlight on desktop No quota limits Not shared

No write access to Media Library, use XNA for that

Use for your application settings

29

Page 30: Windows  Phone  7 - wstęp

ApplicationModel Software

Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Page 31: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Activation and Navigation Activation Events

Handled by the Application instance Launching, Activated, Deactivated

and Closing Navigation Events

Handled by each PhoneApplicationPage class

OnNavigatedTo, OnNavigatedFrom, OnBackKeyPressed, OnChooserReturn, OnOrientationChanged

Controlled by Hardware using Back and Home keys Software using Navigation Service

31

Page 32: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Application Lifecycle

- Phone removed from memory

- Some state saved to storage

Save State!

Load State!

Page 33: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Application Bar and System Tray System Tray

No integration, but does affect Layout

Show:Hide using SystemTray.IsVisible

Application Bar Up to 4 Buttons Menu Items (Recommended 6) Toggle Visibility <mypage>.ApplicationBar.IsVisibl

e33

Page 34: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Panorama

34

Part of the native Windows Phone look and feel

Panorama is a long horizontal canvas

PanoramaItem serves as a container that hosts other content and controls

Page 35: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Pivot

35

Provides a quick way to manage views or pages

Pivot is a container of pivot items

PivotItem contain individual page content such as controls, grids, or links

Page 36: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Many more… Standard Controls

Buttons, Image, Layout, ListBox, TextBox, Slider, Other…

Bing Maps Bing Map Control, Integration with Bing

Maps Services Deep Zoom

Included in core run-time , Optimized to take advantage of GPU, Consumes same content as SL on desktop, Supported for Online content

Web Browser Displays network and local content,

Supports pan, double tap and pinch to zoom, Supports transforms & projections, Application can interact with javascript

36

Page 37: Windows  Phone  7 - wstęp

IntegrationServices Software

Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Page 38: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Launchers & Choosers Enable applications to provide a set of

common phone tasks to their users Launchers let you fire and forget

SMS, Email, Web Browser, Dialer, Search, etc.

Choosers let you fire and pick the results back Picture, Camera, Contact, etc.

38

Page 39: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Push Notifications

39

Page 40: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Types of Push Notifications Tile notifications

Update tile count, title and background image

Toast notifications Display a on-top-like

message Raw notifications

Can be used in application logic

40

Page 41: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Location and Services The service obtains

location data from multiple sources such as GPS, Wi-Fi, and cellular

Applications can access location information

Allows you to create location-aware applications

41

Page 42: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Register Your Device

43

Test on a physical device Register your device Install, run, and debug

unsigned applications Use Zune to register

your device

Page 43: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Programowanie Windows 7!! Visual Studio 2010 Zune software (zamiast ActiveSync) Oczywiście będą problemy z

deployowaniem aplikacji na Windows Mobile (dlaczego ma być zbyt prosto?)

Co trzeba zrobić aby zsynchronizować kalendarz Windows XP z Windows Phone 7?

UŻYĆ GOOGLA!!

Page 44: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Pierwsza aplikacja Silverlight Windows Phone Application WMAppManifest.xml

Title="SilverlightHelloPhone„ Deployowanie na emulator albo

prosto do urządzenia Rozdzielczość ekranu

emulatora jest taka sama jak w urządzeniu

Możliwość zmiany orientacji emulatora

Page 45: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Układ plików projektu Silverlight Cztery główne pliki każdego projektu:

App.xaml MainPage.xaml App.xaml.cs MainPage.xaml.cs

Postulat „code-behind”

Page 46: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

App.xaml.cs, App.xaml oraz App.g.cs

Page 47: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

MainPage.cs.xaml - > MainPage.g.cs Element w

Silverlight i XML Hierarchia

obiektów:

Page 48: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

/bin/Debug Plik XAP – spakowany, przekompilowany

projekt

Page 49: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

A teraz „Hello World” w XNA Brak wbudowanych czcionek Czcionka jest bitmapą! Wszystko jest

bitmapą! Czcionka musi być osobno zaimportowana

do projektu (problemy licencyjne)

Page 50: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Game.cs – główna część projektu w XNA

Page 51: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Page 52: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Orientacja (Sliverlight) Portrait, Landscape, PortraitOrLandscape Orientacja a

dynamiczne lokowanie komponentów (dynamic layout) HorizontalAlignment VerticalAlignment

Page 53: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Wynik

Page 54: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Marigin i padding

Atrybuty:ActualWidt

h ActualSize

SizeChangedLoaded

LayoutUpdated

Page 55: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Powiązywanie zdarzeń poprzez XAML

Page 56: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Wykrywanie zmiany orientacji

Page 57: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Orientacja XNA

BackBuffer i jego rola

BackBuffer a wydajność

Page 58: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Obsluga zmiany orientacji w XNA

Page 59: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Page 60: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Dotyk w WP7 (XNA)

4 przyciski równocześnie Obsługa przez zdarzenia (Sliverlight) W XNA sprawdzanie robimy w metodzie

Update (TouchPanel)TouchCollection touchLocations =

TouchPanel.GetState ;)(State : Pressed, Moved,

Released .Position ( Vector2 )

IdTouchLocation previousTouchLocation ;

bool success = touchLocation.TryGetPreviousLocation(out previousTouchLocation) ;

Page 61: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Dotyk w XNA - przykład

Page 62: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Gesty!!

Tap, doubleTap, pinch, pinchComplete, fredrag, HorizontalDrag, VerticalDrag, DragComplete

Page 63: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Dotyk w WP7 (Silverlight) Low-level

Zdarzenie Touch.FrameReported (XNA TouchPanel), nie zawiera gestów

TouchPoint Action (Down, Move, and Up). Position (Point), Size TouchDevice

High-level 3 zdarzenia w klasie UIElement

ManipulationStarted, ManipulationDelta, ManipulationCompleted

Page 64: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Routed Event handling

args.Handled = true;

Page 65: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Bitmapy (XNA) Definicja bitmapy w Silvelight (vector drawing,

image, bitmap) a w XNA (Texture2D) BMP, JPG(S), PNG(S)

Page 66: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Bitmapy (Silverlight)<Image Source="Images/Hello.png"

Stretch="None >/ "

W Silverlight można pobierać obrazek z URL:

Page 67: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Bitmapy (XNA)

Page 68: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Camera

Page 69: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Photo Library (XNA)

Page 70: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Photo Library Silverlight

Page 71: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Sensory w WP7 - akcelerometr

Page 72: Windows  Phone  7 - wstęp

Windows Phone Microsoft Corporation.

Akcelerometr w XNA