Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development
-
Upload
alan-mendelevich -
Category
Documents
-
view
1.055 -
download
1
description
Transcript of Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development
![Page 1: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/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: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/2.jpg)
Šioje dalyje
• Programavimo platformų apžvalga• Įrankiai• Silverlight for Windows Phone
detaliau
![Page 3: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/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: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/4.jpg)
Įrankiai
• Expression Blend • Visual Studio
![Page 5: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/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: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/6.jpg)
Silverlight programavimas Windows Phone
![Page 7: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/7.jpg)
Aptarsime
• XAML• Data-Binding• Navigacija• Orientacija• Komponentai (Controls)• Launcher‘iai ir Chooser‘iai• Tombstoning
![Page 8: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/8.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 9: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/9.jpg)
XAML
• eXtensible Application Markup Language• XML pagrindu• Naudojama WPF ir Silverlight• Deklaratyviai aprašo vartotojo sąsają,
animacijas ir kt.
![Page 10: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/10.jpg)
10
Standartiniai elementai
![Page 11: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/11.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 12: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/12.jpg)
Data Binding
• Leidžia automatiškai „sujungti“ objektų laukus
• Padeda atskirti atsakomybes (dizainas/programavimas)
![Page 13: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/13.jpg)
MVVM Pattern
• Model-View-ViewModel
• Atsakomybių atskirimas• Testability, Maintainability, Blendability• Populiariausios pagalbinės bibliotekos– MVVM Light Toolkit
http://mvvmlight.codeplex.com/– Caliburn.Micro http://caliburnmicro.codeplex.com/
View (XAML) View Model Model
![Page 14: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/14.jpg)
DemoAutomatic Unit Converter
Model-View-ViewModel su MVVM Light Toolkit
![Page 15: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/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: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/16.jpg)
Application Bar XAML
![Page 17: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/17.jpg)
17
Puslapių navigacija• Navigacija per WP7
programėles vykdoma puslapių pagrindu– Panašiai, kaip web puslapiai– Puslapiai identifikuojami URI
private void hyperlinkButton1_Click( object sender, RoutedEventArgs e){ NavigationService.Navigate( new Uri("/SecondPage.xaml", UriKind.RelativeOrAbsolute) );}
![Page 18: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/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: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/19.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 20: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/20.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 21: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/21.jpg)
21
Pivot
![Page 22: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/22.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 23: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/23.jpg)
23
Panorama
![Page 24: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/24.jpg)
Panorama
• Horizontali drobė• Lydi vartotoją link papildomo turinio• Pradinis kelių skirtingų krypčių lygis• Dažniausiai būna iki 4 „ekranų“
![Page 25: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/25.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 26: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/26.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 27: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/27.jpg)
Bing Maps
• Leidžia atvaizduoti žemėlapius
• Optimizuotas lietimui (pinch zoom ir t.t.)
• Galima dėlioti papildomus sluoksnius
![Page 28: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/28.jpg)
Kiti komponentai
• Silverlight for Windows Phone Toolkit– http://silverlight.codeplex.com
• Telerik RadControls for Windows Phone– http://
www.telerik.com/products/windows-phone.aspx
• Mindscape Phone Elements– http://
www.mindscapehq.com/products/phone-elements
• amCharts Quick Charts for Windows Phone 7– http://wpf.amcharts.com/quick
• Daug kitų
![Page 29: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/29.jpg)
Prizas!!!
![Page 30: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/30.jpg)
Uždirbkite $100 Lietuvos .NET vartotojų grupei.
http://www.telerik.com/products/windows-phone/getting-started/user-groups.aspx
![Page 31: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/31.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 32: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/32.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 33: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/33.jpg)
Launchers & ChoosersLaunchers PhoneCallTask SearchTask SMSComposeTask WebBrowserTask EmailComposeTask MarketplaceDetailTask MarketplaceHubTask MarketplaceReviewTas
k MarketplaceSearchTask MediaPlayerLauncher
Choosers CameraCaptureTask EmailAddressChooserTa
sk PhoneNumberChooserT
ask PhotoChooserTask SaveEmailAddressTask SavePhoneNumberTask
![Page 34: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/34.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 35: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/35.jpg)
DemoAutomatic Unit Converter
Launcher‘iai, Tombstoning
![Page 36: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/36.jpg)
Apibendrinant
• Programėlės kuriamos Silverlight arba XNA
• Naudojant Visual Studio ir Expression Blend
• Silverlight 3 + specifiniai moduliai
![Page 37: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/37.jpg)
Papildoma informacija
• App Hub– http://create.msdn.com
• Programming Windows Phone by Charles Petzold– http://www.charlespetzold.com/phone/
• Jesse Liberty “Windows Phone from Scratch”– http
://jesseliberty.com/windows-from-scratchindex/
• Twitter - #wp7dev
![Page 39: Lithuanian .NET User Group - Windows Phone 7 - Silverlight Development](https://reader034.fdocuments.in/reader034/viewer/2022051211/5538735d4a795977028b474e/html5/thumbnails/39.jpg)
Ačiū!