Presentation title goes here

Similar documents
mvc

Windows XP

概述

epub83-1

Logitech Wireless Combo MK45 English

untitled

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID

AL-M200 Series

Microsoft TechEd22 Microsoft Ignite 3 5 Microsoft Ignite 1 3 Microsoft TechDays TechDays Mobile First Cloud First 1 Microsoft

2 WF 1 T I P WF WF WF WF WF WF WF WF 2.1 WF WF WF WF WF WF

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

ebook140-8

1 目 錄 1. 簡 介 一 般 甄 試 程 序 第 一 階 段 的 準 備 第 二 階 段 的 準 備 每 間 學 校 的 面 試 方 式 各 程 序 我 的 做 法 心 得 及 筆 記 結 論..

Bus Hound 5

untitled

untitled

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

untitled

Microsoft Word - 01.DOC

untitled

EJB-Programming-4-cn.doc

<ADB6ADB1C25EA8FAA6DB2D4D56432E706466>

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

untitled

基于ECO的UML模型驱动的数据库应用开发1.doc

東莞工商總會劉百樂中學

麻 省 理 工 學 院 是 在 西 元 2013 年 12 月 3 日 推 出 MIT App Inventor 2 網 站, 提 供 免 費 的 雲 端 服 務, 使 用 者 可 以 透 過 瀏 覽 器 來 開 發 Android 裝 置 應 用 程 式, 該 網 站 的 網 址 為 : http

Microsoft Word - CX VMCO 3 easy step v1.doc

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

FY.DOC

untitled

CANVIO_AEROCAST_CS_EN.indd

穨control.PDF

提问袁小兵:

06 01 action JavaScript action jquery jquery AJAX CSS jquery CSS jquery HTML CSS jquery.css() getter setter.css('backgroundcolor') jquery CSS b

untitled

IP505SM_manual_cn.doc

RUN_PC連載_10_.doc

