SlideShare a Scribd company logo
1 of 25
Windows Phone
   7.5 Refresh:
 performance e
  localizzazione
Matteo Pagani
Microsoft MVP

Software Engineer @ Funambol
Twitter: @qmatteoq
Blog: http://www.qmatteoq.com
Mail: info@qmatteoq.com
Agenda
• Le novità di Windows Phone 7.5 Refresh
• Analizzare le performance
• Localizzare le applicazioni
Le novità di Windows Phone 7.5
               Refresh
• Supporto ai processori da 800 MHz
• Disponibilità di 256 MB di RAM
• Niente supporto ai background agents
  periodici
• Limite di 90 MB di memoria per singola
  applicazione
Windows Phone SDK 7.1.1
• Nuovo emulatore che simula la presenza
  di 256 MB di RAM
• Compatibile con Windows 8
• Si installa sopra la versione 7.1 dell’SDK
• http://s.qmatteoq.com/sdk711
Determinare la tipologia di device
• La proprietà
  ApplicationWorkingSetLimit della classe
  DeviceExtendedProperties restituisce la
  massima quantità di memoria utilizzabile
  dall’applicazione
• Se non esiste o è superiore a 94371840, il
  device è dotato di più di 256 MB di RAM
Escludere i device di fascia bassa
• Nuova dichiarazione nel file di manifest
• I possessori di un device economico non
  potranno scaricare dal Marketplace
  l’applicazione

<Requirements>
  <Requirement Name="ID_REQ_MEMORY_90" />
</Requirements>
Il Marketplace e Tango
DEMO
Qualche consiglio
• Al posto dei controlli WebBrowser e
  BingMap, quando possibile, utilizzare i
  rispettivi launcher
• Limitare il numero di elementi mostrati in
  una ListBox oppure ricorrere alla
  virtualizzazione dei dati
Windows Phone 7.5 Refresh

ANALIZZARE LE
PERFORMANCE
Memory Helper
• Una libreria di terze parti disponibile su
  Codeplex e NuGet
• Permette di includere un contatore che
  mostra il consumo di memoria in tempo
  reale
• http://s.qmatteoq.com/MemoryHelper
DEMO
Performance Analysis
• Tool di analisi delle performance introdotto
  con la versione 7.1 dell’SDK
• Attivabile dal menu Debug di Visual
  Studio
• Da utilizzare con un device reale per
  ottenere risultati affidabili
Performance Analysis
•   Frame rate (FPS)
•   CPU
•   Memoria
•   Utilizzo degli storyboard
•   Caricamento di immagini
•   Eventi del Garbage Collector
DEMO
Il Marketplace Test Kit
• Simula i test automatici effettuati durante
  la certificazione
• Permette di misurare la quantità di
  memoria utilizzata
• Da utilizzare con un device reale per
  risultati affidabili
DEMO
Windows Phone 7.5 Refresh

LOCALIZZAZIONE
Supportare più lingue
• Localizzazione basata sull’utilizzo dei file
  .resx
• Un file .resx per ogni lingua supportata
• Formato del file: AppResources.xx-
  yy.resx
• xx-yy rappresenta il culture code (es. it-IT,
  en-US, ecc.)
Supportare più lingue
• Occorre modificare il file di progetto con
  un editor di testo
• Si deve aggiungere nel nodo
  <SupportedCultures> il culture code
  delle lingue supportate
DEMO
Localizzare tile e titolo
• Procedura piuttosto complessa e contorta
• Occorre creare delle DLL in codice nativo,
  una per ogni lingua supportata
• WP7 Localize è un tool per automatizzare
  il processo
• http://s.qmatteoq.com/WP7Localize
Localizzare tile e titolo
• Modifica manuale del file di manifest
• Occorre sostituire i nodi Title con i
  seguenti codici:
  – Titolo: @AppResLib.dll,-100
  – Tile: @AppResLib.dll,-200
DEMO
Grazie!

Matteo Pagani
Microsoft MVP

Software Engineer @ Funambol
Twitter: @qmatteoq
Blog: http://www.qmatteoq.com
Mail: info@qmatteoq.com

More Related Content

Viewers also liked

