Electronic Joint Business

Solution for E-Business

metro

IE 10 开发者指南之文档对象模型

Windows 开发者预览版中的 IE10 或者 Metro 风格应用包含了许多新的文档对象模型的特性,包括:

  • 高级点击测试API — Advanced Hit Testing APIs
  • CSSOM 浮点值支持 — CSSOMFloating Point Value Support
  • 媒体查询监听器 — Media Query Listeners
  • 触摸和姿态 DOM 事件 — Pointer and Gesture DOM Events
  • 注意:这些特性在 IE10 或使用 HTML 的 Metro 风格应用都一样能工作。

    高级点击测试API
    IE10 和 Metro 风格应用中的文档对象模型 (DOM)都支持 elementFromPoint 方法,该方法返回某个视区(viewport)中位于坐标(X,Y)处的元素。这个方法对单一元素仍然有效,比如说点击页面上的某个图片。但是,对于游戏、图形编辑器之类使用多个图层的应用,点击屏幕,是无法获得相交于该点的所有东西的。

    IE10 引入了 msElementsFromPoint 和 msElementsFromRect 方法,这两个方法可以获得所有相交于指定的(X,Y)坐标或者矩形区域的所有元素,并返回节点列表。

    msElementsFromPoint 方法
    msElementsFromPoint 方法以某点的坐标 (X,Y)为参数,返回所有相交于该点的元素节点集合。. 该列表按 Z 顺序排序,这意味着第一个元素就是最顶层的元素。

    >>> 阅读全文

     

    , , , ,

    运用 SkyDrive 将 “Windows 8” 应用扩展到云端

    尽管现在一个人都拥有多台数码设备已经是大势所趋,但是很多人还是宁愿将所有的重要文件存储在某台 PC 或者存储设备上,并不会用其他设备来存取这些文件。这些文件与某个“位置”相关联,如某台台式机、笔记本或者某个U盘。如果没有访问这些“位置”的权限,你就无法存取你的文件或者照片。不仅仅是存取这些文件相当困难(有时候甚至是不可能),与不同网络的人共享这些文件也是同样棘手。

    现在云技术的发展,让随时存取文件变成了可能(而且容易)!文件被保存在某个位置,位于任何位置的任何设备都可以通过互联网来访问它们。由于只在云端保存单一的文件拷贝,照片分享或者实时文档协作变得更加容易。尽管云尚未成为访问内容的主流用法。

    在 Win8 Build大会上,Chris Jones谈到每个 Win8 的客户如何使用 SkyDrive 帐号: 每个人都有自己的云,可以用来保存、访问和分享个人的重要文件。在大会上还有两项议题涉及如何通过 Live Connect 和 Live SDK 来为 Windows 8 的应用增添云的功能。将这两项技术集合使用, Metro 风格应用就可以利用 Live 云通过 Windows Live ID 实现单点登录,在用户的许可的情况下,访问保存在 SkyDrive 上诸如文档、照片和视频等个人数据。

    如果你正考虑为 Win8 开发 Metro 风格应用,本篇文章将演示如何启用单点登录并访问 SkyDrive 上的用户数据,从而让你的 Metro 风格应用更个性化 — 当然是在用户同意的情况下。

    让应用连接到 Live 云
    作为开发者,当你着手准备创建世界上下一个伟大的应用时,无论在什么平台上,都会重复遇到两类问题:

    >>> 阅读全文

     

    ,

    Windows Runtime中的异步模式

    文章评价: 原文
    Windows Runtime 提供了一套一致的模式来创建和管理异步操作。

    下面的内容介绍了 Windows Runtime 中的异步编程(asynchronous programming),例子包括了 Javascript,C#,Visual Basic 和 Visual C++。

    异步编程的好处
    由于从 Windows Runtime 的异步编程模型中获益,Metro风格应用总是能对用户的输入及时做出响应。你可以运行费时的任务而不需阻塞 UI 线程,你可以在稍后才获得任务返回的结果。你可以取消任务,也可以当任务在后台运行时获得进度通知。你无需显示地管理线程或者直接和底层的并发(concurrence)实现打交道。

    Windows Runtime 的许多特性以异步函数的形式呈现,比如 MediaCapture 和 StorageFile。作为约定,异步函数的名称以“Async”结尾,表明其执行可能发生在调用返回之后。

    在 Metro 风格应用中使用异步API,代码可用一致的方法使用非阻塞调用。如果在用户的 API 里实现了异步模式,调用者就可以理解并按预知的形式使用你的代码。Windows Runtime 以贴近每种语言自身的方式提供了异步模式。见下表:

    >>> 阅读全文

     

    , , , , , , ,

    IE 10 开发者指南之索引数据库

    Internet Explorer 10 支持索引数据库API(IndexedDB), 来存储结构化数据。不同于cookie 和 DOM 存储,IndexedDB 提供了组合(group)、 遍历、搜索、过滤 Javascript 对象的功能。

    IndexedDB API 由多个对象组成,每个都为特定的任务而设计:

    • 数据被保存在对象存储(object stores)里,它是 Javascript 对象的集合,这些对象的属性包含独立的数值。
    • Javascript 对象被保存在对象存储中,也称为记录 (record),每个记录都有一个共同的属性 key path。该属性的值被称为键值(key value) 或者键(key)。键值 (Key values)用于标识对象存储里的单个记录。
    • 索引按照某一属性的值来组织对象,它返回键值的集合,通过键值可以从原来的对象存储中获得独立记录。
    • 游标 (cursor) 是值的集合。当索引定义了游标时,游标代表着索引返回的键值集合。当一个对象存储定义了游标的时候,游标代表着保存在游标中的记录集合。
    • Key Range为索引或对象存储中的记录集定义了值的范围。 Key Rang可以用来过滤游标的结果。
    • 一个请求意味着对数据库中对象采取的不同动作。例如打开数据库会产生一个请求对象,你可以为这个请求对象定义事件处理器来对请求的结果产生反应。
    • 事务管理着操作的上下文,并用于维护数据库活动的一致性。例如,你可以版本变更的事务上下文中创建对象存储。如果事务被放弃,在此事务中的所有操作都被取消。

    索引数据库 API 规范定义了两套 API: 同步 API 和异步 API。IE10 支持异步 API。因此,对数据库的操作不会马上被执行,而是让返回对象的操作在后台执行。因此,IndexedDB 是事件驱动 API,你首先创建请求,然后定义事件处理器来响应请求的成功或者失败的结果。

    很重要的一点,这些特性在 IE10 和使用 HTML 的 Metro 风格应用是一致的。

    使用请求来打开数据库
    因为索引数据库 API 规范还在发展中,大部分厂商都为自己的 IndexedDB 实现添加了一个前缀,比方说webkitIndexedDB 或者 mozIndexedDB。对 IE10 来说,则是 msIndexedDB。为了得到正确的结果,我们用一小段检测代码来访问 IndexedDB API ,如例子所示:

    >>> 阅读全文

     

    , , , , , , ,