Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Windows 8 dla programistów Bartłomiej Zass Microsoft.

Podobne prezentacje


Prezentacja na temat: "Windows 8 dla programistów Bartłomiej Zass Microsoft."— Zapis prezentacji:

1 Windows 8 dla programistów Bartłomiej Zass bzass@microsoft.com Microsoft

2 Plan prezentacji ► Wprowadzenie do Windows 8 i Modern UI ► Platforma deweloperska ► Wybrane zagadnienia związane z integracją z systemem

3 Zbudowany od podstaw Nowy ekran Start Dotyk, klawiatura i mysz Znany tryb Desktop Windows Store Połączony z Chmurą Szeroki zakres urządzeń Windows „reimagined”

4 Sprzęt

5

6

7 demo Windows 8

8 Dystrybucja aplikacji Windows Store 70:30 lub 80:20 Sideloading Windows 8 Enterprise + domena Windows 8 Pro / Windows RT + sideloading activation key

9 Platforma Windows 8 Windows Store Apps HTML JavaScript C C++ C# VB Desktop Apps Win32.NET / SL Internet Explorer Communication & Data Application Model Devices & Printing WinRT APIs Graphics & Media System Services JavaScript (Chakra) C C++ C# VB XAMLHTML / CSS View Model Controller Windows Core OS Services Core

10 WinRT API z bliska Fundamentals Application ServicesThreading/TimersMemory ManagementAuthenticationCryptographyGlobalization Devices GeolocationPortableSensorsNFC User Interface SVGTilesInputAccessibilityPrinting HTML5/CSSXAMLDirectXControlsData Binding Communications & Data Memory Management XMLNetworkingSMS NotificationsStreams ContractsLocal & Cloud StorageWeb Media PlaybackCapturePlayToVisual Effects

11 Wywoływanie kodu natywnego z C#

12 ...a w Windows 8

13 ImageEncodingProperties^ imageProperties = ref new ImageEncodingProperties(); imageProperties->Subtype = „JPEG”; imageProperties->Width = 320; imageProperties->Height = 240; auto opCapturePhoto = m_mediaCaptureMgr->CapturePhotoToStorageFileAsync(imageProperties, this->m_photoStorageFile); ImageEncodingProperties imageProperties = new ImageEncodingProperties(); imageProperties.Subtype = „JPEG”; imageProperties.Width = 320; imageProperties.Height = 240; await mediaCaptureMgr.CapturePhotoToStorageFileAsync(imageProperties, photoStorageFile); var photoProperties = new Windows.Media.MediaProperties.ImageEncodingProperties(); photoProperties.subtype = „JPEG”; photoProperties.width = 320; photoProperties.height = 240; mediaCaptureMgr.capturePhotoToStorageFileAsync(photoProperties, photoStorage).then(… C++ C# JavaScript

14 demo Hello, Windows 8!

15  Interfejs ma być „Fast & Fluid”  Wszystkie API trwające >50 ms muszą być asynchroniczne  API bazują na Task Asynchroniczność var data = DownloadData(...); ProcessData(data); DownloadDataAsync ProcessData DownloadData

16 private void DownloadPage() { WebClient client = new WebClient(); client.DownloadStringCompleted += (o, e) => { if (e.Error == null) { WebClient client2 = new WebClient(); client2.DownloadStringCompleted += (o, e) => { if (e.Error == null) {... } }; client2.DownloadStringAsync(new Uri("http://www.microsoft.com")); } }; client.DownloadStringAsync(new Uri("http://www.bing.com")); } Asynchroniczność - trudności

17 private async void DownloadPage() { HttpClient client = new HttpClient(); string bing = await client.GetStringAsync("http://www.bing.com"); string ms = await client.GetStringAsync("http://www.microsoft.com"); naszTextbox.Text = ms; } Asynchroniczność w Windows 8 – C#

18 demo Async i kamera

19 Dostępne kontrakty SettingsSearch App to App picking Share PlayTo

20 demo Integracja z systemem

21 PLM - diagram running suspendednot running activatingsuspending resuming terminating

22  Background Audio  Odtwarzanie muzyki w tle  Background Transfer  Upload / download danych w tle  Background Task  Nasza własna logika  Wywoływane pod określonymi warunkami Praca w tle

23 Execution = Trigger + [Condition] TriggerCondition InternetAvailable, InternetNotAvailable, SessionConnected, SessionDisconnected, UserNotPresent, UserPresent SystemEventTrigger ControlChannelReset # InternetAvailable LockScreenApplicationAdded/Removed NetworkStateChange OnlineIdConnectedStateChange ServicingComplete SessionConnected/Disconnected # SmsReceived TimeZoneChange UserAway/UserPresent # ControlChannelTrigger # (**) TimeTrigger # PushNotificationTrigger # (**) MaintenanceTrigger # wymaga lock permission **może być in-proc (nie BackgroundTaskHost.exe)

24 Live Tiles – wrażenie aktywności Dostarczają informacji, kiedy aplikacja jest wyłączona Wrażenie, że aplikacja działa w tle i zaproszenie do powrotu Dwa mechanizmy do aktualizacji Lokalne API Notyfikacje PUSH

25 Komunikaty Toast Podobna struktura do kafelków (oparta o szablony) Różne możliwości wizualne

26 Push Notifications 1

27 Notyfikacje Push 4 typy komunikatów Tile Badge Toast Raw Azure Mobile Services

28 demo Notyfikacje Push i Azure Mobile Services

29 Podsumowanie Aplikacje Windows Store Dla Windows 8 i Windows RT (ARM) Dystrybucja przez Windows Store Sideloading (aplikacje enterprise) Wiesz, jak je pisać XAML + C# C++ i XAML / DirectX HTML 5 i JavaScript Proste sposoby integracji z systemem

30 Zasoby Główna strona dla programistów Windows 8, Windows Store http://dev.windows.com http://dev.windows.com Ogromna baza przykładów http://code.msdn.microsoft.com/windowsapps/ http://code.msdn.microsoft.com/windowsapps/ Windows 8 Camp in a Box – HOL, dema, prezentacje http://www.microsoft.com/en-us/download/details.aspx?id=29854 http://www.microsoft.com/en-us/download/details.aspx?id=29854 Nagrania sesji z konferencji Build http://www.buildwindows.com/ http://www.buildwindows.com/


Pobierz ppt "Windows 8 dla programistów Bartłomiej Zass Microsoft."

Podobne prezentacje


Reklamy Google