22

Tutti pronti per Windows 10?

Embed Size (px)

Citation preview

Page 1: Tutti pronti per Windows 10?
Page 2: Tutti pronti per Windows 10?

Tutti pronti per Windows 10?

Uno sguardo alle novità e alle nuove Universal App

Fabrizio BernabeiInnovactive Engineering

[email protected]@bernabei

Page 3: Tutti pronti per Windows 10?
Page 4: Tutti pronti per Windows 10?

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

Page 5: Tutti pronti per Windows 10?

• 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

Page 6: Tutti pronti per Windows 10?

ONE APP PLATFORM

Page 7: Tutti pronti per Windows 10?

• 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.

Page 8: Tutti pronti per Windows 10?

• DEMO

Page 9: Tutti pronti per Windows 10?

ONE STORE

Page 10: Tutti pronti per Windows 10?

• 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

Page 11: Tutti pronti per Windows 10?

NOVITA’ DELLE UNIVERSAL WINDOWS APP

Page 12: Tutti pronti per Windows 10?

• 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

Page 13: Tutti pronti per Windows 10?

<SplitView DisplayMode="Inline|Overlay|CompactInline|CompactOverlay">

<SplitView.Pane><!-- Navigation Content Here --></SplitView.Pane>

<!-- Main Content Here -->

</SplitView>

SplitViewAdaptive navigation pane

Page 14: Tutti pronti per Windows 10?

<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

Page 15: Tutti pronti per Windows 10?

• DEMO

Page 16: Tutti pronti per Windows 10?

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>

Page 17: Tutti pronti per Windows 10?

• 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

Page 18: Tutti pronti per Windows 10?

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

Page 19: Tutti pronti per Windows 10?

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

Page 20: Tutti pronti per Windows 10?

CONTINUUM

• COLLEGANDO TELEFONO A DISPLAY + MOUSE/TASTIERA

• APP SCALA E SI ADATTA ALLO SCHERMO

• RICHIEDE HW APPOSITO

Page 22: Tutti pronti per Windows 10?