Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

36

Transcript of Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Page 1: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?
Page 2: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Windows Phone 8Windows Phone 8.1

Windows 8

Xbox One

Windows 8.1

Windows 10

Windows on Devices

2

Page 3: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

UAP = Universal App Platform

3

Page 4: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

UAP

Windows Core

Windows Core

Windows Core

Windows Core

UAP UAP UAP

Desktop Mobile Xbox More…

UAP = Universal App Platform

4

Page 5: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Windows Phone 7.5/7.8

Windows Phone 8.0

Windows Phone 8.1*

Портировать UI Silverlight на Windows XAML

Переписать код под UAP APIs*

Адаптировать UX под разрешения

Windows 10

Windows Phone Silverlight Apps

5

Page 6: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Немного изменить код под UAP

Минимально адаптировать UX

Windows 10

Universal app

6

Page 7: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Необходимо поменять файл проекта и манифест package.appxmanifestНо средств в Visual Studio пока еще нет

…но уже есть написанный Powershell скрипт, который может это сделатьВот он - http://aka.ms/W10P-ProjectUpgradeUtility

Миграция проекта

7

Page 8: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Поддерживаемые директивы:1. WINDOWS_APP2. WINDOWS_PHONE_APP3. WINDOWS_UAP (new)

Shared project

8

Page 9: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Новые SDK

9

Page 10: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

IsApiContractPresentIsEnumNamedValuePresentIsEventPresentIsMethodPresentIsPropertyPresentIsReadOnlyPropertyPresentIsTypePresentIsWriteablePropertyPresent

Windows.Foundation.Metadata.ApiInformation

Как определить с чем работаем?

10

Page 11: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