27 :OPC 45 [4] (Automation Interface Standard), (Costom Interface Standard), OPC 2,,, VB Delphi OPC, OPC C++, OPC OPC OPC, [1] 1 OPC 1.1 OPC OPC(OLE f

ebook 145-6

國立中山大學學位論文典藏.PDF

ebook140-9

untitled

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

CH01.indd

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

<4D F736F F F696E74202D20ABD8B86DA743BAD2AED5B6E9A4CEB1C0B0CAACDBC3F6B1B9AC49A4B6B2D02D E707074>

untitled

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM

ebook 132-2

Sophos Central 快速安裝手冊

Oracle 4

RunPC2_.doc

untitled

Chapter 9: Objects and Classes

Guide to Install SATA Hard Disks

f2.eps

<4D F736F F D20312D3120D5D0B9C9CBB5C3F7CAE9A3A8C9CFBBE1B8E5A3A92E646F63>

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

1.ai

第四章-個案分析.doc

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工

ebook

Some experiences in working with Madagascar: installa7on & development Tengfei Wang, Peng Zou Tongji university

Microsoft PowerPoint - Lecture7II.ppt

coverage2.ppt

[ 13 年 12 月 06 日, 下 午 6 点 24 分 ] Intel Hosts 新 加 入 的 同 学 们, 快 去 听 听 在 线 宣 讲 会 哦, 同 时 完 成 页 面 下 方 有 奖 调 查, 就 有 资 格 参 与 大 奖 抽 取 啦! [ 13 年 12 月 06 日, 下 午

Microsoft Word - ch04三校.doc

iml88-0v C / 8W T Tube EVM - pplication Notes. IC Description The iml88 is a Three Terminal Current Controller (TTCC) for regulating the current flowi

PowerPoint Presentation

Microsoft PowerPoint - ARC110_栾跃.ppt

RUN_PC連載_8_.doc

Microsoft Word - (web)_F.1_Notes_&_Application_Form(Chi)(non-SPCCPS)_16-17.doc

BizSpark 初 创 公 司 计 划 指 南 目 录 什 么 是 BizSpark?... 1 计 划 概 述... 1 计 划 结 构 和 角 色... 1 初 创 公 司 资 格... 3 使 用 BizSpark 的 产 品 和 联 机 服 务 的 示 例 :... 3 职 责... 5

SDS 1.3

案例使用说明

Cadence SPB 15.2 VOICE Cadence SPB 15.2 PC Cadence 3 (1) CD1 1of 2 (2) CD2 2of 2 (3) CD3 Concept HDL 1of 1

第 三 四 题 要 求 考 生 首 先 在 45 秒 内 阅 读 一 段 短 文, 随 后 短 文 隐 去, 播 放 一 段 与 短 文 有 关 的 对 话 或 课 堂 演 讲 最 后, 要 求 考 生 根 据 先 前 阅 读 的 短 文 和 播 放 的 对 话 或 课 堂 演 讲 回 答 相 关

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

epub 61-2

PowerPoint プレゼンテーション

GoFlex Home UG Book.book

Office Office Office Microsoft Word Office Office Azure Office One Drive 2 app 3 : [5] 3, :, [6]; [5], ; [8], [1], ICTCLAS(Institute of Computing Tech

<4D F736F F D20CBC4B4A8D0C2CEC5CDF8B4ABC3BDA3A8BCAFCDC5A3A9B9C9B7DDD3D0CFDEB9ABCBBECAD7B4CEB9ABBFAAB7A2D0D0B9C9C6B1B2A2D4DAB4B4D2B5B0E5C9CFCAD0D5D0B9C9CBB5C3F7CAE9A3A8C9EAB1A8B8E C4EA3132D4C23232C8D5B1A8CBCDA3A92

C o n t e n t s Acceptance Allow Love Apologize Archangel Metatron Archangel Michael Ask for

Microsoft Word - ws-chp06輸入輸出notes.doc

01 市 场 需 求 和 产 品 定 位 MARKET DEMAND & PRODUCT POSITIONING 产 品 软 件 及 服 务 平 台 PRODUCT, SOFTWARE & SERVICE PLATFORM 产 品 优 势 及 市 场 竞 争 PRODUCT ADVANT

/3 CAD JPG GIS CAD GIS GIS 1 a CAD CAD CAD GIS GIS ArcGIS 9. x 10 1 b 1112 CAD GIS 1 c R2VArcscan CAD MapGIS CAD 1 d CAD U

Microsoft Office SharePoint Server MOSS Web SharePoint Web SharePoint 22 Web SharePoint Web Web SharePoint Web Web f Lists.asmx Web Web CAML f

國家圖書館典藏電子全文

Quick Start Guide

无类继承.key

《大话设计模式》第一章

CC213

csg(1_29)cs.p65

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

幻灯片 1

Microsoft Word zw

Transcription:

WAD-B305 Windows 10 新特性详解 微软中国技术顾问佘泽鹏

用户交互 应用通信 UI 媒体 Inking Background Task Adaptive Layout HTTP Live Streaming Cortana Drag & Drog Continuum Media Cast Notification & Action Center App Service Adaptive Tiles Web 平台 Windows Hello Socket Broker Lock Screen Microsoft Edge App to App Web App

应用服务 App Service

什么是 AppService? Windows 10 提供了很多 API 来跟系统交互 Windows.ApplicationModel.Contacts Windows.ApplicationModel.Email Windows.System.Launcher.LaunchUriAsync to launch settings, maps, store etc more 同时也提供了很多 API 来跟其他应用交互 Uri Associations using LaunchUriAsync File associations using LaunchFileAsync Launch for results using LaunchUriForResultsAsync AppService http://windows.microsoft.com

通过 AppService, 你的商店应用可以向其他商店应用提供服务

类似于说 设备上的 Web Service Client App A App with App Service Background Task Client App B http://windows.microsoft.com

应用场景 : 二维码扫描 Bar Code decoding App Service Image bytes in ValueSet or FileToken Decoded data http://windows.microsoft.com

应用场景 : 企业级整体解决方案 Client App A App Service Maintains Inventory cache Interact with cloud services Client App B App Service Proximity Reading Services http://windows.microsoft.com

App Services Client AppServiceConnection connection = new AppServiceConnection(); connection.appservicename = "microsoftdx-appservicesdemo"; connection.packagefamilyname = "24919ArunjeetSingh.InstapaperIt"; AppServiceConnectionStatus connectionstatus = await connection.openasync(); if (connectionstatus == AppServiceConnectionStatus.Success) { //Send data to the service var message = new ValueSet(); message.add("command", "CalcSum"); message.add("value1", Int32.Parse(Value1.Text)); message.add("value2", Int32.Parse(Value2.Text)); //Send message and wait for response AppServiceResponse response = await connection.sendmessageasync(message); if (response.status == AppServiceResponseStatus.Success) { int sum = (int)response.message["result"]; new MessageDialog("Result=" + sum).showasync(); } } else { //Drive the user to store to install the app that provides the app service } http://windows.microsoft.com

App Services Service (1/2) namespace AppServicesDemoTask { public sealed class AppServiceTask : IBackgroundTask { private static BackgroundTaskDeferral _servicedeferral; public void Run(IBackgroundTaskInstance taskinstance) { // Associate a cancellation handler with the background task. taskinstance.canceled += TaskInstance_Canceled; // Get the deferral object from the task instance _servicedeferral = taskinstance.getdeferral(); var appservice = taskinstance.triggerdetails as AppServiceTriggerDetails; if (appservice.name == "microsoftdx-appservicesdemo") { //Maybe ValidateCaller(appService.CallerPackageFamilyName)?? appservice.appserviceconnection.requestreceived += RequestReceived; } }... http://windows.microsoft.com

App Services Service (2/2) private async void RequestReceived(AppServiceConnection sender, AppServiceRequestReceivedEventArgs args) { var message = args.request.message; // This service uses a Command keyed entry for the client to invoke services from the App Service string command = message["command"] as string; switch (command) { case "DoIt": { var messagedeferral = args.getdeferral(); int value1 = (int)message["value1"];... Do some processing } } //Set a result to return to the caller var returnmessage = new ValueSet(); returnmessage.add("result", result); var responsestatus = await args.request.sendresponseasync(returnmessage); messagedeferral.complete(); break; } case "Quit": { //Service was asked to quit. Complete service deferral so platform can terminate servicedeferral.complete(); break; } http://windows.microsoft.com

声明 AppService <?xml version="1.0" encoding="utf-8"?> <Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"... > <Applications> <Application Id="App"... > <Extensions> <uap:extension Category="windows.appService" EntryPoint="AppServicesDemoTask.AppServiceTask"> <uap:appservice Name="microsoftDX-appservicesdemo" /> </uap:extension> </Extensions> </Application> </Applications> <Capabilities> <Capability Name="internetClient" /> </Capabilities> </Package> http://windows.microsoft.com

双工通信 服务器端与客户端将会保持一个双工通信的通道 客户端能够在自己的 AppServiceConnection 实例上帮上 RequestReceived 来监听处理事件实例 AppServiceConnectionStatus connectionstatus = await connection.openasync(); if (connectionstatus == AppServiceConnectionStatus.Success) { connection.requestreceived += OnRequestReceived; } 服务器端与客户端都能够收发消息 http://windows.microsoft.com

取得 PackageFamilyName 应用商店 将应用程序与应用商店关联 来设置正确的 PackageFamilyName 调试的时候可以使用 Package.Current.Id.FamilyName 来取得的值 http://windows.microsoft.com

调试 App Services 1. 在程序中设置断点 2. 在项目勾选 Do not launch but debug my code when it starts 3. 运行服务器端应用 什么事情都没有发生 4. 运行客户端应用连接应用服务 5. 调试器开始工作, 触发断点 http://windows.microsoft.com

AppService 提供了应用间通信的另外一种方法

AppService DEMO http://windows.microsoft.com

App Service 生命周期 服务是有需要才激活后台任务是通过 AppServiceTrigger 来激活的 客户端可以设置或者发送消息来结束服务端的服务 一旦激活的客户端被挂起, 那么相应的应用服务就会被系统结束 资源不足的时候可能会调用失败或者服务异常客户端在连接的时候会收到 AppServiceConnectionStatus.ResourcesNotAvailable 的错误在发送消息的话会收到 ppserviceresponsestatus.resourcelimitsexceeded 的错误 http://windows.microsoft.com

能不能限制别的应用访问我的 AppService? 建议在 AppService 之上自行建立鉴权机制 最简单的可以通过将应用的 PackageFamilyName 加入白名单, 非白名单的应用无法访问 PackageFamilyName of caller is passed with every request 普通的推荐做法是在连接建立之后基于 ValueSet 建立起更加复杂的调用者鉴权 Whitelist could be followed by explicit X.509 certificate exchange http://windows.microsoft.com

版本更新 建议参考 Web REST API 的版本更新模型 If you need to make a breaking change to an App Service endpoint, you must expose a new endpoint and provide backward compatibility with the old one http://windows.microsoft.com

全新的电子墨水平台

书写是非常人性化的一种方式 实时 富于表现力 个性化 http://windows.microsoft.com

As easy as pen & paper with the power of a computer

电子墨水平台的作用 电子笔 作为 Inking 数据存储 添加元数据 ( 比如用于搜索 ) 手指 转换 ( 可以转成图形或者文字 ) http://windows.microsoft.com

http://windows.microsoft.com

http://windows.microsoft.com

http://windows.microsoft.com

http://windows.microsoft.com

What about this? As easy as pen & paper, but as powerful as a computer. J-K Copy Paste Convert to text http://windows.microsoft.com

What about this? As easy as pen & paper, but as powerful as a computer. J-K Copy Paste Convert to text http://windows.microsoft.com

http://windows.microsoft.com

开始使用 DirectInk InkCanvas InkPresenter http://windows.microsoft.com

InkCanvas 元素 <Grid> </Grid> <InkCanvas x:name="inkcanvas" /> http://windows.microsoft.com

利用 InkPresenter 做更多的事情 配置输入类型 ( 支持 Pen Touch Mouse) 改变渲染的属性 管理 Ink 笔画数据 管理更多自定义的选项 InkCanvas InkPresenter http://windows.microsoft.com

现有的属性以及功能 http://windows.microsoft.com

InkToolbar (Beta) Add inking tools UI to your app <InkCanvas Name="myCanvas" /> <inking:inktoolbar TargetInkCanvas="{x:Bind mycanvas}" /> Available through the Visual Studio Gallery http://aka.ms/inktoolbar http://windows.microsoft.com

Windows 10 上的全新电子墨水平台 DEMO http://windows.microsoft.com

Advanced Input Processing 自定义电子墨水的渲染 自定义渲染模式的墨迹的删除和选择 独立输入处理 多点电子墨水处理 InkCanvas InkPresenter http://windows.microsoft.com

吐司与磁贴

吐司 通知 (Toast)

ScheduledToastNotification

// build toast var template = ToastTemplateType.ToastText01; var xml = ToastNotificationManager.GetTemplateContent(template); xml.documentelement.setattribute("launch", "Args"); // set value var text = xml.createtextnode(content); var elements = xml.getelementsbytagname("text"); elements[0].appendchild(text); // show toast var toast = new ToastNotification(xml); var notifier = ToastNotificationManager.CreateToastNotifier(); notifier.show(toast);

// build toast // show toast var notifier = ToastNotificationManager.CreateToastNotifier(); notifier.show(toast);

if (args.kind == ActivationKind.Launch && args.arguments!= null && args.tileid!= "App") { /* handle toast */ } if (args.kind == ActivationKind.Launch && args.arguments == null && args.tileid!= "App") { /* handle primary tile (or toast) */ }

吐司怎么 吐 呢

<toast> <visual> <binding template="toastgeneric"> <image placement="applogooverride" src="torrance Shum.png" /> <text>torrance Shum</text> <text>media content attached.</text> <image placement="inline" src="attachment.png" /> <text>hey check out this photo. Isn t it awesome?</text> </binding> </visual> </toast>

<toast>... <actions> <input title= Snooze for id="snoozetime" type="selections" defaultselection= 5"> <selection id="5" content="5 minutes" /> <selection id="10" content="10 minutes" /> <selection id="20" content="20 minutes" /> </input>... </actions> </toast>

<toast>... <actions>... <action activationtype="system" arguments="snooze" hint-inputid="snoozetime" content=""/> <action activationtype="system" arguments="dismiss" content=""/> </actions> </actions> </toast>

<toast scenario= alarm...> <visual>... </visual> <actions> <action activationtype='system' arguments='snooze' content='' /> <action activationtype='system' arguments='dismiss' content=''/> </actions> </toast>

<toast>... <image placement="applogooverride" src="logo.png" />... <actions>... <action activationtype="background" arguments="dismiss" imageuri="send.png" hint-inputid="1" /> </actions> </toast>

<action activationtype="foreground" /> Tap button App launches Retrieve Args Take actions <action activationtype="background" /> Tap button Task launches Retrieve Args Take actions <action activationtype="protocol" /> Tap button Protocol activates Web / app <action activationtype="system" /> Tap button System handles

可交互吐司消息

动态磁贴

TileSmall TileMedium TileWide TileLarge Basic State Semi-Live State Live State

Basic State Semi-Live State Live State Plate App Logo Short Name Plate App Logo Badge Short Name Plate Content App Icon Badge Short Name Short Name App Logo Plate Badge Short Name App Logo Plate Badge App Icon Short Name Content Plate

// 创建 badge var type = BadgeTemplateType.BadgeNumber; var xml = BadgeUpdateManager.GetTemplateContent(type); // 更新元素 var elements = xml.getelementsbytagname("badge"); var element = elements[0] as Windows.Data.Xml.Dom.XmlElement; element.setattribute("value", "47"); // 发送更新 var updator = BadgeUpdateManager.CreateBadgeUpdaterForApplication(); var notification = new BadgeNotification(xml); updator.update(notification);

磁贴模板

var tileid = "DetailsTile"; var pinned = SecondaryTile.Exists(tileId); if (!pinned) { var tile = new SecondaryTile(tileId) { DisplayName = "Record details", Arguments = "123" }; // extra details } var success = await tile.requestcreateasync();

自适应磁贴

<tile> <visual> <binding template="tilemedium"> <group> <subgroup> <text hint-style="subtitle">john Doe</text> <text hint-style="subtle">photos from our trip</text> <text hint-style="subtle">thought you might </text> </subgroup> </group> <group> <subgroup> </subgroup> </group> </binding> </visual> Min. Med Size </tile> Max Med. Size

<tile> <visual> <binding template="tilemedium"> <image source="assets\image.png" placement="background" /> <text hint-wrap="true"> Microsoft HoloLens: A Sensational Vision of the PC s Future </text> </binding> </visual> </tile> Min. Med Size Max Med. Size

binding binding

binding text 9:50 AM, Wednesday text text 263 Grove St, San Francisco, CA 94102 text binding

binding group subgroup image subgroup subgroup text 9:50 AM, Wednesday text 263 Grove St, San Francisco, CA 94102 subgroup group binding

binding group subgroup image subgroup subgroup text 9:50 AM, Wednesday text text 263 Grove St, San Francisco, CA 94102 text subgroup group image binding

Adaptive Templates

自定义磁贴

用户交互 应用通信 UI 媒体 Inking Background Task Adaptive Layout HTTP Live Streaming Cortana Drag & Drog Continuum Media Cast Notification & Action Center App Service Adaptive Tiles Web 平台 Windows Hello Socket Broker Lock Screen Microsoft Edge App to App Web App

课后提醒

MSDN 论坛帮您解决开发中遇到的问题是我们最大的心愿 1 2 3 Windows10 通用应用及 Web App 技术讨论区 http://aka.ms/win10appde v Windows10 应用商店讨论区 http://aka.ms/win10appstore 微软云 Azure 开发技术讨论区 http://aka.ms/azurediscussion

https://channel9.msdn.com/events/ignite/ Microsoft-Ignite-China-2015 http://aka.ms/ignitechina2015