Il futuro di Windows Phone
Il futuro di Windows PhoneIl futuro di Windows Phone
Il futuro di Windows PhoneMatteo Pagani
 
MVVM e Caliburn Micro for Windows Phone applications
MVVM e Caliburn Micro for Windows Phone applicationsMVVM e Caliburn Micro for Windows Phone applications
MVVM e Caliburn Micro for Windows Phone applicationsMatteo Pagani
 
Community gardens project
Community gardens projectCommunity gardens project
Community gardens projectzabihsayah
 
Lorenaagradecimiento
LorenaagradecimientoLorenaagradecimiento
LorenaagradecimientoLoVeLi
 
agradecimiento
agradecimientoagradecimiento
agradecimientoLoVeLi
 
Introduzione a MVVM con MVVM light
Introduzione a MVVM con MVVM lightIntroduzione a MVVM con MVVM light
Introduzione a MVVM con MVVM lightMatteo Pagani
 
Lorenaagradecimiento
LorenaagradecimientoLorenaagradecimiento
LorenaagradecimientoLoVeLi
 
Windows Phone 8 enterprise, store e in app purchase
Windows Phone 8 enterprise, store e in app purchaseWindows Phone 8 enterprise, store e in app purchase
Windows Phone 8 enterprise, store e in app purchaseMatteo Pagani
 
How to Build and Manage a Thriving Facebook Community
How to Build and Manage a Thriving Facebook CommunityHow to Build and Manage a Thriving Facebook Community
How to Build and Manage a Thriving Facebook CommunityAndrea Vahl
 
What makes a good website
What makes a good websiteWhat makes a good website
What makes a good websiteganeaudiences
 
Lens App and Imaging SDK for Windows Phone
Lens App and Imaging SDK for Windows PhoneLens App and Imaging SDK for Windows Phone
Lens App and Imaging SDK for Windows PhoneMatteo Pagani
 
131202. i eco 2. centro de prensa
131202. i eco 2. centro de prensa131202. i eco 2. centro de prensa
131202. i eco 2. centro de prensaOdebrecht Argentina
 
Representaciones Visuales y Diseño de Experiencia de Usuario
Representaciones Visuales y Diseño de Experiencia de UsuarioRepresentaciones Visuales y Diseño de Experiencia de Usuario
Representaciones Visuales y Diseño de Experiencia de UsuarioOmar Sosa-Tzec
 
Cesar cobaleda (periódico)
Cesar cobaleda (periódico)Cesar cobaleda (periódico)
Cesar cobaleda (periódico)cesarcobaleda
 
Tp 12 cuarta parte
Tp 12 cuarta parteTp 12 cuarta parte
Tp 12 cuarta partemacazerda
 

Viewers also liked (18)

Il futuro di Windows Phone
Il futuro di Windows PhoneIl futuro di Windows Phone
Il futuro di Windows Phone
 
MVVM e Caliburn Micro for Windows Phone applications
MVVM e Caliburn Micro for Windows Phone applicationsMVVM e Caliburn Micro for Windows Phone applications
MVVM e Caliburn Micro for Windows Phone applications
 
Community gardens project
Community gardens projectCommunity gardens project
Community gardens project
 
Lorenaagradecimiento
LorenaagradecimientoLorenaagradecimiento
Lorenaagradecimiento
 
agradecimiento
agradecimientoagradecimiento
agradecimiento
 
Introduzione a MVVM con MVVM light
Introduzione a MVVM con MVVM lightIntroduzione a MVVM con MVVM light
Introduzione a MVVM con MVVM light
 
Lorenaagradecimiento
LorenaagradecimientoLorenaagradecimiento
Lorenaagradecimiento
 
Windows Phone 8 enterprise, store e in app purchase
Windows Phone 8 enterprise, store e in app purchaseWindows Phone 8 enterprise, store e in app purchase
Windows Phone 8 enterprise, store e in app purchase
 
How to Build and Manage a Thriving Facebook Community
How to Build and Manage a Thriving Facebook CommunityHow to Build and Manage a Thriving Facebook Community
How to Build and Manage a Thriving Facebook Community
 
What makes a good website
What makes a good websiteWhat makes a good website
What makes a good website
 
