.NET Day05 Febbraio 2015
#netday15
Alessio IafrateFreelance Developer
Blog: http://www.acquariusoft.comTwitter: @alessioiafrateMail: [email protected]
Introduzione alle Universal App
Windows 8.1
.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
.NET Day #netday15
Le “Universal App”
.NET Day #netday15
Piattaforme compatibile (windows 8.1, wp 8.1)
.NET Day #netday15
Il futuro con Windows 10
.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
.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
.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
.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
.NET Day #netday15
Demo:Creare una Universal Windows app
Alessio Iafrate
.NET Day #netday15
Le novità per gli sviluppatori
Un riassunto delle principali caratteristiche per gli sviluppatori
.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
.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
.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
.NET Day #netday15
I controlli si adattano alla piattaforma
Su Windows Phone 8.1 … e su Windows 8.1
.NET Day #netday15
Multitasking: Background Tasks and Triggers
Task
TimeTriggerPUSH
Notification
LocationTrigger
PushNotificationTrigger
MaintenanceTrigger
InternetAvailable NetworkStateChange
TimeZoneChange
.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
.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)
.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]
.NET Day #netday15
Contratto di share
.NET Day #netday15
Mappe e geofencing
.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
.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
.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
.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
.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
.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
.NET Day #netday15
E’ sempre giusto utilizzare app Universali?
.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
.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)
.NET Day #netday15
Come iniziare
.NET Day #netday15
Windows Dev Center: http://dev.windows.com
.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
.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
.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
.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?
.NET Day #netday15
Grazie a tutti
Top Related