.NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

37
.NET Day 05 Febbraio 2015 #netday15 Alessio Iafrate Freelance Developer Blog: http://www.acquariusoft.com Twitter: @alessioiafrate Mail: [email protected] Introduzione alle Universal App Windows 8.1

Transcript of .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

Page 1: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day05 Febbraio 2015

#netday15

Alessio IafrateFreelance Developer

Blog: http://www.acquariusoft.comTwitter: @alessioiafrateMail: [email protected]

Introduzione alle Universal App

Windows 8.1

Page 2: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Introduzione alle Universal Apps e alle opportunità di sviluppo…• Cosa sono le universal apps• Dove possono essere eseguite• Panoramica delle nuove feature per gli sviluppatori• I primi passi

Agenda

Page 3: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Le “Universal App”

Page 4: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Piattaforme compatibile (windows 8.1, wp 8.1)

Page 5: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Il futuro con Windows 10

Page 6: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

La convergenza: un passo alla volta…

Windows Phone 7.5 Windows Phone 8.0 Windows Phone 8.1

Convergenza con IE

• WP 7.5 includeva IE9

• Stesso rendering engine della versione per Windows

• Stesso engine Javascript della versione per Windows

Convergenza del core (NT kernel)

• Kernel & file system comuni

• Framework per i driver comune

• Secure boot & criptaggio dei dati (BitLocker)

• Stack di rete comune

Developer Platform

• Parziale convergenza delle API (con focus su sensori e IAP)

• Supporto a C++ e DirectX

• IE10

Convergenza della piattaforma di sviluppo

• Possibilità di riutilizzare le proprie conoscenze

• Possibilità di riutilizzare il codice

• Un’esperienza d’uso unificata

Allineamento degli Store

• Registrazione unica

• Condivisione degli acquisti

Core Platform comune

• Proximity e geo localizzazione

• Sicurezza e identity

• Gestione dei task in background

Page 7: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Convergenza delle API nella piattaformaIl Windows Runtime (WinRT) è la piattaforma che consente di condividere il runtime e le API usate dalle Store app (telefono e tablet / pc)

WinRT API comuni

WinRT API specifiche di Windows Phone

WinRT API specifiche di

Windows

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

Page 8: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Windows Developer Platform in 8.1

Windows Runtime API Set

Graphics Audio Media

Networking File System Input

Commerce

Sensors

.NET CLRWindows Runtime (WinRT)

DirectX(C++)

