SlideShare uma empresa Scribd logo
1 de 36
Windows 10
Utenti sempre
aggiornati
Ucore unificato e
stessa piattaforma
per le app
DotNetAbruzzo
Windows Phone 7.5
Windows Phone 8
Windows
Phone 8.1
Windows 8
Xbox One
Windows on Devices
Xbox 360
Windows 8.1
Windows 10
Stesso
OS kernel
Convergenza
nello sviluppo
delle app
Phone Small Tablet
2-in-1s
(Tablet or Laptop)
Desktops
& All-in-OnesPhablet Large Tablet
Laptop
Classici
Xbox IoTSurface Hub Holographic
Windows 10
One Store +
One Dev Center
Reuse
Existing
CodeOne SDK +
Tooling
Adaptive
User Interface
Natural
User Inputs
Una Universal Windows Platform
Windows 10
Windows 10
Sistema Operativo
Bridging technologies
Win32
desktop
Web
hosted
Java
Android
Obj.C
iOS
Universal Windows Platform
WWAC++
& CX
.Net
languages
HTML
DirectX
XAML
C++
.Net
languages
MFCWFWPF
.Net
runtime
DotNetAbruzzo
Phone
Device
Xbox
Device
Desktop
Device
Windows Core
Universal Windows Platform
Windows 10 DotNetAbruzzo
Windows 10
<Dependencies>
<TargetDeviceFamily
Name="Windows.Universal"
MinVersion="10.0.10240.0"
MaxVersionTested="10.0.10586.0"/>
</Dependencies>
DotNetAbruzzo
Windows 10 DotNetAbruzzo
Phone
Device
Xbox
Device
Desktop
Device
Windows Core
Universal Windows Platform
Windows App
Windows 10 DotNetAbruzzo
One Windows
Desktop
SKU
PC
2 in 1
Mobile
SKU
Tablet
Phablet
Phone
Xbox
SKU
Xbox
IoT
SKU
Raspberry
Pi
Home
Automation
Surface Hub
SKU
Surface Hub
Holographic
SKU
HoloLens
Phone (portrait)
Tablet (landscape) / Desktop
Phone (portrait)
Tablet (landscape) / Desktop
Windows 10 DotNetAbruzzo
Phone
Device
Xbox
Device
Desktop
Device
Windows Core
Universal Windows Platform
Windows App
Phone
extension
Xbox
extension
Desktop
extension
Windows 10 DotNetAbruzzo
UWP
Windows Core Windows Core Windows Core Windows Core
UWP UWP UWP
Desktop Mobile Xbox More…
var api = "Windows.Phone.UI.Input.HardwareButtons";
if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent(api))
{
Windows.Phone.UI.Input.HardwareButtons.CameraPressed
+= CameraButtonPressed;
}
Web Apps
NEW: Hosted Web Apps
Porta le funzionalità del tuo sito web nel
Windows Store
Permette di sfruttare le proprie
competenze nello sviluppo web
Accesso complete alle Universal APIs,
incluse
(precedentemente conosciuto come ‘Project Islandwood’)
Windows 10 e Universal Windows Platform
Windows 10 e Universal Windows Platform
Windows 10 e Universal Windows Platform
Windows 10 e Universal Windows Platform
Windows 10 e Universal Windows Platform
Windows 10 e Universal Windows Platform
Windows 10 e Universal Windows Platform
Windows 10 e Universal Windows Platform
Windows 10 e Universal Windows Platform

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Mobile UI development on Windows Phone and what's new in S40
Mobile UI development on Windows Phone and what's new in S40Mobile UI development on Windows Phone and what's new in S40
Mobile UI development on Windows Phone and what's new in S40
 
Visual studio code
Visual studio codeVisual studio code
Visual studio code
 
20150728 100분만에 배우는 windows 10 앱 개발
20150728 100분만에 배우는 windows 10 앱 개발20150728 100분만에 배우는 windows 10 앱 개발
20150728 100분만에 배우는 windows 10 앱 개발
 
Deeper into Windows 10 Development
Deeper into Windows 10 DevelopmentDeeper into Windows 10 Development
Deeper into Windows 10 Development
 
Windows 8 App Development
Windows 8 App DevelopmentWindows 8 App Development
Windows 8 App Development
 
Getting Started with Visual Studio 2015 and C# 6.0
Getting Started with Visual Studio 2015 and C# 6.0 Getting Started with Visual Studio 2015 and C# 6.0
Getting Started with Visual Studio 2015 and C# 6.0
 