Lens App and Imaging SDK for Windows Phone
Lens App and Imaging SDK for Windows PhoneLens App and Imaging SDK for Windows Phone
Lens App and Imaging SDK for Windows Phone
 
131202. i eco 2. centro de prensa
131202. i eco 2. centro de prensa131202. i eco 2. centro de prensa
131202. i eco 2. centro de prensa
 
Representaciones Visuales y Diseño de Experiencia de Usuario
Representaciones Visuales y Diseño de Experiencia de UsuarioRepresentaciones Visuales y Diseño de Experiencia de Usuario
Representaciones Visuales y Diseño de Experiencia de Usuario
 
Cesar cobaleda (periódico)
Cesar cobaleda (periódico)Cesar cobaleda (periódico)
Cesar cobaleda (periódico)
 
Tp 12 cuarta parte
Tp 12 cuarta parteTp 12 cuarta parte
Tp 12 cuarta parte
 
Atze
AtzeAtze
Atze
 
Lab 9
Lab 9Lab 9
Lab 9
 
University of Toronto Faculty of Physical Education and Health Criminial Staf...
University of Toronto Faculty of Physical Education and Health Criminial Staf...University of Toronto Faculty of Physical Education and Health Criminial Staf...
University of Toronto Faculty of Physical Education and Health Criminial Staf...
 

Similar to Windows Phone 7.5 Refresh: Performance e localizzazione

Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web AppsAndrea Dottor
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...Codemotion
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progettoMicrosoft Mobile Developer
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimizationAndrea Dottor
 
Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker dotnetcode
 
ASP.NET Core 2 e Docker
ASP.NET Core 2 e DockerASP.NET Core 2 e Docker
ASP.NET Core 2 e DockerLuca Congiu
 
Web app slots and WebAPI versioning
Web app slots and WebAPI versioningWeb app slots and WebAPI versioning
Web app slots and WebAPI versioningNicolò Carandini
 
Web app slots and webapi versioning
Web app slots and webapi versioningWeb app slots and webapi versioning
Web app slots and webapi versioningNicolò Carandini
 
Dal cloud al mobile con tecnologie Google
Dal cloud al mobile con tecnologie GoogleDal cloud al mobile con tecnologie Google
Dal cloud al mobile con tecnologie GoogleDiego Giorgini
 
Deploy & Run on Azure App Service
Deploy & Run on Azure App ServiceDeploy & Run on Azure App Service
Deploy & Run on Azure App ServiceAndrea Dottor
 
Progettato per specialisti del web
Progettato per specialisti del webProgettato per specialisti del web
Progettato per specialisti del webEugenio Uccheddu
 
Bluetooth low energy & Lumia Sensor Core per Windows Phone 8.1
Bluetooth low energy & Lumia Sensor Core per Windows Phone 8.1Bluetooth low energy & Lumia Sensor Core per Windows Phone 8.1
Bluetooth low energy & Lumia Sensor Core per Windows Phone 8.1Massimo Bonanni
 
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptxDocker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptxGiuliano Latini
 
Real world Visual Studio Code
Real world Visual Studio CodeReal world Visual Studio Code
Real world Visual Studio CodeRoberto Messora
 

Similar to Windows Phone 7.5 Refresh: Performance e localizzazione (20)

Sviluppare Azure Web Apps
Sviluppare Azure Web AppsSviluppare Azure Web Apps
Sviluppare Azure Web Apps
 
Da DotNet a DotNetCore
Da DotNet a DotNetCoreDa DotNet a DotNetCore
Da DotNet a DotNetCore
 
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...ASP.NET Core Services e Linux per il Mobile  - Pietro Libro - Codemotion Rome...
ASP.NET Core Services e Linux per il Mobile - Pietro Libro - Codemotion Rome...
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 
DDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continuaDDive - 8.5.2 Xpages - L'evoluzione continua
DDive - 8.5.2 Xpages - L'evoluzione continua
 
ASP.NET performance optimization
ASP.NET performance optimizationASP.NET performance optimization
ASP.NET performance optimization
 
Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker Meetup ASP.NET Core 2 e Docker
Meetup ASP.NET Core 2 e Docker
 
ASP.NET Core 2 e Docker
ASP.NET Core 2 e DockerASP.NET Core 2 e Docker
ASP.NET Core 2 e Docker
 
