Windows Phone 7 @ Login 2011. II dalis. Programavimas

36
Programėlių kūrimo apžvalga Alan Mendelevič amCharts for WPF, Silverlight and Windows Phone 7 programuotojas AdDuplex įkūrėjas ailon @ailon.org http://devblog.ailon.org Twitter: @ailon

description

 

Transcript of Windows Phone 7 @ Login 2011. II dalis. Programavimas

Page 1: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Programėlių kūrimoapžvalga

Alan MendelevičamCharts for WPF, Silverlight and Windows Phone 7 programuotojasAdDuplex įkūrėjas

[email protected]://devblog.ailon.orgTwitter: @ailon

Page 2: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Šioje dalyje

• Programavimo platformų apžvalga• Įrankiai• “Hello, World!” Silverlight ir XNA• Silverlight for Windows Phone

detaliau• Realios Silverlight programėlės

kūrimas

Page 3: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Platformos

Aukštos greitaveikos žaidimų platforma

Greitas 2D ir 3D žaidimų kūrimas

Brandi plačiai naudojama technologija. Naudojama kuriant žaidimus Xbox 360, Windows, ir Zune

Šiuolaikiška vartotojo sąsajos kūrimo aplinka

Greitas įspūdingų programėlių kūrimas

Metro-stilizuoti vartotojosąsajos komponentai

500,000+ programuotojųpasaulyje

Page 4: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Įrankiai

• Expression Blend • Visual Studio

Page 5: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Įrankiai

• 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

Page 6: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Demo

„Hello, World!” Silverlight ir XNA

Page 7: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Silverlight programavimas Windows Phone

Page 8: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Aptarsime

• XAML• Navigacija• Orientacija• Komponentai (Controls)• Launcher‘iai ir Chooser‘iai• Tombstoning

Page 9: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Silverlight 3+

• Silverlight 3 pagrindas• Plius specifiniai moduliai (telefono

funkcijoms, sensoriams ir t.t.)• XAML + C# (arba VB.NET)• Optimizuota veikimui mažuose

mažesnio galingumo įrenginiuose

Page 10: Windows Phone 7 @ Login 2011. II dalis. Programavimas

XAML

• eXtensible Application Markup Language• XML pagrindu• Naudojama WPF ir Silverlight• Deklaratyviai aprašo vartotojo sąsają,

animacijas ir kt.

Page 11: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Standartiniai projektų ruošiniai

• Windows Phone Application• Windows Phone Databound

Application• Windows Phone Class Library• Windows Phone Panorama

Application• Windows Phone Pivot Application

Page 12: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Temos

• Vartotojas gali keisti sistemos spalvas– Pasirinkti tamsų arba

šviesų foną– Pasirinkti „akcento“ spalvą

• Standartiniai Silverlight komponentai automatiškai prisitaiko prie temos

• Nustatyti stiliai

Page 13: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Data Binding

• Leidžia automatiškai „sujungti“ objektų laukus

• Padeda atskirti atsakomybes (dizainas/programavimas)–MVVM pattern

Page 14: Windows Phone 7 @ Login 2011. II dalis. Programavimas

DemoAutomatic Unit Converter

Įrankiai, XAML, Data-Binding

Page 15: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Application Bar

• Naudokite AppBar vietoje nuosavos meniu sistemos

• Iki 4 mygtukų + papildomi punktai išskleidžiamame meniu

• Mygtukai tik pagrindiniams veiksmams

• Balta spalva permatomame fone be apskritimo

Page 16: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Application Bar XAML

Page 17: Windows Phone 7 @ Login 2011. II dalis. Programavimas

17

Puslapių navigacija• Navigacija per WP7

programėles vykdoma puslapių pagrindu– Panašiai, kaip web puslapiai– Puslapiai identifikuojami URI– Puslapiai neturi būsenos

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

Page 18: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Mygtukas „Atgal“

• Grįžta į prieš tai buvusį puslapį– Vartotojo sąsaja neduplikuoja šio

funkcionalumo

• Galima keisti, kai grįžimas į prieš tai buvusį puslapį nėra logiška operacija– Pavyzdžiui „pop-up“ lango uždarymui– Negalima naudoti su grįžimu

nesusijusiems tikslams (pvz. šaudymui)

Page 19: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Pivot ir Panorama

• Geriausias būdas pradėti naujas programėles

• Atitinka Metro rekomendacijas „iš dėžutės“

• Paskirsto informaciją lengvai suvirškinamomis porcijomis

Page 20: Windows Phone 7 @ Login 2011. II dalis. Programavimas

20

Pivot

Page 21: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Pivot

• Geras būdas atvaizduoti skirtingus tos pačios informacijos pjūvius