Visual Studio 2015 and the Next .NET Framework
Visual Studio 2015 and the Next .NET FrameworkVisual Studio 2015 and the Next .NET Framework
Visual Studio 2015 and the Next .NET Framework
 
Docker for .net developer
Docker for .net developerDocker for .net developer
Docker for .net developer
 
Visual Studio 2017
Visual Studio 2017Visual Studio 2017
Visual Studio 2017
 
Windows Universal Apps
Windows Universal AppsWindows Universal Apps
Windows Universal Apps
 
Nokia DvLup - Presentasi dari Ahmad Mustafid
Nokia DvLup - Presentasi dari Ahmad Mustafid Nokia DvLup - Presentasi dari Ahmad Mustafid
Nokia DvLup - Presentasi dari Ahmad Mustafid
 
WebDU part deux
WebDU part deuxWebDU part deux
WebDU part deux
 
Windows8.1 html5 dev paradigm discussion netponto
Windows8.1 html5 dev paradigm discussion netpontoWindows8.1 html5 dev paradigm discussion netponto
Windows8.1 html5 dev paradigm discussion netponto
 
The Ring programming language version 1.5.3 book - Part 17 of 184
The Ring programming language version 1.5.3 book - Part 17 of 184The Ring programming language version 1.5.3 book - Part 17 of 184
The Ring programming language version 1.5.3 book - Part 17 of 184
 
The best and most reliable valid and active windows 8 professional product key
The best and most reliable valid and active windows 8 professional product keyThe best and most reliable valid and active windows 8 professional product key
The best and most reliable valid and active windows 8 professional product key
 
The Ring programming language version 1.5.4 book - Part 17 of 185
The Ring programming language version 1.5.4 book - Part 17 of 185The Ring programming language version 1.5.4 book - Part 17 of 185
The Ring programming language version 1.5.4 book - Part 17 of 185
 
Vb.net ide
Vb.net ideVb.net ide
Vb.net ide
 
Introduction to Dot framework
Introduction to Dot frameworkIntroduction to Dot framework
Introduction to Dot framework
 
Visual Studio IDE
Visual Studio IDEVisual Studio IDE
Visual Studio IDE
 
Universal apps on Windows 10 - Intro (TechDays Sweden 2015)
Universal apps on Windows 10 - Intro (TechDays Sweden 2015)Universal apps on Windows 10 - Intro (TechDays Sweden 2015)
Universal apps on Windows 10 - Intro (TechDays Sweden 2015)
 

Semelhante a Windows 10 e Universal Windows Platform

Introduction to Mobile Technology
Introduction to Mobile TechnologyIntroduction to Mobile Technology
Introduction to Mobile Technology
Priya Nath
 
Windows 10 IoT Core - Inovasyon Haftasi - TİM
Windows 10 IoT Core - Inovasyon Haftasi - TİMWindows 10 IoT Core - Inovasyon Haftasi - TİM
Windows 10 IoT Core - Inovasyon Haftasi - TİM
İbrahim KIVANÇ
 
Mob02 windows phone 8.1 app development
Mob02   windows phone 8.1 app development Mob02   windows phone 8.1 app development
Mob02 windows phone 8.1 app development
DotNetCampus
 

Semelhante a Windows 10 e Universal Windows Platform (20)

Universal Windows Platform Programando para todos y todas
Universal Windows PlatformProgramando para todos y todasUniversal Windows PlatformProgramando para todos y todas
Universal Windows Platform Programando para todos y todas
 
Delphi XE5 Datasheet
Delphi XE5 DatasheetDelphi XE5 Datasheet
Delphi XE5 Datasheet
 
2015 06 11 Windows 10 Developer Readiness by MVPs - Internet Of Things
2015 06 11 Windows 10 Developer Readiness by MVPs - Internet Of Things2015 06 11 Windows 10 Developer Readiness by MVPs - Internet Of Things
2015 06 11 Windows 10 Developer Readiness by MVPs - Internet Of Things
 
Indie Game Development
Indie Game DevelopmentIndie Game Development
Indie Game Development
 
Develop a Windows 10 App. Deploy it on PC, Phone and Raspberry Pi.
Develop a Windows 10 App.  Deploy it on PC, Phone and Raspberry Pi.Develop a Windows 10 App.  Deploy it on PC, Phone and Raspberry Pi.
Develop a Windows 10 App. Deploy it on PC, Phone and Raspberry Pi.
 