Web app slots and WebAPI versioning
Web app slots and WebAPI versioningWeb app slots and WebAPI versioning
Web app slots and WebAPI versioning
 
Web app slots and webapi versioning
Web app slots and webapi versioningWeb app slots and webapi versioning
Web app slots and webapi versioning
 
Dominopoint meet the experts 2015 - XPages
Dominopoint   meet the experts 2015 - XPagesDominopoint   meet the experts 2015 - XPages
Dominopoint meet the experts 2015 - XPages
 
Dal cloud al mobile con tecnologie Google
Dal cloud al mobile con tecnologie GoogleDal cloud al mobile con tecnologie Google
Dal cloud al mobile con tecnologie Google
 
Introduzione A Docker
Introduzione A DockerIntroduzione A Docker
Introduzione A Docker
 
Deploy & Run on Azure App Service
Deploy & Run on Azure App ServiceDeploy & Run on Azure App Service
Deploy & Run on Azure App Service
 
Mobile e Smart Client
Mobile e Smart ClientMobile e Smart Client
Mobile e Smart Client
 
Progettato per specialisti del web
Progettato per specialisti del webProgettato per specialisti del web
Progettato per specialisti del web
 
Bluetooth low energy & Lumia Sensor Core per Windows Phone 8.1
Bluetooth low energy & Lumia Sensor Core per Windows Phone 8.1Bluetooth low energy & Lumia Sensor Core per Windows Phone 8.1
Bluetooth low energy & Lumia Sensor Core per Windows Phone 8.1
 
Ddive Xpage852
Ddive Xpage852Ddive Xpage852
Ddive Xpage852
 
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptxDocker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
Docker_vs_Rancher_chi_dominerà_i_Desktop_dei_developers.pptx
 
Real world Visual Studio Code
Real world Visual Studio CodeReal world Visual Studio Code
Real world Visual Studio Code
 

More from Matteo Pagani

Keynote of the Windows Phone Day
Keynote of the Windows Phone DayKeynote of the Windows Phone Day
Keynote of the Windows Phone DayMatteo Pagani
 
Windows 8 hardware sensors
Windows 8 hardware sensorsWindows 8 hardware sensors
Windows 8 hardware sensorsMatteo Pagani
 
Visual Studio 2012 Tips & Tricks
Visual Studio 2012 Tips & TricksVisual Studio 2012 Tips & Tricks
Visual Studio 2012 Tips & TricksMatteo Pagani
 
Da Windows Phone a Windows 8: andata e ritorno
Da Windows Phone a Windows 8: andata e ritornoDa Windows Phone a Windows 8: andata e ritorno
Da Windows Phone a Windows 8: andata e ritornoMatteo Pagani
 
Multitasking, background agents and local notifications
Multitasking, background agents and local notificationsMultitasking, background agents and local notifications
Multitasking, background agents and local notificationsMatteo Pagani
 
Deep multitasking in Windows Phone Codename "Mango"
Deep multitasking in Windows Phone Codename "Mango"Deep multitasking in Windows Phone Codename "Mango"
Deep multitasking in Windows Phone Codename "Mango"Matteo Pagani
 

More from Matteo Pagani (7)

Keynote of the Windows Phone Day
Keynote of the Windows Phone DayKeynote of the Windows Phone Day
Keynote of the Windows Phone Day
 
Windows 8 hardware sensors
Windows 8 hardware sensorsWindows 8 hardware sensors
Windows 8 hardware sensors
 
Visual Studio 2012 Tips & Tricks
Visual Studio 2012 Tips & TricksVisual Studio 2012 Tips & Tricks
Visual Studio 2012 Tips & Tricks
 
Da Windows Phone a Windows 8: andata e ritorno
Da Windows Phone a Windows 8: andata e ritornoDa Windows Phone a Windows 8: andata e ritorno
Da Windows Phone a Windows 8: andata e ritorno
 
Multitasking, background agents and local notifications
Multitasking, background agents and local notificationsMultitasking, background agents and local notifications
Multitasking, background agents and local notifications
 
Wp7 to the max!
Wp7 to the max!Wp7 to the max!
Wp7 to the max!
 