var ns = "Windows.Phone.UI.Input.HardwareButtons";if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent(ns)){

Windows.Phone.UI.Input.HardwareButtons.BackPressed += Back_BackPressed;

Что получается в итоге?

11

Page 12: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

SplitView

Page 13: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Your Windows App

SplitView

13

Page 14: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

<SplitView>

<SplitView.Pane>

<StackPanel>

<RadioButton />

<RadioButton />

</StackPanel>

</SplitView.Pane>

</SplitView>

SplitView.Pane

14

Page 15: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

<SplitView>

<SplitView.Pane />

<SplitView.Content>

<Frame/>

</SplitView.Content>

</SplitView>

SplitView.Content

15

Page 16: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

SplitView.PaneDisplayMode

16

Page 17: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Windows XAML layout controls

Grid Stack Panel Canvas Scroll

Viewer Border View Box Wrap Grid Relative Panel

Relative Panel это XAML контрол. Контент располагается на основе отношения между

детьми.

RelativePanel

17

Page 18: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

<RelativePanel>

<Rectangle x:Name="BlueRect" Height="100" Width=“200" Fill="Blue" />

<Rectangle x:Name="RedRect" Height="100" Width="100" Fill="Red"

RelativePanel.RightOf="BlueRect"RelativePanel.AlignVerticalCenterWith="BlueRect" />

</RelativePanel>

RelativePanel

18

Page 19: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

<RelativePanel>

<Rectangle x:Name="BlueRect" Height="100" Width=“200" Fill="Blue" />

<Rectangle x:Name="RedRect" Height="100" Width="100" Fill="Red"

RelativePanel.Below="BlueRect"RelativePanel.AlignRightWith="BlueRect" />

</RelativePanel>

RelativePanel

19

Page 20: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

<VisualState x:Name="LandscapeState"><VisualState.Setters>

<Setter Target="RedRectangle.(RelativePanel.AlignHorizontalCenterWith)"

Value="BlueRect" /><Setter Target="RedRectangle.(RelativePanel.Right)"

Value="BlueRectangle" /></VisualState.Setters>

</VisualState><VisualState x:Name="PortraitState">

<VisualState.Setters><Setter Target="RedRectangle.

(RelativePanel.AlignVerticalCenterWith)"Value="BlueRect" />

<Setter Target="RedRectangle.(RelativePanel.Below)" Value="BlueRectangle" />

</VisualState.Setters></VisualState>

Visual State Manager

20

Page 21: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

<VisualState x:Name="wideState">      <VisualState.Setters>             <Setter Target="myPanel.Orientation" Value="Horizontal" />      </VisualState.Setters>      <VisualState.StateTriggers>             <AdaptiveTrigger MinWindowWidth="600"/>      </VisualState.StateTriggers></VisualState>

Adaptive trigger

21

Page 22: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Depth

OffsetYOffsetX

TranslateZ+

TranslateZ-

Transform3d

22

Page 23: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

<Grid Width="300" Height="200">

    <Grid.Transform3D>         <PerspectiveTransform3D OffsetX="-150" OffsetY="-100" Depth="1000" />     </Grid.Transform3D>

    <Grid Background="Red">         <Grid.Transform3D>             <CompositeTransform3D RotationY="30" TranslateZ="1"/>         </Grid.Transform3D>     </Grid>

    <Grid Background="Blue">     <Grid.Transform3D>          <CompositeTransform3D RotationX="-30" TranslateZ="-1"/>     </Grid.Transform3D>     </Grid>

</Grid>

Transform3d

23

Page 24: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Проекция на плоскости

24

Page 25: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Перспектива и параллакс

25

Page 26: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Отправить токен файла

Запустить *определенное* прил.

App Services

Дождаться результатов запуска

Взаимодействие между приложениями

26

Page 27: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Запуск определенного приложения

var options = new LauncherOptions();options.TargetApplicationPackageFamilyName = "24919.InstapaperIt";

var launchUri = new Uri("instapaper:?AddUrl=http%3A%2F%2Fbing.com");await Launcher.LaunchUriAsync(launchUri, options);

var queryUri = new Uri("instapaper:");await Launcher.QueryUriSupportAsync(queryUri, LaunchUriType.LaunchUri);

27

Page 28: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Хранилище для «шаринга»

var options = new LauncherOptions();options.TargetApplicationPackageFamilyName = "24919.InstapaperIt";

var token = SharedStorageAccessManager.AddFile (gpxFile);

ValueSet inputData = new ValueSet();inputData.Add("Token", token);

var launchUri = new Uri("instapaper:?AddUrl=http%3A%2F%2Fbing.com");await Launcher.LaunchUriAsync(launchUri, options, inputData);

28

Page 29: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

// первое приложениеvar options = new LauncherOptions();options.TargetApplicationPackageFamilyName = "24919.Instap";var launchUri = new Uri("instapaper:?AddUrl=http%3A%2F%2Fbing.com");await Launcher.LaunchUriForResultsAsync(launchUri, options, data);

// второе приложениеvar resultData = new ValueSet();resultData.Add("Result", value);operation.ProtocolForResultsOperation.ReportCompleted(resultData);

Получение ответа

29

Page 30: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

<Package> <Extensions>

<Extension Category="windows.publisherCacheFolder"> <PublisherCacheFolder> <Folder Name="Folder1"> </PublisherCacheFolder> </Extension>

</Extensions></Package>

Общая папка для одного автора

30

Page 31: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Доступ к папке “fonts”

Windows.Storage.ApplicationData.Current .GetPublisherCacheFolder("fonts");

Очистить общую папку

Windows.Storage.ApplicationData.Current .ClearPublisherCacheFolderAsync();

Общая папка для одного автора

31

Page 32: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Action center

32

Page 33: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Action center

- Максимум 20 уведомлений на приложение;

- Можно удалять одно или несколько уведомлений;

- Ставить «срок годности» уведомлениям;- Заменять уведомления другими;- Задавать уведомления св-ва Group или

Tag;- Отлавливать изменения в action center

при помощи специально триггера. Реализуется через BackgroundTask.

….. 33

Page 34: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

• Карты (новый общий контрол)• АПИ батареи• CalendarPicker• LaunchFolder• InkCanvas• App Services• Распознавание речи

Еще новенького

34

Page 35: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?

Выводы

Page 36: Uneta 17.04.15 Bondarenko - What's NEW in Windows 10 SDK?