23
Template designed by Universal Apps per Windows 8.1 e Windows Phone 8.1 Andrea Boschin – Microsoft MVP [email protected] http://blog.boschin.it Template designed by

Win01 creare applicazioni universal per win8.1 e wp 8.1

Embed Size (px)

Citation preview

Page 1: Win01   creare applicazioni universal per win8.1 e wp 8.1

Template designed by

Universal Apps per Windows 8.1 e Windows Phone 8.1

Andrea Boschin – Microsoft MVP [email protected]://blog.boschin.it

Template designed by

Page 2: Win01   creare applicazioni universal per win8.1 e wp 8.1

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

Page 3: Win01   creare applicazioni universal per win8.1 e wp 8.1

Template designed by

Presentato a BUILDPresentazione 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

Page 4: Win01   creare applicazioni universal per win8.1 e wp 8.1

Template designed by

Rilasciato a BUILDUpdate : 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

Page 5: Win01   creare applicazioni universal per win8.1 e wp 8.1

Template designed by

DownloadInstallare 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

Page 6: Win01   creare applicazioni universal per win8.1 e wp 8.1

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

Page 7: Win01   creare applicazioni universal per win8.1 e wp 8.1

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

Page 8: Win01   creare applicazioni universal per win8.1 e wp 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

Page 9: Win01   creare applicazioni universal per win8.1 e wp 8.1

Template designed by

Windows developer platform

Windows API Set

Graphics Audio Media

Networking File System Input

Commerce

Sensors

.NET CLRWindows Runtime

DirectX(C++)

SilverlightXAML

(C# | VB)

Windows XAML

(C# | VB | C++)

WinJS(HTML + JS)

App Model ServicesNavigatio

n

Packaging

Contracts

Background

Store

Push

Roaming

Legend

Windows Phone Only

Windows OnlyWindows + Windows

Phone

Windows Kernel

App Data Backup

Page 10: Win01   creare applicazioni universal per win8.1 e wp 8.1

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

Page 11: Win01   creare applicazioni universal per win8.1 e wp 8.1

Template designed by

Visual Studio ToolingTemplate 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

Page 12: Win01   creare applicazioni universal per win8.1 e wp 8.1

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

Page 13: Win01   creare applicazioni universal per win8.1 e wp 8.1

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

Page 14: Win01   creare applicazioni universal per win8.1 e wp 8.1

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

Page 15: Win01   creare applicazioni universal per win8.1 e wp 8.1

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

Page 16: Win01   creare applicazioni universal per win8.1 e wp 8.1

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.pngAssets/SplashScreen.scale-140.pngAssets/SplashScreen.scale-180.png

Windows Windows Phone

100 SI SI

140 SI SI

180 SI NO

240 NO SI

Page 17: Win01   creare applicazioni universal per win8.1 e wp 8.1

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

Page 18: Win01   creare applicazioni universal per win8.1 e wp 8.1

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

Page 19: Win01   creare applicazioni universal per win8.1 e wp 8.1

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

Page 20: Win01   creare applicazioni universal per win8.1 e wp 8.1

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

Page 21: Win01   creare applicazioni universal per win8.1 e wp 8.1

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

Page 22: Win01   creare applicazioni universal per win8.1 e wp 8.1

Template designed by

Andrea Boschin – Elite Agency

Email: [email protected]

Facebook: https://www.facebook.com/thelittlegrove

Twitter: http://twitter.com/aboschin

Blog: http://blog.boschin.it

Contact me

Page 23: Win01   creare applicazioni universal per win8.1 e wp 8.1

Template designed by

brought to you by