Upload
fabrizio-bernabei
View
83
Download
0
Embed Size (px)
Citation preview
Tutti pronti per Windows 10?
Uno sguardo alle novità e alle nuove Universal App
Fabrizio BernabeiInnovactive Engineering
[email protected]@bernabei
Windows Phone 7.5
Windows Phone 8
Windows Phone 8.1
Windows 8
Xbox One
Windows on Devices
Windows 8.1
Windows 10
Convergedbackground
model
ONE CORE OS
• UI in grado di adattarsi a diversi device, smartphone, tablet, desktop, xbox One, Surface hub, Hololens e non solo
• Win 10 IoT Core
• 1 miliardo di dispositivi Win10 entro 2-3 anni
ONE APP PLATFORM
• Universal Windows Platform
• Unico binario su tutti i device
UWP becomes the one platform for developers. Learn one set of core APIs
for all devices.
• DEMO
ONE STORE
• Project Centennial: UWP Bridge toolkit per gli sviluppatori di applicazionil Windows desktop (Win32, .NET)
• Project Astoria: UWP Bridge toolkit per gli sviluppatori di applicazioni Android
• Project Islandwood: UWP Bridge toolkit per gli sviluppatori di applicazioni iOS
• Project Westminster: UWP Bridge toolkit per il packaging di siti web
NOVITA’ DELLE UNIVERSAL WINDOWS APP
• Universal controls and layout panels - Split View - RelativePanel - Calendar, Map e Pivot (ora universal), ecc
• Common input handling (touch, pen, mouse,keyboard, controller, ecc)- CoreInput API and PointerPoint- PointerDevice API- InkCanvas control and InkPresenter API
• Adaptive scaling
• Adaptive visual state
<SplitView DisplayMode="Inline|Overlay|CompactInline|CompactOverlay">
<SplitView.Pane><!-- Navigation Content Here --></SplitView.Pane>
<!-- Main Content Here -->
</SplitView>
SplitViewAdaptive navigation pane
<VisualState.Setters><Setter Target="splitView.DisplayMode" Value="Inline" />
</VisualState.Setters>
<VisualState.StateTriggers><AdaptiveTrigger MinWindowWidth="720" />
</VisualState.StateTriggers>
<VisualState.Setters><Setter Target="splitView.DisplayMode" Value="Overlay" />
</VisualState.Setters>
<VisualState.StateTriggers><AdaptiveTrigger MinWindowWidth= "0" />
</VisualState.StateTriggers>
Simplifying Responsive View DevelopmentTriggers and Setters (XAML equivalent of Media Queries)
If the Window width is >= 720 effective pixels, then show SplitView in Inline mode
• DEMO
RelativePanelEnables elements to layout relative to other elements
Use with Triggers and Setters for more advanced responsive designs
<RelativePanel> <Image x:Name="img" …/> <TextBlock x:Name="title" RelativePanel.RightOf="img" RP.AlignTopWith="img" …/> <TextBlock x:Name="authors" RP.RightOf="img" RP.Below="title" …/> <TextBlock x:Name="summary" RP.RightOf="img" RP.Below="authors" …/> <Button Content="Download" RP.RightOf="img" RP.AlignBottomWithPanel="True" …/></RelativePanel>
• Win/WP 8.1 come target ha OS, Win10 come target ha device families
• Visibilità sulle API comuni alle family supportate
• Adaptive code per funzioni specifiche della device family
Feature Detection con ApiInformation
• API type-based checking
• Permette di determinare presenza di funzionalità senza basarsi sulla versione dell’OS
• Analogo al capability checking che si fa su WEB
using Windows.Foundation.Metadata.ApiInformation;using Windows.Phone.Devices.Notifications;
// give haptic feedback for an errorif (IsTypePresent("Windows.Phone.Devices.Notifications.VibrationDevice")){
VibrationDevice.GetDefault().Vibrate(TimeSpan.FromMilliseconds(550));}
Esempio Haptic feedback
CONTINUUM
• COLLEGANDO TELEFONO A DISPLAY + MOUSE/TASTIERA
• APP SCALA E SI ADATTA ALLO SCHERMO
• RICHIEDE HW APPOSITO
Riferimenti
• Guide to Universal Windows Platform (UWP) appshttps://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn894631.aspx
• Build a Windows 10 universal apphttps://msdn.microsoft.com/en-us/library/windows/apps/dn609832.aspx
• Windows Universal Sampleshttps://github.com/Microsoft/Windows-universal-samples
• Windows IoThttp://ms-iot.github.io/content/GetStarted.htm