Upload
alan-mendelevich
View
1.055
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
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
Šioje dalyje
• Programavimo platformų apžvalga• Įrankiai• Silverlight for Windows Phone
detaliau
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
Įrankiai
• Expression Blend • Visual Studio
Į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
Silverlight programavimas Windows Phone
Aptarsime
• XAML• Data-Binding• Navigacija• Orientacija• Komponentai (Controls)• Launcher‘iai ir Chooser‘iai• Tombstoning
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
XAML
• eXtensible Application Markup Language• XML pagrindu• Naudojama WPF ir Silverlight• Deklaratyviai aprašo vartotojo sąsają,
animacijas ir kt.
10
Standartiniai elementai
Temos
• Vartotojas gali keisti sistemos spalvas– Pasirinkti tamsų arba
šviesų foną– Pasirinkti „akcento“ spalvą
• Standartiniai Silverlight komponentai automatiškai prisitaiko prie temos
• Nustatyti stiliai
Data Binding
• Leidžia automatiškai „sujungti“ objektų laukus
• Padeda atskirti atsakomybes (dizainas/programavimas)
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
DemoAutomatic Unit Converter
Model-View-ViewModel su MVVM Light Toolkit
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
Application Bar XAML
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) );}
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)
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
Pivot ir Panorama
• Geriausias būdas pradėti naujas programėles
• Atitinka Metro rekomendacijas „iš dėžutės“
• Paskirsto informaciją lengvai suvirškinamomis porcijomis
21
Pivot
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ą
23
Panorama
Panorama
• Horizontali drobė• Lydi vartotoją link papildomo turinio• Pradinis kelių skirtingų krypčių lygis• Dažniausiai būna iki 4 „ekranų“
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
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ų
Bing Maps
• Leidžia atvaizduoti žemėlapius
• Optimizuotas lietimui (pinch zoom ir t.t.)
• Galima dėlioti papildomus sluoksnius
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ų
Prizas!!!
Uždirbkite $100 Lietuvos .NET vartotojų grupei.
http://www.telerik.com/products/windows-phone/getting-started/user-groups.aspx
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ų
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
Launchers & ChoosersLaunchers PhoneCallTask SearchTask SMSComposeTask WebBrowserTask EmailComposeTask MarketplaceDetailTask MarketplaceHubTask MarketplaceReviewTas
k MarketplaceSearchTask MediaPlayerLauncher
Choosers CameraCaptureTask EmailAddressChooserTa
sk PhoneNumberChooserT
ask PhotoChooserTask SaveEmailAddressTask SavePhoneNumberTask
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
DemoAutomatic Unit Converter
Launcher‘iai, Tombstoning
Apibendrinant
• Programėlės kuriamos Silverlight arba XNA
• Naudojant Visual Studio ir Expression Blend
• Silverlight 3 + specifiniai moduliai
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
Ačiū!