![Page 1: Windows Phone 7 @ Login 2011. II dalis. Programavimas](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/1.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/2.jpg)
Š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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/4.jpg)
Įrankiai
• Expression Blend • Visual Studio
![Page 5: Windows Phone 7 @ Login 2011. II dalis. Programavimas](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/5.jpg)
Į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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/6.jpg)
Demo
„Hello, World!” Silverlight ir XNA
![Page 7: Windows Phone 7 @ Login 2011. II dalis. Programavimas](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/7.jpg)
Silverlight programavimas Windows Phone
![Page 8: Windows Phone 7 @ Login 2011. II dalis. Programavimas](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/8.jpg)
Aptarsime
• XAML• Navigacija• Orientacija• Komponentai (Controls)• Launcher‘iai ir Chooser‘iai• Tombstoning
![Page 9: Windows Phone 7 @ Login 2011. II dalis. Programavimas](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/14.jpg)
DemoAutomatic Unit Converter
Įrankiai, XAML, Data-Binding
![Page 15: Windows Phone 7 @ Login 2011. II dalis. Programavimas](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/16.jpg)
Application Bar XAML
![Page 17: Windows Phone 7 @ Login 2011. II dalis. Programavimas](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/20.jpg)
20
Pivot
![Page 21: Windows Phone 7 @ Login 2011. II dalis. Programavimas](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/22.jpg)
22
Panorama
![Page 23: Windows Phone 7 @ Login 2011. II dalis. Programavimas](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/26.jpg)
DemoAutomatic Unit Converter
Application Bar, Pivot,Navigacija
![Page 27: Windows Phone 7 @ Login 2011. II dalis. Programavimas](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/28.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/32.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/34.jpg)
DemoAutomatic Unit Converter
Launcher‘iai, Tombstoning
![Page 35: Windows Phone 7 @ Login 2011. II dalis. Programavimas](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052617/546b0465af7959221d8b5ebb/html5/thumbnails/36.jpg)
Klausimai?