Romuald Zdebsky, Games Lead for Central & Eastern Europe, Microsoft
Romuald Zdebsky, Games Lead for Central & Eastern Europe, MicrosoftRomuald Zdebsky, Games Lead for Central & Eastern Europe, Microsoft
Romuald Zdebsky, Games Lead for Central & Eastern Europe, Microsoft
 
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
 
Windows10
Windows10Windows10
Windows10
 
201500912 Hello Windows 10
201500912 Hello Windows 10201500912 Hello Windows 10
201500912 Hello Windows 10
 
windows8 vs windows10
windows8 vs windows10windows8 vs windows10
windows8 vs windows10
 
Developing windows 10 universal apps
Developing windows 10 universal appsDeveloping windows 10 universal apps
Developing windows 10 universal apps
 
Delphi XE7 Datasheet - The fastest way to build connected apps for Windows, O...
Delphi XE7 Datasheet - The fastest way to build connected apps for Windows, O...Delphi XE7 Datasheet - The fastest way to build connected apps for Windows, O...
Delphi XE7 Datasheet - The fastest way to build connected apps for Windows, O...
 
Windows 10 pentru dezvoltatori - InfoEducație 2015
Windows 10 pentru dezvoltatori - InfoEducație 2015Windows 10 pentru dezvoltatori - InfoEducație 2015
Windows 10 pentru dezvoltatori - InfoEducație 2015
 
Developing Windows 10 Hosted Web Apps
Developing Windows 10 Hosted Web AppsDeveloping Windows 10 Hosted Web Apps
Developing Windows 10 Hosted Web Apps
 
Introduction to Mobile Technology
Introduction to Mobile TechnologyIntroduction to Mobile Technology
Introduction to Mobile Technology
 
Windows10 gamedevoverviewexcludingvideos
Windows10 gamedevoverviewexcludingvideosWindows10 gamedevoverviewexcludingvideos
Windows10 gamedevoverviewexcludingvideos
 
Windows 10
Windows 10Windows 10
Windows 10
 
Windows 10
Windows 10Windows 10
Windows 10
 
Windows 10 IoT Core - Inovasyon Haftasi - TİM
Windows 10 IoT Core - Inovasyon Haftasi - TİMWindows 10 IoT Core - Inovasyon Haftasi - TİM
Windows 10 IoT Core - Inovasyon Haftasi - TİM
 
Mob02 windows phone 8.1 app development
Mob02   windows phone 8.1 app development Mob02   windows phone 8.1 app development
Mob02 windows phone 8.1 app development
 

Mais de Alessio Iafrate

Mais de Alessio Iafrate (11)

Workshop sulle spatial anchors
Workshop sulle spatial anchorsWorkshop sulle spatial anchors
Workshop sulle spatial anchors
 
Realtà aumentata ed Azure, un binomio imbattibile
Realtà aumentata ed Azure, un binomio imbattibileRealtà aumentata ed Azure, un binomio imbattibile
Realtà aumentata ed Azure, un binomio imbattibile
 
Custom Vision e Win.ml per le nostre app intelligenti offline
Custom Vision e Win.ml per le nostre app intelligenti offlineCustom Vision e Win.ml per le nostre app intelligenti offline
Custom Vision e Win.ml per le nostre app intelligenti offline
 
What's new in Visual Studio 2019
What's new in Visual Studio 2019What's new in Visual Studio 2019
What's new in Visual Studio 2019
 
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo natale
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo nataleSanta Claus Alert: ovvero come sfruttare WinML per intercettare babbo natale
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo natale
 
Tecniche di Machine Learning per l’analisi offline dei dati aziendali
Tecniche di Machine Learning per l’analisi offline dei dati aziendaliTecniche di Machine Learning per l’analisi offline dei dati aziendali
Tecniche di Machine Learning per l’analisi offline dei dati aziendali
 
Come utilizzare il bot framework
Come utilizzare il bot frameworkCome utilizzare il bot framework
Come utilizzare il bot framework
 
Aperitech winml
Aperitech winmlAperitech winml
Aperitech winml
 
Da A a Bot con un pizzico di Cognitive
Da A a Bot con un pizzico di CognitiveDa A a Bot con un pizzico di Cognitive
Da A a Bot con un pizzico di Cognitive
 