Windows PhoneSilverlight(C# | VB)

Windows XAML

(C# | VB | C++)

WinJS(HTML + JS)

App Model Services

Navigation

Packaging

Contracts

Background

Store(s)

Push

Roaming

Windows Kernel

App Data Backup

Legend

Windows Phone Only

Windows OnlyWindows + Windows Phone

Page 9: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Come sviluppare Universal App

DirectX/Direct3D

C++

WinRT

Gaming

WinRT

Store Apps HTML

JavaScript

WinRT

HTML XAML

Windows Phone Store Apps with

XAML

C#/VB or C++

WinRT

Windows Silverlight 8.1 XAML

C#/VB

WinRT

.NET BCL .NET BCL

* Le applicazioni per Windows Phone 7.x / 8.0 funzionano anche su 8.1

…others

XAML + Web-

Browser control hybrid

Web apps

XAML +HTML

.NET BCL

Page 10: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Demo:Creare una Universal Windows app

Alessio Iafrate

Page 11: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Le novità per gli sviluppatori

Un riassunto delle principali caratteristiche per gli sviluppatori

Page 12: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Layout comune per supportare differenti schermi

Canvas virtuale condivisoLo sviluppatore ha a disposizione un sistema di coordinate comune tra Windows e Windows Phone, che consente di scalare in automatico il layout

10” tablet

7” tablet

6”

5”

4.5”

Infinite virtual canvas

166 Logical DPI

Page 13: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Controlli comuni

Cosa significa?80% XAML condiviso 20% XAML specifico

Common SignatureOptimized

DatePicker

TimePickerCommandBarAppBar

Button

CheckBox

RadioButton

ProgressBar

Slider

ToggleSwitch Hub

PivotListViewGridView

Page 14: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

DatePicker / TimePickerStessa API su Windows e Windows Phonediversa UI a seconda della piattaforma

Consente la personalizzazione dei dati mostrati (ad esempio solo il mese e l’anno)

Windows

Windows Phone

Page 15: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

I controlli si adattano alla piattaforma

Su Windows Phone 8.1 … e su Windows 8.1

Page 16: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Multitasking: Background Tasks and Triggers

Task

TimeTriggerPUSH

Notification

LocationTrigger

PushNotificationTrigger

MaintenanceTrigger

InternetAvailable NetworkStateChange

TimeZoneChange

Page 17: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Tile e gestione delle notifiche condivisa

Windows Notification Service

(WNS)• Servizio di invio notifiche

condiviso tra Windows e Windows

Phone• Coda più efficiente per limitare la

perdita di notifiche in caso di

problemi di connettività

Tile template + toast• Template delle tile condivisi• Aggiornamenti delle tile periodici

dato un URL• Toast

Page 18: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Action Center

Action CenterPunto di raccolta di tutte le

notificheLe applicazioni possono gestire

il comportamento delle notifiche(notifiche “fantasma”, aggiornamento e cancellazione delle notifiche)

Page 19: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

App Data Model, Data Roaming and Data Backup Local

Rappresenta lo storage localeBackup facoltativo sull’account OneDrive dell’utente

RoamingI dati vengono sincronizzati con gli altri dispositivi dell’utenteLimitato a 100 KB

TempStorage temporaneoViene automaticamente svuotato in caso lo spazio sul telefono si stia esaurendo

Device B

WP 8.1 – PFN 12345

Roaming

LocalLocalCache

Temp

Device A

WP 8.1 App

Roaming

LocalLocalCache

Temp

Roaming

Backup [Device A]

Page 20: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Contratto di share

Page 21: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Mappe e geofencing

Page 22: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Bluetooth LEDispositivi mediciRilevatori di prossimitàGli sviluppatori possono usare le Bluetooth GATT API per accedere ai servizi offerti dai dispositivi Bluetooth LE

Bluetooth RFCommCollegamento e comunicazione con I servizi offerti dai dispositivi Bluetooth RFCOMMSupporto ai dispositive che usano la Serial Port Profile (SPP)Supporto al Service Discovery Protocol (SDP)

Background Task e TriggerLe applicazioni possono ricevere dati dai dispositive Bluetooth anche in backgroundL’applicazione può essere lanciata quando il dispositivo Bluetooth scatena un evento

Bluetooth

Page 23: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Identity, Authentication e SSOMicrosoft Account SSOWeb Authentication Broker (WAB)

Una semplice API per autenticarsi con servizi che sfruttano OAuth per la procedura di login (Google, Facebook, Twitter, ecc.)

CredentialLockerIl namespace Windows.Security.Credentials offre API che consentono di salvare in maniera sicura le credenziali di accessoE’ isolato: le applicazioni possono accedere solo alle credenziali da loro salvateSincronizzazione delle credenziali tra dispositivi

Page 24: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

L’Emulatore Windows Phone

Nuove funzionalità per

l’emulatore

Simulazione della rete

Simulazione multi touch con

mouse

Memoria SD

Miglior tool per la geo

localizzazione

Simulazione invio notifiche

push

Invio di notifiche locali

Salvataggio e caricamento di

template

Page 25: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

E quello windows Perchè utilizzare il

simulatore

Rotazione schermo

Cambio di risoluzione

Simulazione pinch e zoom su

display non touch

Simulazione problem di rete ec

Page 26: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

AppVerifierDiagnosi di leak di memoria e vulnerabilità nelle applicazioni native

Performance Monitor Diagnostica in tempo reale

Performance Recorder Salvataggio dei dati di diagnostica per analisi successive

Windows Phone Power Tools

Page 27: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

E tanto altro ancora…Email with

Attachments

SL XAML/ Direct3D

enhancements

FileOpenPicker,

FileSavePicker

Read/Write access to SD

card

Easier NFC secure

payment

Wallet cards Known Folders

(Audio/Video/:Pictures)

Appointments/Calendar

API enhancement

s

Appointments/Calendar brokered UI

New background Transfer API

Sensors: Acceleromete

r, light, magnet …

Data Sense 2 WinRT HttpClient

Storage API enhancement

s

Graphics enhancements D2D/DWrite

Social RT AtomPub, Http,

Syndication (Windows.We

b)

Advertising ID

Data.XML Audio effects

Page 28: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

E’ sempre giusto utilizzare app Universali?

Page 29: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Sviluppo di applicazioni Windows Phone 8.1 XAMLTre approcci possibili:Approccio Vantaggi & Svantaggi

Continuare ad usare Silverlight 7.x / 8

Pro L’app funziona su Windows Phone 8.1 e su tutti i

dispositivi con Windows Phone 7.x / 8.0

Contro

Non potete sfruttare le novità della piattaforma Non siete in grado di condividere la maggior parte del

codice con Windows

Usare Silverlight 8.1 (L’applicazione Silverlight fa uso del nuovo stack basato sul Windows Runtime)

Pro Consente alle applicazioni Silverlight di sfruttare quasi

tutte le nuove funzionalità aggiunte in Windows Phone 8.1

Contro

Non siete in grado di condividere la maggior parte del codice con Windows

Non funzionano sui dispositivi con Windows Phone 8.0

Usare la piattaforma Windows XAML

Pro Supporto a Windows e Windows Phone Pieno supporto alle nuove funzionalità di 8.1 Migliori performance e minor consume di memoria

Contro

Non funzionano sui dispositive con Windows Phone 8.0 Non potete migrare automaticamente un’app già

esistente

Page 30: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Funzionalità disponibili solo su Silverlight

CameraCaptureTaskCamera LensesLockscreen background image providerRuns under LockBackground Audio AgentAlarms/Reminders

SocialRT (Silverlight 8.1 only)

VoIPContinuous background location tracking (SL 8.0 only)

Wallet agentsSystem.ServiceModel (WCF/SOAP)

Page 31: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Come iniziare

Page 32: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Windows Dev Center: http://dev.windows.com

Page 33: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Scaricare i tool

Il Windows Developer Center è il punto di partenza per tutte le informazioni su Windows e Windows Phonehttp://dev.windows.com http://dev.windowsphone.com

Download gratuito: Visual Studio 2013 Community Editionhttp://www.visualstudio.com/en-us/products/free-developer-offers-vs

Page 34: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Requisiti hardware

Ecco i requisiti hardware richiesti per lo sviluppo di applicazioni per Windows Phone 8.1

Sistemi operativi supportati Windows 8.1 (x86 o x64)

Hardware4 GB di spazio libero su disco1.5 GB di RAM (raccomandati)Scheda madre a 64-bit (x64)

Per usare l’emulatore di Windows Phone

Windows 8.1 Pro o Enterprise (per Hyper-V) e supporto a Second Level Address Translation (SLAT)Min 4GB RAM

Page 35: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Ottenere un account sviluppatoriNon è necessario un account sviluppatori per scaricare l’SDK e iniziare a sviluppare applicazioni

E’ necessario un account sviluppatori per pubblicare applicazioni per Windows / Windows Phone, per usare le notifiche push e per sbloccare più di un dispositivo per lo sviluppo

Per ottenere un account sviluppatori:Già incluso se avete un abbonamento MSDNGratuito per gli studenti iscritti a Dreamspark19$ una tantum per sviluppatori individuali, 99$ per le aziende

Page 36: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

I concetti chiave

Caratteristiche principali

La nuova piattaforma basata sul Windows Runtime offre la convergenza con Windows 8.1, migliori performance e un minor consumo di memoria rispetto a Silverlight

Il cuore dell’applicazione può essere sviluppato una volta sola per Windows e Windows Phone; è possibile condividere elementi della UI, ma è consigliato ottimizzare l’esperienza d’uso per ogni piattaforma

La convergenza non è solo relative alla piattaforma di sviluppo, ma si estende a tool, store e possibilità di guadagno

Gli sviluppatori che hanno già investito sulla piattaforma non vengono tagliati fuori: Silverlight 8.1 consente di mantenere il proprio codice e, allo stesso tempo, sfruttare le nuove funzionalità di Windows Phone 8.1

Cosa aspettate a iniziare a sviluppare?

Page 37: .NET Day 05 Febbraio 2015 #netday15 Windows 8.1. .NET Day.NET Day #netday15.

.NET Day #netday15

Grazie a tutti