SlideShare uma empresa Scribd logo
1 de 23
Template designed by
Universal Apps per Windows 8.1 e
Windows Phone 8.1
Andrea Boschin – Microsoft MVP
andrea@Boschin.it
http://blog.boschin.it
Template designed by
Template designed by
Cosa vedremo?
• Novità architetturali in Windows Phone 8.1
• I punti in comune con Windows 8.1
• Come questo cambia le cose...
• Il nuovo template per le Universal Application
• Impatto sulle feature condivise: controlli, navigazione, etc...
Demo: semplice applicazione basata sul U.A.
Universal Apps per Windows 8.1 e Windows Phone 8.1
Template designed by
Presentato a BUILD
Presentazione ufficiale 2 Aprile 2014
Disponibilità
Consumer
• Il S.O. sarà disponibile per tutti i device che hanno la 8.0
• Presumibile rilascio per l'estate
Developer
• Disponibile da subito!
• Come
• Account Developer oppure App Studio
• Download app Preview for Developers
• Note
• Attenzione solo Sistema Operativo. No DRIVER OEM
Windows Phone 8.1
Template designed by
Rilasciato a BUILD
Update : introduce nuovi comportamenti
• Update «mouse-centrica»
Ad esempio:
• Miglioramenti nell’utilizzo del mouse
• Pin delle app sulla taskbar desktop
• Nuovo dropdown sulle tile quando si usa il mouse
Aggiornamento
• Download di una update (KB2919355) da Windows Update
• Non richiesto per lo sviluppo di Universal Apps
Windows 8.1 Update 1
Template designed by
Download
Installare Visual Studio Update 2 RC
• http://www.microsoft.com/en-us/download/details.aspx?id=42307
• Include Windows Phone SDK 8.1
ATTENZIONE: Necessario CPU con supporto SLAT
Sviluppo
Template designed by
Maggiore stabilita
• miglioramenti nella gestione dell’hardware
• ciclo di vita delle applicazioni
Nuove feature
• action center
• tastiera wordflow
• cortana
Convergenza tra piattaforme
• utilizzo di un runtime comune Win 8.1 e WP 8.1
• consente di usare un modello sostanzialmente uguale
• quasi il 90% di api in comune
Obbiettivi della nuova release
Template designed by
Windows Phone 7.5
• Kernel Windows Mobile
• Nessuna API in comune con Windows
Windows Phone 8.0
• Kernel: Windows NT Core
• 30% di API in comune con Windows
Windows Phone 8.1
• Common Windows Runtime
• 90% di API in comune con Windows
Platform convergence
Windows 8.1
Windows Phone 8.1
Template designed by
Developer platform condivisa
• Shared Windows XAML apps
• Shared API set
• Shared application model
• Shared live tiles
• Shared distribution model
• Shared control
Servizi applicativi condivisi
• Registrazione developer unificata
• Unico servizio di notifiche push
• Unico sistema di roaming e sincronizzazione/backup
Shared Windows Runtime
Template designed by
Windows developer platform
Silverlight
XAML
(C# | VB)| |
Windows Phone Only
Windows Only
Template designed by
Windows 8.1 e Windows Phone 8.1
• Nuove Universal Apps
Obbiettivi
• Dare l’esperienza migliore per ciascuna piattaforma
• Accomunare il codice che non è verticale
• Gestire al meglio i casi «platform-specific»
• Usare librerie portable
Futures
• Anche per XBOX
Universal Apps
Template designed by
Visual Studio Tooling
Template di sviluppo Universal
• Blank app
• Hub App
• Portable class library
• Windows Runtime Component
• Direct X
Struttura di progetto predisposto per massimizzare la condivisione
Universal Apps
JS C# C++
Application SI SI SI
PCL NO SI NO
Runtime components NO SI SI
Direct X app NO NO SI
DLL NO NO SI
Template designed by
Windows
• Progetto per le versione Windows 8.1
Windows Phone
• Progetto per la versione Windows Phone 8.1
Shared
• Non un vero e proprio «progetto»
• E’ automaticamente «importato» da entrambi i progetti
PCL
• Libreria di tipo multiplatform
Universal Apps
WIN WP
SHARED
PCL
Template designed by
Referenze a assemblies
• Vanno sempre messe nel progetto «platform-specific»
• Possono essere referenziate dal progetto Shared
• Per usarla nel progetto shared
• importante che esistano versioni «simmetriche» per le due piattaforme
• diversamente si deve usare la compilazione condizionale
Esempio
• MVVM Light Toolkit
Universal Apps
Template designed by
Cosa posso mettere nel progetto shared?
Le cose più ovvie:
• Classi
• Stili (XAML)
• Template (XAML)
• Risorse (XAML)
Ma anche quelle meno ovvie
• User control
• Pagine
• Logiche condivise
Shared resources
Template designed by
Mettiamo nel progetto stili che accomunano i progetti
• lo stile delle TextBlock
• I colori di background e foreground
Risorse?
• Brush (importante avere una palette condivisa...)
• Font
• Misure (Margini, padding, etc...)
• Converters
Stili e risorse
Template designed by
Immagini???
Attenzione al Modern Resource Technology
• Supportato da Windows 8.1 e Windows Phone 8.1
Perchè?
• Seleziona le immagini in base alla dimensione dello schermo
• Windows 8.1 supporta: 100 – 140 – 180
• Windows Phone 8.1 supporta molte più risoluzioni
Quindi??
• Il progetto shared dovrebbe contenere solo le immagini che valgono per
entrambe le piattaforme
• Diversamente il package conterrà tutte le immagini, anche quelle non
utilizzate
Stili e risorse
Cos’è MRT
Tecnologia che seleziona la dimensione
corretta di una immagine in funzione della
dimensione dello schermo del device:
Assets/SplashScreen.scale-100.png
Assets/SplashScreen.scale-140.png
Assets/SplashScreen.scale-180.png
Windows Windows Phone
100 SI SI
140 SI SI
180 SI NO
240 NO SI
Template designed by
Ottimi candidati ma...
• Attenzione che siano realmente uguali!
• Spesso non è così a causa di dimensioni diverse per gli schermi
• Se sono leggermente diversi può essere utile usare stili locali per le differenze
• Uno stile in locale sistema alcuni dettagli
Template e Data template
Template designed by
Pagine e controlli possono far parte del progetto shared
• Valutare attentamente l’utilizzo dell’elemento
• Se è chiaramente specifico allora non ha senso metterlo nel progetto shared
Conviene sempre
• Inizialmente creare l’elemento nel progetto shared
• Gestire le differenze nel codebehind
• Oppure usare gli stili
• Se la pagina è troppo specifica cut & paste verso i progetti platform-specific
Pages and UserControls
Template designed by
Supporto del designer «shared»
• Il designer nella modalità shared fornisce supporto per l’edit
«platform-dropdown»
• Modifica la visualizzazione del designer
• Cambia la piattaforma di riferimento nel codice
Pages and UserControls
Template designed by
Controlli «platform-specific»
• Esistono solo in una delle piattaforme supportate.
• Servono a sfruttare le peculiarità della piattaforma
Controlli «optimized»
• Esistono in entrambe le piattaforme ma hanno un comportamento/aspetto diverso.
Controlli «converged»
• Esistono in entrambe le piattaforme e si comportano esattamente allo stesso modo.
Controlli
Template designed by
E quando le librerie non sono perfettamente compatibili?
• Capita di usare feature platform-specific in pagine «shared»
• Oppure possono essere richieste parametrizzazioni specifiche
Usare i simboli definiti in c#
• WINDOWS_APP
• WINDOWS_PHONE_APP
Oppure in C++
• WINAPI_FAMILY_PHONE_APP
Conditional compilation
#if WINDOWS_PHONE_APP
// phone specific code
#endif
#if WINDOWS_APP
// winrt specific code
#endif
Template designed by
Andrea Boschin – Elite Agency
Email: andrea@boschin.it
Facebook: https://www.facebook.com/thelittlegrove
Twitter: http://twitter.com/aboschin
Blog: http://blog.boschin.it
Contact me
Template designed by
brought to you by

Mais conteúdo relacionado

Mais de DotNetCampus

CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERDotNetCampus
 
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATAPREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATADotNetCampus
 
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDIDESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDIDotNetCampus
 
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZUREFROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZUREDotNetCampus
 
SHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEWSHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEWDotNetCampus
 
COSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICECOSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICEDotNetCampus
 
SVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BANDSVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BANDDotNetCampus
 
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!DotNetCampus
 
WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++DotNetCampus
 
AZURE NOTIFICATION HUB
AZURE NOTIFICATION HUBAZURE NOTIFICATION HUB
AZURE NOTIFICATION HUBDotNetCampus
 
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMSSFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMSDotNetCampus
 
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOTUNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOTDotNetCampus
 
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APPSFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APPDotNetCampus
 
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!DotNetCampus
 
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!DotNetCampus
 
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURESVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZUREDotNetCampus
 
AZURE WEBSITE DEEPDIVE
AZURE WEBSITE DEEPDIVEAZURE WEBSITE DEEPDIVE
AZURE WEBSITE DEEPDIVEDotNetCampus
 
INTERNET OF THINGS & AZURE
INTERNET OF THINGS & AZUREINTERNET OF THINGS & AZURE
INTERNET OF THINGS & AZUREDotNetCampus
 
JAVASCRIPT TASK AUTOMATION
JAVASCRIPT TASK AUTOMATIONJAVASCRIPT TASK AUTOMATION
JAVASCRIPT TASK AUTOMATIONDotNetCampus
 

Mais de DotNetCampus (20)

CONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVERCONTINUOUS INTEGRATION CON SQL SERVER
CONTINUOUS INTEGRATION CON SQL SERVER
 
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATAPREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
PREDICT THE FUTURE , MACHINE LEARNING & BIG DATA
 
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDIDESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
DESKTOP AND CLIENT VIRTUALIZATION: NEW WORKSTYLES WITH MICROSOFT VDI
 
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZUREFROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
FROM ON-PREMISE TO THE HYBRID CLOUD WITH MICROSOFT AZURE
 
SHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEWSHAREPOINT 2016 - WHAT'S NEW
SHAREPOINT 2016 - WHAT'S NEW
 
COSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICECOSTRUISCI IL TUO DEVICE
COSTRUISCI IL TUO DEVICE
 
SVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BANDSVILUPPARE PER MICROSOFT BAND
SVILUPPARE PER MICROSOFT BAND
 
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
INTERFACCE GRAFICHE CON UNITY3D 4.6: IL GIOCO NON BASTA!
 
WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++WINDOWS PHONE APPS IN C++
WINDOWS PHONE APPS IN C++
 
AZURE NOTIFICATION HUB
AZURE NOTIFICATION HUBAZURE NOTIFICATION HUB
AZURE NOTIFICATION HUB
 
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMSSFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
SFRUTTARE I MICROSOFT AZURE MOBILE SERVICES CON XAMARIN.FORMS
 
INTRO TO XAMARIN
INTRO TO XAMARININTRO TO XAMARIN
INTRO TO XAMARIN
 
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOTUNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
UNIVERSAL APP IN TUTTE LE SALSE: PHONE, TABLET, PC, XBOX E IOT
 
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APPSFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
SFRUTTARE CORTANA E LE SPEECH API NELLE NOSTRE APP
 
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
APPSTUDIO: DA ZERO ALLO STORE IN 50 MINUTI!
 
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
SIGNALR TO-THE-MAX: VERSO IL WEB ED OLTRE!
 
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURESVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
 
AZURE WEBSITE DEEPDIVE
AZURE WEBSITE DEEPDIVEAZURE WEBSITE DEEPDIVE
AZURE WEBSITE DEEPDIVE
 
INTERNET OF THINGS & AZURE
INTERNET OF THINGS & AZUREINTERNET OF THINGS & AZURE
INTERNET OF THINGS & AZURE
 
JAVASCRIPT TASK AUTOMATION
JAVASCRIPT TASK AUTOMATIONJAVASCRIPT TASK AUTOMATION
JAVASCRIPT TASK AUTOMATION
 

Win01 creare applicazioni universal per win8.1 e wp 8.1

  • 1. Template designed by Universal Apps per Windows 8.1 e Windows Phone 8.1 Andrea Boschin – Microsoft MVP andrea@Boschin.it http://blog.boschin.it Template designed by
  • 2. Template designed by Cosa vedremo? • Novità architetturali in Windows Phone 8.1 • I punti in comune con Windows 8.1 • Come questo cambia le cose... • Il nuovo template per le Universal Application • Impatto sulle feature condivise: controlli, navigazione, etc... Demo: semplice applicazione basata sul U.A. Universal Apps per Windows 8.1 e Windows Phone 8.1
  • 3. Template designed by Presentato a BUILD Presentazione ufficiale 2 Aprile 2014 Disponibilità Consumer • Il S.O. sarà disponibile per tutti i device che hanno la 8.0 • Presumibile rilascio per l'estate Developer • Disponibile da subito! • Come • Account Developer oppure App Studio • Download app Preview for Developers • Note • Attenzione solo Sistema Operativo. No DRIVER OEM Windows Phone 8.1
  • 4. Template designed by Rilasciato a BUILD Update : introduce nuovi comportamenti • Update «mouse-centrica» Ad esempio: • Miglioramenti nell’utilizzo del mouse • Pin delle app sulla taskbar desktop • Nuovo dropdown sulle tile quando si usa il mouse Aggiornamento • Download di una update (KB2919355) da Windows Update • Non richiesto per lo sviluppo di Universal Apps Windows 8.1 Update 1
  • 5. Template designed by Download Installare Visual Studio Update 2 RC • http://www.microsoft.com/en-us/download/details.aspx?id=42307 • Include Windows Phone SDK 8.1 ATTENZIONE: Necessario CPU con supporto SLAT Sviluppo
  • 6. Template designed by Maggiore stabilita • miglioramenti nella gestione dell’hardware • ciclo di vita delle applicazioni Nuove feature • action center • tastiera wordflow • cortana Convergenza tra piattaforme • utilizzo di un runtime comune Win 8.1 e WP 8.1 • consente di usare un modello sostanzialmente uguale • quasi il 90% di api in comune Obbiettivi della nuova release
  • 7. Template designed by Windows Phone 7.5 • Kernel Windows Mobile • Nessuna API in comune con Windows Windows Phone 8.0 • Kernel: Windows NT Core • 30% di API in comune con Windows Windows Phone 8.1 • Common Windows Runtime • 90% di API in comune con Windows Platform convergence Windows 8.1 Windows Phone 8.1
  • 8. Template designed by Developer platform condivisa • Shared Windows XAML apps • Shared API set • Shared application model • Shared live tiles • Shared distribution model • Shared control Servizi applicativi condivisi • Registrazione developer unificata • Unico servizio di notifiche push • Unico sistema di roaming e sincronizzazione/backup Shared Windows Runtime
  • 9. Template designed by Windows developer platform Silverlight XAML (C# | VB)| | Windows Phone Only Windows Only
  • 10. Template designed by Windows 8.1 e Windows Phone 8.1 • Nuove Universal Apps Obbiettivi • Dare l’esperienza migliore per ciascuna piattaforma • Accomunare il codice che non è verticale • Gestire al meglio i casi «platform-specific» • Usare librerie portable Futures • Anche per XBOX Universal Apps
  • 11. Template designed by Visual Studio Tooling Template di sviluppo Universal • Blank app • Hub App • Portable class library • Windows Runtime Component • Direct X Struttura di progetto predisposto per massimizzare la condivisione Universal Apps JS C# C++ Application SI SI SI PCL NO SI NO Runtime components NO SI SI Direct X app NO NO SI DLL NO NO SI
  • 12. Template designed by Windows • Progetto per le versione Windows 8.1 Windows Phone • Progetto per la versione Windows Phone 8.1 Shared • Non un vero e proprio «progetto» • E’ automaticamente «importato» da entrambi i progetti PCL • Libreria di tipo multiplatform Universal Apps WIN WP SHARED PCL
  • 13. Template designed by Referenze a assemblies • Vanno sempre messe nel progetto «platform-specific» • Possono essere referenziate dal progetto Shared • Per usarla nel progetto shared • importante che esistano versioni «simmetriche» per le due piattaforme • diversamente si deve usare la compilazione condizionale Esempio • MVVM Light Toolkit Universal Apps
  • 14. Template designed by Cosa posso mettere nel progetto shared? Le cose più ovvie: • Classi • Stili (XAML) • Template (XAML) • Risorse (XAML) Ma anche quelle meno ovvie • User control • Pagine • Logiche condivise Shared resources
  • 15. Template designed by Mettiamo nel progetto stili che accomunano i progetti • lo stile delle TextBlock • I colori di background e foreground Risorse? • Brush (importante avere una palette condivisa...) • Font • Misure (Margini, padding, etc...) • Converters Stili e risorse
  • 16. Template designed by Immagini??? Attenzione al Modern Resource Technology • Supportato da Windows 8.1 e Windows Phone 8.1 Perchè? • Seleziona le immagini in base alla dimensione dello schermo • Windows 8.1 supporta: 100 – 140 – 180 • Windows Phone 8.1 supporta molte più risoluzioni Quindi?? • Il progetto shared dovrebbe contenere solo le immagini che valgono per entrambe le piattaforme • Diversamente il package conterrà tutte le immagini, anche quelle non utilizzate Stili e risorse Cos’è MRT Tecnologia che seleziona la dimensione corretta di una immagine in funzione della dimensione dello schermo del device: Assets/SplashScreen.scale-100.png Assets/SplashScreen.scale-140.png Assets/SplashScreen.scale-180.png Windows Windows Phone 100 SI SI 140 SI SI 180 SI NO 240 NO SI
  • 17. Template designed by Ottimi candidati ma... • Attenzione che siano realmente uguali! • Spesso non è così a causa di dimensioni diverse per gli schermi • Se sono leggermente diversi può essere utile usare stili locali per le differenze • Uno stile in locale sistema alcuni dettagli Template e Data template
  • 18. Template designed by Pagine e controlli possono far parte del progetto shared • Valutare attentamente l’utilizzo dell’elemento • Se è chiaramente specifico allora non ha senso metterlo nel progetto shared Conviene sempre • Inizialmente creare l’elemento nel progetto shared • Gestire le differenze nel codebehind • Oppure usare gli stili • Se la pagina è troppo specifica cut & paste verso i progetti platform-specific Pages and UserControls
  • 19. Template designed by Supporto del designer «shared» • Il designer nella modalità shared fornisce supporto per l’edit «platform-dropdown» • Modifica la visualizzazione del designer • Cambia la piattaforma di riferimento nel codice Pages and UserControls
  • 20. Template designed by Controlli «platform-specific» • Esistono solo in una delle piattaforme supportate. • Servono a sfruttare le peculiarità della piattaforma Controlli «optimized» • Esistono in entrambe le piattaforme ma hanno un comportamento/aspetto diverso. Controlli «converged» • Esistono in entrambe le piattaforme e si comportano esattamente allo stesso modo. Controlli
  • 21. Template designed by E quando le librerie non sono perfettamente compatibili? • Capita di usare feature platform-specific in pagine «shared» • Oppure possono essere richieste parametrizzazioni specifiche Usare i simboli definiti in c# • WINDOWS_APP • WINDOWS_PHONE_APP Oppure in C++ • WINAPI_FAMILY_PHONE_APP Conditional compilation #if WINDOWS_PHONE_APP // phone specific code #endif #if WINDOWS_APP // winrt specific code #endif
  • 22. Template designed by Andrea Boschin – Elite Agency Email: andrea@boschin.it Facebook: https://www.facebook.com/thelittlegrove Twitter: http://twitter.com/aboschin Blog: http://blog.boschin.it Contact me