Xamarin forms
Xamarin formsXamarin forms
Xamarin forms
 
Introduzione alle Universal App
Introduzione alle Universal AppIntroduzione alle Universal App
Introduzione alle Universal App
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

Windows 10 e Universal Windows Platform

Notas do Editor

  1. In Windows Phone 7 il Sistema operative era basato su Windows CE un Sistema operative pensato per device mobile. Quando è uscito Windows Phone 8 il kernel di Windows CE è stato abbandonato ed è stato utilizzato quello di Windows NT lo stesso della versione PC. Stessa cosa è avvenuta con l’Xbox One Con Windows 8.1/Windows Phone 8.1 inizia a nascere una piattaforma di sviluppo condivisa. E’ possibile sviluppare app universal per 8.1 che possono condividere una grande percentuale di codice e condividono molte API Con Windows 10 è stato fatto un ulteriore passo avanti arrivando alla possibilità di creare una singola applicazione che può essere eseguita su tutti i dispositive che utilizzano Windows 10. Windows 10 utilizza un Core unificato per tutti i device e una singola piattaforma di sviluppo app
  2. Windows 10 è disponibile per una grande varietà di dispositive, dai telefoni con schermi da 4,5”, passando per i phablet, tablet, pc, laptot, convertibili come il Surface, I desktop e gli All-in-ones, passando per l’Xbox che abbiamo in salotto fino ad arrivare a grandi schermi di 84” per device pensati per la collaborazione in team come il Surface Hub. A questi si aggiungono computer in miniature come la Raspberry Pi 2 ed hardware futuristico come gli Hololens.
  3. I dispositivi sono stati quindi divisi in base all’hardware di cui dispongono in differenti famiglie in modo che gli sviluppatori possano più semplicemente sviluppare avendo come target una o più famiglie di dispositivi <click> Le famiglie partono da small devices and IoT, telefoni e piccolo tablet appartengono alla famiglia del Mobile, grandi tablet e PC appartengono alla famiglia PC, the Xbox, Surface Hub (o ‘Team’) e per finire Hololens <click> Tutte queste famiglie di dispositive sono dotati della stessa developer platforma, la Universal Windows Platform, è quindi possibile realizzare una singola app che potrà girare su tutte le famiglie usando un singolo SDK e distribuendole tramite un singolo store. Questo non vuole però dire che una sola app girerà allo stesso modo su tutti questi dispositive, è necessario che l’app si adatti ai vari scenari quindi sono state aggiunte API, controlli e tools che aiutano nella costruzione di UI adattive
  4. Vediamo adesso I differenti modi per sviluppare app per Windows 10. <click> Prima di tutto abbiamo I metodi tradizionali con cui abbiamo sempre sviluppato app come WPF,MFC e il framework completo .NET. Questo tipo di app vengono definite CWA (Classic Windows Apps) e restano un buon modo di fare app Windows per il desktop. Esistono anche dei tool come il progetto Centennial che permettono di pacchettizzare le CWA e distribuirle attraverso il Windows Store <click> Ci sono poi le nuove UWP che sono basate sul Windows Runtime APIs che è possible utilizzare per costruire Windows Store apps su Windows 8.x e Windows Phone 8.1. In questo scenario è possibile utilizzare HTML e JavaScript oltre naturalmente a XAML e C#/VB or C++, oppure è possibile utilizzare DirectX e uno dei framework che ci sono in commercio per creare giochi. Queste applicazioni girano sulle UWP APIs e possono essere eseguite su tutti I dispositivi Windows 10. <click> Ultimo scenario è quello delle tecnologie di bridging. Questi facilitano lo sviluppo di app per chi ha competenze che esulano dalla piattaforma windows. Sono disponibili il Windows Bridge for iOS, Windows Bridge for Android, hosted Web Apps per rendere disponibili i propri siti tramite il Windows Store e utilizzare le UWP APIs, oltra ad un Bridge per le classical Windows Apps.
  5. Quindi, cosa è la Universal Windows Platform? E’ un singolo strato di API che è consistente tra tutti i dispositivi Windows 10 devices. E’ proprio questo strato garantito di API che permette di sviluppare app funzionanti su tutti i dispositive. Quello che è stato fatto è prendere il Windows Runtime APIs lanciato con Windows 8, estenderlo in maniera massiccia e componentizzarlo dividendono in un svariati ‘contracts’. Perchè è stato scelto il nome ‘contract’? – Perchè questi component forniscono un contratto tra la piattaforma e lo sviluppatore che permette di mantenere le API consistenti anche tra molte release minori. Questo permette di espandere e migliorare la piattaforma rilasciando aggiornamenti per i component che espongono nuove capabilities e permette allo sviluppatore di sviluppare app per una certa versione delle API
  6. Ecco un esempio delle API disponibili nella piattaforma UWP API. Tutto ciò che è necessario fare in un’app può essere eseguito tramite un’API ed è disponibile per tutte le piattaforme. Esiste anche un metodo per chiamare API specifiche per una famiglia di device che vedremo a breve.
  7. Il primo cambiamento sostanziale che ci troviamo davanti è che non stiamo sviluppando app su un OS – Windows 10 – stiamo costruendo app sulla Universal Windows Platform, che è gestita ed aggiornata indipendentemente dall’OS.
  8. Nel vostro Package Manifest, ci sarà una dichiarazione come questa 10.0.10240.0 Prima versione 10.0.10586.0 November update 10.0.14296.0 Anniversary update Quello che ci dice è che stiamo sviluppando sulla UWP versione 10.0.10240.0 (la prima versione disponibile GA - General Availability). Quando creerete la vostra prima UWP, la MaxVersionTested sarà anch’essa impostata a 10.0.10240.0, ma immaginiamo che nel futuro quando nuove version della UWP saranno rilasciate ed installate insieme alle altre version. Nel nostro esempio indichiamo che l’app è stata testate con la UWP version 10.0.10586.0, questo non vuol dire non girerà però sulle version precedenti. In questo caso se possibile il runtime forzerà l’utilizzo della versione del runtime 10.0.10586.0. Lo Windows Store usa inoltre queste informazioni per essere sicuro che l’utente scarichi la miglior versione per il suo dispositivo.
  9. Windows 10 è più di un OS ma è da considerarsi ‘Windows as a Service’ – continuamento sviluppato, migliorato e con nuove funzionalità In questo ambito UWP è lo strato di API garantito che ci permette di continuare a sviluppare le nostre app venendo costantemente aggiornato ma con una cadenza che è indipendente dal Sistema Operativo
  10. A differenza di Windows 8.1 dove una Universal App crea pacchetti differenti per PC e Phone, con la UWP c’è un singolo pacchetto che può funzionare su ogni dispositivo compatibile con UWP Il runtime su ogni dispositivo sarà in grado di eseguire le app UWP.
  11. Windows 10 offre opportunità senza precedenti per gli sviluppatori: un singolo dev center da cui gestire le app per tutti I dispositivi Windows 10 ed un singolo store che distribuire le app su tutte le tipologie di device. Lo store permette inoltre caratteristiche di accessi speciali in ambito Businesses ed Education
  12. Se proviamo a pensare all’interfaccia utente di ogni famiglia di device (xbox, phone,pc) noteremo che ognuna offre un’esperienza di uso diversa ed appropriata per il device. Ogni famiglia ha poi alcune caratteristiche distintive che rendono l’esperienza utente unica e che quindi hanno bisogno di un limitato numero di API specifiche per ogni piattaforma.
  13. Diamo adesso un’occhiata a come vengono gestite le varie famiglie di device. Come abbiamo detto ogni famiglia deve garantire una user experience diversa all’utente e eseguendo la stessa piattaforma per le app su tutto il range di device compatibili. Quello che si vuole avere non è però una sorta di “minimo comun denominatore” tra le piattaforme che gestisce solo le parti in comume, ma un Sistema di creare app che possano dare il Massimo su ogni tipo di piattaforma all’utente
  14. Prima di parlare delle api parliamo di quello che l’utente nota di più, la UI della nostra applicazione che deve essere adattiva
  15. Quando pensiamo ad un design adattivo quello che vogliamo realizzare è un layout di pagina che usa tecniche responsive senza dimensioni fisse ma con un contenuto che si modifica e si adatta automaticamnte a cambiamenti minori come ad esempio tra schermi di 4.5” e 5” Molti dei controlli già disponibili sono di base responsive ad esempio quando si usa il toch viene mostrata un’area di interazione più ampia rispetto a quando si usa il mouse (Es . Menu contestuali) Ma è anche necessario pensare ad una modifica del layout per quando ci sono differenze di dimensioni grandi come ad esempio tra un telefono ed un PC, in questo caso ci vengono in aiuto I Visual States. In alcuni casi poi ci può essere la necessità di un design personalizzato quindi invece di un adattamento del contenuto è necessario creare un’esperienza personalizzata ed appropriate per il device e l’interazione con esso
  16. Vediamo adesso un esempio di design responsive Su schermi grandi come quello sulla destra viene sfruttato tutto lo spazio a disposizione, tutti i bottoni sono allineati e l’immagine del chiamante è visualizzata sulla destra. Sullo schermo di dimensioni inferiori abbiamo essenzialmente gli stessi elementi ma l’immagine è ritagliata, il bottone per terminare la chiamata è ingrandito e posto sotto gli altri mentre il chiamante è stato posizionato poco sopra i pulsanti di controllo.
  17. I controlli adattivi e il layout responsive sono un’ottima soluzione ma ci possono essere delle situazioni in cui ha senso fare qualcosa su misura che i controlli adattivi non permettono di realizzare. Questa esigenza può nascere da hardware differente, per esempio un’app eseguita su Xbox può aver bisogno di alcune personalizzazioni per permettere la navigazione con un controller. L’esigenza può anche essere dettata dalle dimensioni dello schermo e dall’usabilità, un designer potrebbe ad esempio voler inserire un menu nella parte inferiore dello schermo del telefono per usarlo con una mano. In questo caso gli sviluppatori possono creare questa esperienza personalizzata utilizzando lo stesso codice condiviso ma diversi XAML per personalizzare il design a seconda del device Il design personalizzato va oltre l’adattamento della UX
  18. Pensare le proprie app per Windows 10 utilizzando una UI adaptive è una necessità anche se l’app è pensata esclusivamente per Phone, in quanto anche loro potranno veicolare le app su grandi schermi. Windows Phone dispone di una funzionalità denominate Continuum che permette di connettere i telefoni di nuova generazione (es Lumia 950 e Lumia 950XL) ad uno schermo esterno ed una volta collegati tastiera e mouse di utilizzarlo come un PC qualsiasi, in questo caso l’app dovrà essere pronta ad adattarsi a qualsiasi tipo di schermo.
  19. Adattare la UI a differenti schermi è la parte più complicate per lo sviluppo di app cross-family, ma è anche necessario poter invocare le API specifiche di ogni famiglia per creare un’esperienza unica. Questo può essere realizzato tramite ‘Adaptive code’.
  20. La maggior parte delle API sono già presenti nella piattaforma comune delle UWP, se vogliamo accedere a quelle per famiglia di device dobbiamo utilizzare deiPlatform Extension SDKs che possono essere aggiunti come qualsiasi altra libreria . Anche queste estensioni hanno una propria versione e possono essere aggiornate indipendentemente dall’OS e dalla UWP
  21. La cosa principale da capire è che utilizzando questi SDK di una particolare famiglia non si limita l’app solo a quella famiglia di dispositive. Potranno comunque essere eseguite su qualsiasi altra famiglia di dispositivi Nel caso si voglia limitare la distribuzione dell’app ad una sola famiglia è necessario agire dallo Store
  22. Vediamo di capire come tutto ciò è possibile: <Click> Ogni famiglia esegue lo stesso Core OS <Click> Le app utilizzato la UWP che è comune a tutte le famiglie. <Click> Quando viene aggiunto un riferimento ad un extension SDK, si stanno rendendo queste API disponibili ad essere chiamate dal codice dell’applicazione a runtime sulla famiglia selezionata <Click> Quando il riferimento viene aggiunto i metadata per le API sono caricati nel progetto in modo che il compilatore e Visual Studio con il suo Intellisense possano funzionare correttamente durante lo sviluppo.
  23. Abbiamo quindi a disposizione queste API specifiche per la piattaforma che possiamo utilizzare solo a runtime su una specifica famiglia. Come possiamo essere sicuri che le API vengano richiamata solo al momento opportune? La risposta è condizionando queste chiamate al controllo che l’API sia effettivamente disponibile utilizzando i metodi forniti dall’API Windows.Foundation.Metadata.ApiInformation. Il metodo più utilizzato è IsTypePresent() che a runtime controlla che l’API richiesta sia effettivamente caricata ed utilizzabile dall’applicazione che stiamo eseguendo.
  24. Nonostante le potenzialità delle UWP che permettono di scrivere codice una volta e di eseguirlo su diverse tipologie di piattaforme, alcuni sviluppatori non hanno interesse a portare le loro app sulla piattaforma Windows. Per facilitare questo compito insieme a Windows 10 sono stati realizzati 4 tipologie di Bridge per permettere una veloce portabilità del codice esistente sulla UWP e aggiungere funzionalità come live tiles, active notifications, e Windows Store in-app purchases.
  25. Hosted Web Apps. Oltre a permettere ai siti web di visualizzati nel migliore dei modi nel browser, Windows 10 fornisce un nuovo metodo per trasformare siti in app vere e proprie. <click> Con Windows 10 è possibile riutilizzare il codice web esistente e creare una app che punta direttamente al nostro URL. Non è necessario riscrivere il codice delle pagina anche se utilizzano tecnologie server side come asp.net o php! <click> E’ possibile accedere alle Universal Windows Platform APIs direttamente dal codice web scaricato dal server. <click> Le app così costruite potranno essere distribuite nelWindows Store. Si potrà continuare ad usare gli stessi tool, librerie e servizi utilizzati oggi. Si potrà continuare a aggiornare l’app sul server come prima e l’app utilizzerà i nuovi file.
  26. Per gli sviluppatori Android™ il Windows Bridge for Android permette di compilare app usando codice Android su Windows 10 phone e piccolo tablet senza lasciare il proprio IDE per Android. Oltre ad estender l’IDE include un emulatore Windows Phone e capacità di interop che aiutano le app a girare al meglio sulla piattaforma Windows
  27. Per gli sviluppatori iOS®il Windows Bridge for iOS permette di creare app UWP da Visual Studio 2015 usando il codice Objective-C® esistente. Sarà possibile importare progetti Xcode® direttamente in Visual Studio, permettendo alle app di girare su ogni dispositivo della famiglia Windows e permette di utilizzare le funzionalità delle UWP Questo bridge non permette semplicemente di far girare app iOS su Windows, ma permette di creare app per Windows usando il codice già esistente e tutte le competenze possibili. Le caratteristiche principali del bridge sono: 1. Accesso complete alle API Windows da codice Objective-C 2. Riutilizzo del codice esistente 3. Nessuna sandbox, le app iOS e UWP possono lavorare insieme Il progetto è stato rilasciato come open-source per permettere a chiunque voglia di collaborare a migliorarlo
  28. L’ultimo Bridge è il Windows Bridge for Classic Windows apps (anche chiamato ”Project Centennial”) che permette di pacchettizzare applicazioni .NET e Win32 e di distribuirle tramite lo Store lasciandosi alle spalle tutti i problemi di librerie o danni al Sistema che potevano verificarsi Inoltre ci sarà anche qui la possibilità di usare tutte le funzionalità della UWP Il Windows Bridge for Classic Windows apps sarà rilasciato in preview nel prossimo anno.
  29. Visual Studio 2015 è disponibile in varie edizioni Visual Studio Enterprise with MSDN è una soluzione Enterprise con tool avanzati per il lavoro di gruppo su progetti di qualsiasi dimensione Visual Studio Professional with MSDN è una soluzione per realtà aziendali di medie dimensioni Visual Studio Community è gratuito, può essere paragonato alla versione professional ed è utilizzabile da liberi professionisti, enti di ricerca e realtà aziendali con fatturato inferior al milione di euro
  30. Con Windows 10 è cambiato l’approcio alla sviluppo. Non è più necessaria una licenza sviluppatore per ogni dispositivo dove si vuole testare l’applicazione. Basta abilitare la licenza una volta per tutte nelle impostazioni del device. In questo modo sarà possibili deployare le app da Visual Studio e anche fare il sideload di app non certificate per il Windows Store.
  31. Dove posso sviluppare? Visual Studio 2015 ed i Tools for Windows 10 possono funzionare su un PCs che esegue Windows 10, su PCs con Windows 8.1 e su Windows Server 2012 R2.
  32. Dove posso sviluppare? Visual Studio 2015 ed i Tools for Windows 10 possono funzionare su un PCs che esegue Windows 10, su PCs con Windows 8.1 e su Windows Server 2012 R2.
  33. Per qualsiasi domanda su come costruire app per Windows 10, scaricare i tool ed accedere al Dev Center basta partire dalla homepage : dev.windows.com. Sono inoltre disponibili tutorials, samples, started guides e la documentazione completa