Your SlideShare is downloading. ×
0
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Mob03   what's new in windows phone
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Mob03 what's new in windows phone

116

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
116
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Template designed by What's new in Windows Phone Matteo Pagani info@qmatteoq.com - @qmatteoq http://www.qmatteoq.com Template designed by
  • 2. brought to you by
  • 3. Software Engineer @ Funambol Microsoft MVP – Windows Phone Development Nokia Developer Champion Autore dei libri «Sviluppare applicazioni per Windows Phone 8» e «Windows Phone 8 Development Succinctly» Membro della community DotNetLombardia e fondatore di WPDev Fusion chi sono
  • 4. Universal app Cosa cambia per lo sviluppatore? • La gestione del layout • I nuovi controlli XAML • La navigazione • La gestione dello storage Quale percorso? agenda
  • 5. Windows Developer Platform in 8.1 | | Legend
  • 6. Convergenza delle API 6 Il Windows Runtime (WinRT) è la piattaforma che consente di condividere il runtime e le API usate dalle Store app (telefono e tablet / pc) Convergenza quasi totale in 8.1 • L’obiettivo è la convergenza al 100% per gli scenari di sviluppo • 8.0 aveva circa il 30% di API convergenti • 8.1 ha più del 90% di API convergenti
  • 7. • Due applicazioni separate per le due piattaforme • Un progetto comune, che permette di condividere: • Codice • Controlli XAML • Asset grafici • Template basato sul meccanismo dei linked files: i file è come se fossero presenti in entrambi i progetti, ma fisicamente sono memorizzati in una sola posizione Welcome Universal Windows app
  • 8. demo Universal app
  • 9. Il layout
  • 10. La gestione del layout – WP 8.0 1.0x 1.6x 1.5x 2.25x 480x800 480x800 480x853 480x853
  • 11. La gestione del layout – WP 8.1 7” 6” 5” 4.5” canvas virtualmente infinito Limiti superiori di X, Y vengono calcolati a seconda del dispositivo utilizzando • dimensione del display • risoluzione dello schermo Funziona sia per i device attuali che per quelli futuri Stesso approccio di Windows 8.1 y
  • 12. La gestione del layout – WP 8.1 12:38 larghezza altezza “raw” pixels 12:38 larghezza altezza “view” pixels diviso per il fattore di scala
  • 13. Stessa dimensione, diverse risoluzioni 12:38 540 960 5.5” 12:38 5.5” 720 1280 12:38 5.5” 1080 1920 450 800 “view” pixels
  • 14. Stessa risoluzione, diverse dimensioni 12:38 4.7” 1080 1920 “view” pixels 368x686 12:38 5.5” 1080 1920 450x800 12:38 6” 1080 1920 491x873
  • 15. • In alcuni scenari (ad esempio, un gioco) non è possibile mostrare più contenuto • Il controllo ViewBox consente di applicare il vecchio approccio di 8.0 • Il contenuto all’interno del controllo viene semplicemente scalato Il controllo ViewBox
  • 16. demo Gestire il layout
  • 17. I controlli
  • 18. Convergenza dei controlli 80% XAML condiviso 20% personalizzato Common SignatureOptimized DatePicker TimePicker CommandBar Button CheckBox RadioButton ProgressBar Slider ToggleSwitch Hub Pivot ListView GridView SysTray
  • 19. • Il controllo Panorama è stato sostituito dal controllo Hub • E’ composto da HubSection per definire le varie sezioni • Principale differenza con il controllo Panorama: le sezioni sono definite da un DataTemplate Panorama
  • 20. <Hub> <HubSection Header="Prima sezione"> <DataTemplate> <Image Source="/Assets/small-logo.jpg" /> </DataTemplate> </HubSection> <HubSection Header="Seconda sezione"> <DataTemplate> <StackPanel> <TextBlock Text="Contenuto della seconda sezione" /> </StackPanel> </DataTemplate> </HubSection> </Hub> Il controllo Hub
  • 21. Il controllo ApplicationBar è stato sostituito dal controllo CommandBar ApplicationBar <Page.BottomAppBar> <CommandBar x:Name="commandBar"> <CommandBar.PrimaryCommands> <AppBarButton Label="edit" Icon="Edit" /> <AppBarButton Label="favorite" Icon="Favorite" /> <AppBarSeparator /> <AppBarToggleButton Label="play" Icon="Play" /> </CommandBar.PrimaryCommands> <CommandBar.SecondaryCommands> <AppBarButton Label="help" Icon="Question" /> </CommandBar.SecondaryCommands> </CommandBar> </Page.BottomAppBar>
  • 22. Il controllo CommandBar Windows Phone Windows
  • 23. • E’ stato sostituito dai controlli GridView e ListView • Il controllo GridView è ottimizzato per una visualizzazione a griglia • Il controllo ListView è ottimizzato per una visualizzazione a lista • Entrambi non richiedono più di creare una classe ad hoc per gestire il raggruppamento Il controllo LongListSelector
  • 24. ListView e GridView
  • 25. Semantic Zoom <SemanticZoom> <SemanticZoom.ZoomedInView> <!-- ListView or GridView --> <!-- ItemsSource binds to CollectionViewSource --> </SemanticZoom.ZoomedInView> <SemanticZoom.ZoomedOutView> <!-- ListView or GridView --> <!-- ItemsSource bound to CollectionViewSource, Path=CollectionGroups --> </SemanticZoom.ZoomedOutView> </SemanticZoom>
  • 26. demo ListView e GridView
  • 27. E’ stata sostituita dal controllo StatusBar e non può essere gestito dallo XAML StatusBar StatusBar StatusBar StatusBar StatusBar SystemTray
  • 28. I flyout sostituiscono i controlli ContextMenu e ListPicker Flyout
  • 29. <Button Content="Show Menu Flyout" Margin="20, 20, 100, 20"> <Button.Flyout> <MenuFlyout> <MenuFlyoutItem Text="Option 1" /> <MenuFlyoutItem Text="Option 2" /> <MenuFlyoutSeparator /> <ToggleMenuFlyoutItem Text="Toggle Option 1" IsChecked="True" /> <ToggleMenuFlyoutItem Text="Toggle Option 2" /> </MenuFlyout> </Button.Flyout> </Button> MenuFlyout
  • 30. <Button> <Button.Flyout> <ListPickerFlyout x:Name="ListPickerFlyout" ItemsSource="{Binding Path=Comics}"> <ListPickerFlyout.ItemTemplate> <DataTemplate> <StackPanel> <TextBlock Text="{Binding Title}" /> </StackPanel> </DataTemplate> </ListPickerFlyout.ItemTemplate> </ListPickerFlyout> </Button.Flyout> </Button ListPickerFlyout
  • 31. La navigazione
  • 32. Il nuovo approccio Window Frame Page Window
  • 33. • Si usa il metodo Navigate() della classe Frame • E’ richiesto il tipo della pagina e non l’url • Ora è supportato il passaggio di oggetti complessi private void Comics_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { Comic selectedComic = Comics.SelectedItem as Comic; Frame.Navigate(typeof (DetailPage), selectedComic); } Navigazione tra le pagine
  • 34. • La classe Frame sostituisce il NavigationService • BackStack per accedere allo stack delle pagine • GoBack() per tornare alla pagina precedente • CanGoBack per sapere se ci sono pagine nello stack • Di default viene sempre restituita una nuova istanza della pagina • E’ possibile controllarlo tramite la proprietà NavigationCacheMode Gestione dello stack delle pagine
  • 35. Gestire lo stato della pagina NavigationCacheMode.Disabled NavigationCacheMode.Enabled Required Page 1 Page 2 Page 3 new new ?
  • 36. • Nuovo comportamento predefinito per allinearsi a Windows 8: il pulsante Back porta all’applicazione precedente • Tutti i template di Visual Studio (tranne Blank App) contengono la classe NavigationHelper che include la logica per mantenere il comportamento tradizionale • E’ possibile modificarlo pagina per pagina sottoscrivendosi all’evento Windows.Phone.UI.Input.HardwareButtons.BackPressed Il pulsante Back
  • 37. Esempio di gestione del pulsante Back
  • 38. E tanto altro ancora
  • 39. Attenzione!
  • 40. • Alcune feature non sono ancora supportate dal Windows Runtime • Non esiste un processo di conversione automatico da un progetto già esistente • Le librerie e i toolkit per Windows Phone 7.x / 8.0 non sono compatibili con le Windows Phone Store app Windows Phone Store app
  • 41. • Migliori performance e minor consumo di memoria • Possibilità di condividere la maggior parte del codice con Windows 8 e, in futuro, Xbox One • Possibilità di sfruttare tutte le novità introdotte in Windows Phone 8.1 Ma…
  • 42. • Molte librerie hanno già una versione compatibile con il Windows Runtime (Caliburn Micro, MVVM Light, JSON.NET, ecc.) • I principali produttori di toolkit sono al lavoro per supportare le Universal Windows app: • Telerik -> Beta disponibile su richiesta: universalwindows@telerik.com • Syncfusion • Infragistics Ma…
  • 43. Grazie a tutti per la partecipazione Riceverete il link per il download a slide e demo via email nei prossimi giorni Per contattarmi info@qmatteoq.com @qmatteoq Grazie

×