Deep multitasking in Windows Phone Codename "Mango"
Deep multitasking in Windows Phone Codename "Mango"Deep multitasking in Windows Phone Codename "Mango"
Deep multitasking in Windows Phone Codename "Mango"
 

Windows Phone 7.5 Refresh: Performance e localizzazione

  • 1. Windows Phone 7.5 Refresh: performance e localizzazione Matteo Pagani Microsoft MVP Software Engineer @ Funambol Twitter: @qmatteoq Blog: http://www.qmatteoq.com Mail: info@qmatteoq.com
  • 2. Agenda • Le novità di Windows Phone 7.5 Refresh • Analizzare le performance • Localizzare le applicazioni
  • 3. Le novità di Windows Phone 7.5 Refresh • Supporto ai processori da 800 MHz • Disponibilità di 256 MB di RAM • Niente supporto ai background agents periodici • Limite di 90 MB di memoria per singola applicazione
  • 4. Windows Phone SDK 7.1.1 • Nuovo emulatore che simula la presenza di 256 MB di RAM • Compatibile con Windows 8 • Si installa sopra la versione 7.1 dell’SDK • http://s.qmatteoq.com/sdk711
  • 5. Determinare la tipologia di device • La proprietà ApplicationWorkingSetLimit della classe DeviceExtendedProperties restituisce la massima quantità di memoria utilizzabile dall’applicazione • Se non esiste o è superiore a 94371840, il device è dotato di più di 256 MB di RAM
  • 6. Escludere i device di fascia bassa • Nuova dichiarazione nel file di manifest • I possessori di un device economico non potranno scaricare dal Marketplace l’applicazione <Requirements> <Requirement Name="ID_REQ_MEMORY_90" /> </Requirements>
  • 9. Qualche consiglio • Al posto dei controlli WebBrowser e BingMap, quando possibile, utilizzare i rispettivi launcher • Limitare il numero di elementi mostrati in una ListBox oppure ricorrere alla virtualizzazione dei dati
  • 10. Windows Phone 7.5 Refresh ANALIZZARE LE PERFORMANCE
  • 11. Memory Helper • Una libreria di terze parti disponibile su Codeplex e NuGet • Permette di includere un contatore che mostra il consumo di memoria in tempo reale • http://s.qmatteoq.com/MemoryHelper
  • 12. DEMO
  • 13. Performance Analysis • Tool di analisi delle performance introdotto con la versione 7.1 dell’SDK • Attivabile dal menu Debug di Visual Studio • Da utilizzare con un device reale per ottenere risultati affidabili
  • 14. Performance Analysis • Frame rate (FPS) • CPU • Memoria • Utilizzo degli storyboard • Caricamento di immagini • Eventi del Garbage Collector
  • 15. DEMO
  • 16. Il Marketplace Test Kit • Simula i test automatici effettuati durante la certificazione • Permette di misurare la quantità di memoria utilizzata • Da utilizzare con un device reale per risultati affidabili
  • 17. DEMO
  • 18. Windows Phone 7.5 Refresh LOCALIZZAZIONE
  • 19. Supportare più lingue • Localizzazione basata sull’utilizzo dei file .resx • Un file .resx per ogni lingua supportata • Formato del file: AppResources.xx- yy.resx • xx-yy rappresenta il culture code (es. it-IT, en-US, ecc.)
  • 20. Supportare più lingue • Occorre modificare il file di progetto con un editor di testo • Si deve aggiungere nel nodo <SupportedCultures> il culture code delle lingue supportate
  • 21. DEMO
  • 22. Localizzare tile e titolo • Procedura piuttosto complessa e contorta • Occorre creare delle DLL in codice nativo, una per ogni lingua supportata • WP7 Localize è un tool per automatizzare il processo • http://s.qmatteoq.com/WP7Localize
  • 23. Localizzare tile e titolo • Modifica manuale del file di manifest • Occorre sostituire i nodi Title con i seguenti codici: – Titolo: @AppResLib.dll,-100 – Tile: @AppResLib.dll,-200
  • 24. DEMO
  • 25. Grazie! Matteo Pagani Microsoft MVP Software Engineer @ Funambol Twitter: @qmatteoq Blog: http://www.qmatteoq.com Mail: info@qmatteoq.com