• Arba skirtingą susijusią informaciją• Leidžia vartotojui sukoncentruoti dėmesį ir

tuo pačiu matyti susijusią informaciją

Page 22: Windows Phone 7 @ Login 2011. II dalis. Programavimas

22

Panorama

Page 23: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Panorama

• Horizontali drobė• Lydi vartotoją link papildomo turinio• Pradinis kelių skirtingų krypčių lygis• Dažniausiai būna iki 4 „ekranų“

Page 24: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Pivot prieš Panorama

• Gali atvaizduoti daugiau turinio

• Palaiko programinį perjungimą

• LoadingPivotItem ir UnloadingPivotItem įvykiai leidžia atidėti turinio pakrovimą

• Efektyvesnis ekraninio ploto panaudojimas

• Leidžia kurti įspūdingesnes programėles

• Foniniai paveikslėliai automatiškai tvarkingai nukerpami ir suklijuojami

• Horizontalios PanoramaItem leidžia tvarkingai išdėstyti skirtingo pločio turinį

Pivot Panorama

Page 25: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Atsargiai

• Niekada nedėkite Panoramos į Pivot• Niekada nedėkite Pivot į Panoramą• Nenaudokite Pivot ir Panoramos

nuoseklaus interfeiso kūrimui• Nerekomenduojama į Pivot ar

Panoramą dėti įvedimo komponentų

Page 26: Windows Phone 7 @ Login 2011. II dalis. Programavimas

DemoAutomatic Unit Converter

Application Bar, Pivot,Navigacija

Page 27: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Orientacijos palaikymas

• Puslapiai gali būti vertikalūs, horizontalūs arba automatiškai keisti orientaciją

• Nustatoma per SupportedOrientations property• Jei nustatyta PortraitOrLandscape,

persiorientuoja automatiškai

Page 28: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Bing Maps

• Leidžia atvaizduoti žemėlapius

• Optimizuotas lietimui (pinch zoom ir t.t.)

• Galima dėlioti papildomus sluoksnius

Page 29: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Kiti komponentai

• Silverlight for Windows Phone Toolkit– http://silverlight.codeplex.com– AutoCompleteBox, ContextMenu, DatePicker,

GestureService/GestureListener, ListPicker, LongListSelector, Page Transitions, PerformanceProgressBar, TiltEffect, TimePicker, ToggleSwitch, WrapPanel

• amCharts Quick Charts for Windows Phone 7– http://wpf.amcharts.com/quick

• Daug kitų

Page 30: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Launcher‘iai ir Chooser‘iai

• Kiekviena programėlė vykdoma uždaroje „smėlio dėžutėje“, ir negali prieiti prie sisteminės informacijos ar leisti kitas programėles

• Launcher‘iai ir Chooser‘iai leidžia netiesioginį priėjimą prie šių galimybių

Page 31: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Launcher‘iai ir Chooser‘iai

Launcher• Paleidžia vieną iš

standartinių programėlių, per kurias vartotojas atlieka reikiamus veiksmus

• Niekas negražinama mūsų programėlei

• Pavyzdžiui PhoneCallTask

Chooser• Paleidžia vieną iš

standartinių programėlių, per kurias vartotojas atlieka reikiamus veiksmus

• Gražina rezultatą mūsų programėlei

• Pavyzdžiui PhotoChooserTask

Page 32: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Launchers & ChoosersLaunchers PhoneCallTask SearchTask SMSComposeTask WebBrowserTask EmailComposeTask MarketplaceDetailTask MarketplaceHubTask MarketplaceReviewTas

k MarketplaceSearchTask MediaPlayerLauncher

Choosers CameraCaptureTask EmailAddressChooserTa

sk PhoneNumberChooserT

ask PhotoChooserTask SaveEmailAddressTask SavePhoneNumberTask

Page 33: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Tombstoning

Running

Deactivated

Tombstoned (in most

cases)

Activated

Programėles procesas sustabdomas (dažniausiai)*

Išsaugoti būseną

Pakrauti būseną

Vartotojas grįžta ten, kur ir buvo

Press Start Open toast Lock screen

Page 34: Windows Phone 7 @ Login 2011. II dalis. Programavimas

DemoAutomatic Unit Converter

Launcher‘iai, Tombstoning

Page 35: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Apibendrinant

• Programėlės kuriamos Silverlight arba XNA• Naudojant Visual Studio ir Expression Blend• Silverlight 3+– XAML + C# (arba VB.NET)– Puslapių navigacija– Application Bar– Orientacijos palaikymas– Pivot ir Panorama– Priėjimas prie sisteminių resursų per Launcher‘ius

ir Chooser‘ius– Tombstoning

Page 36: Windows Phone 7 @ Login 2011. II dalis. Programavimas

Klausimai?