`
airfans
  • 浏览: 121345 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Adobe AIR 2.5 中的HTML, HTML5, CSS 和JavaScript 新特性 [译] 下

阅读更多

Adobe AIR 2.5 中的HTML, HTML5, CSS JavaScript 新特性 下

原文:What's new about HTML, HTML5, CSS, and JavaScript in AIR 2.5?

 

不支持的WebKit 特性

AIR 2.5 不支持Safari 4.0.3 WebKit版本包含的一些HTMLCSS JavaScript功能。

下面列出了这些功能,以及在AIR 中建议的解决方案。

音频/视频HTML5的标签

HTML5万众期待的功能之一是用<audio><video>标签来播放媒体内容。这些标签也可以通过JavaScript API来实现。然而,该规范还没有最后定稿和支持的格式标准。此外,支持这些标签的浏览器的编解码器各不相同。

<audio><video>标签最常用的场景是当系统不支持Flash Player时用来代替Flash player 展现媒体资源。然而,AIR 有自己的Flash Player版本。对于基于Flash的定制的视频/音频播放器Adobe支持两种方式来播放视频。

l         FAVideo (Flash-Ajax 视频组件):在Adobe Open Source网站上可以找到。这是一个基于Flex的视频播放器,被包装在AJAX容器中。

l         AIR.Video对象: 属于rutime 的基本类,用来支持视频。它可以添加到stage中,不论其周围的html 内容如何变化,其位置必须明确设置。

不支持的CSS功能

下面的CSS特性,AIR 2.5均不支持。

1)       -WebKit-background-clip:text –WebKit-background-mask-clip:text

WebKit的推出两个新的CSS声明来控制的背景和Mask滤镜的行为,分别是-WebKit-background-clip-WebKit-background-mask-clip.WebKitSafari版本中,两个声明都允许使用text,content,borderpadding属性。然而,CAIRo库在滤镜操作中不支持使用文本作为滤镜,因此 AIR 2.5目前仅支持content,borderpadding属性。这个功能计划在未来的版本中支持。

2)       样式化html 控件

虽然AIR CSS属性有丰富支持,但是当使用纯css样式(不使用JavaScript做元素替换)来修饰html 控件时有一些问题.概括地说,这些限制影响下列控件:

<select> (下拉框):更改扩展列表的背景色不起作用,也不会改变下拉框中每个条目的字体和颜色。

<input type=”checkbox” /><input type=”radio”>: 大多数的CSS属性都不能改变这些控件的外观。但是,这种行为与Safari中的行为一致。

3)       媒体查询:

20099月,媒体CSS3中的查询功能,是W3C推荐的候选。媒体查询是对媒体类型功能的增强。查询可以包括(但不限于),如宽度,高度和方向属性。媒体查询能在不更改html内容本身的前提下改变文档的外观。

AIR 2.5不支持媒体查询。

4)       SVG

SVG近来得到了越来越多的关注。当前WebKit版本支持,但是AIR不支持。

不支持该特性的主要原因是考虑AIR runtime 的大小(加入它会增加百分之十五至二十运行时的大小)。最初,主要痛点是AIR runtime的大小,与本地操作系统和API集成,支持<canvas>标签,支持新的CSS属性和JavaScript性能。所有这些优先事项与具有兴趣降低趋势的SVG图形功能相比,导致当前的AIR runtime 不支持SVG

然而,基于HTML5 canvas 的富JavaScript应用的重新兴起以及快速发展的JavaScript引擎又增加了对矢量图形画图的需求数量。因此,可能在AIR下一版本中考虑支持SVG

5)       Web sockets

WebSockets协议允许Web应用程序能够处理与服务器进程的直接双向通信。该协议的主要目的是用WebSockets消除异步网络I/O中过度使用XHR,并允许用web应用作为客户端建立更丰富,更复杂的网络通信。

然而,在AIR 2.5中包含的网络API能够构建比Web sockets更灵活的使用方案。新的网络API支持UDP套接字和安全的TCP连接,以及和HTTPHTTPS相关的很多的协议(包括RTMPRTMFP)

6)       Web workers

Web WorkersWEB前端网页上的脚本提供了一种能在后台进程中运行的方法。可以通过消息传递的机制与父页面进行通信,而不需要访问父页面或者DOM对象。

目前AIR 不支持此功能,Adobe正在考虑该功能能够基于AIR API

7)       客户端数据库

AIR 在第一次版本发布时就支持创建和使用SQLite来存储客户端数据,AIR 1.5中增加了对事务的支持,而AIR 2强化了事务保存点。

HTML5支持一个客户端的轻量级的关系数据库,并且公布了 -SQL API用于数据存取。然而,目前的实现有限制,有些用户代理限制了在客户端数据库中存储的数据数量以限制或防止拒绝服务攻击。

目前,HTML5的客户端数据库的API被禁用,因为AIR对于原生数据库的支持已经超出了HTML5提供的功能集。

8)       离线缓存

HTML5中另一个与客户端存储数据相关的功能是应用程序缓存。使用应用程序缓存,应用程序可以指定哪些资源应该被缓存在客户端,那些资源访问始终从网络,以便在用户没有连接的情况下也能与Web应用程序和文件交互。

默认情况下AIR应用程序的所有的文件和资源驻留在用户的本地硬盘。然而,需要网络连接的应用程序可以使用networkChange事件和ServiceMonitor类来确定网络服务是否可用。当应用程序离线运行时,可以通过flash.data*类使用本地文件系统或者数据库内缓存的资源。

9)       窗口消息

HTML5支持对窗口对象调用PostMessage()方法。这使得任何一个窗口可以广播文本消息和任何其他窗口订阅这些消息,从而达到页面之间的安全跨域通信。

当前AIR不支持这个功能,但AIR提供了跨域通信的安全机制。

10)   其他HTML差异

传统上,可以通过调用document.print()函数实现HTML的打印。然而调用这个函数后,Web应用程序开发人员无法控制打印的实际效果(包括但不限于是否进行彩色打印,纸张尺寸规格,份数,等等)。一些对整体样式的控制可以通过CSS媒体类型实现,但一切仍然是由浏览器和用户设置决定的。

AIR 2.5中,document.print()函数是被禁用的,其使用PrintJob来控制打印过程。使用PrintJob API允许对可视化的,动态的,或者是off-screen的内容渲染,而且能弹出系统打印对话框,并读取用户的打印机设置包括页面宽度,高度,方向和颜色。

11)   符合标准

最新的Adobe AIRACID3 compliance测试中获得91/100 的分数。Safari的分数是100/100造成评分差别的主要原因是上文提到的各点。主要是缺乏对SVG的支持(丢掉6),媒体查询,data:URLs 安全限制。最后一分,是因为AIR不支持浏览器默认的保存历史的功能,因为Adobe AIR不是浏览器。

AIR 2.5功能一览

23 总结了Adobe AIRSafari 4.0.3 相对应的特征集

CSS 特性

AIR 2.5

CSS3 –WebKit 选择器

支持,除文本裁剪

Web 字体(@font-face)

支持

Transforms 2D

支持

Transforms 3D

不支持

Transitions

支持

Animations

支持

Reflections

支持

滤镜

支持

样式化滚动条

支持

Gradients

支持

Zoom

支持

原生 CSS 查询选择器

支持

CSS 媒体设备查询

不支持

2 AIR 2支持的CSS 特性

HTML 5 特征

AIR 2.5

快速JavaScript 引擎

支持 WebKit Squirrelfish Extreme JavaScript 引擎

Canvas

支持

SVG

不支持

HTML5 段标签(header,nav,article)

支持

Video/Audio 标签

不支持

Web workers

不支持

客户端数据库

不支持, AIR 有自己的客户端数据库,并且公布了API

离线检测和缓存

AIR 为离线设计并且提供了API来检测网络状态的变化

跨域的XMLHttpRequest请求

不支持,但是应用程序沙箱的XHR可以访问任何域

跨页面的消息处理

不支持。PostMessage()AIR 中不支持

Web 存储

不支持,AIR支持访问文件系统,共享的Flash 对象,加密的本地存储和本地SQLite 数据库

Web sockets

不支持,AIR 有自己的Socket API

Server-sent Dom 事件

不支持

Geolocation

不支持

拖拽支持

支持,AIR 有自己的拖拽API来支持更深入得桌面操作

Forms

不支持

历史状态 返回 按钮

HTMLLoader 提供自定义的历史堆栈

Widgets

AIR 的设计类似Widgets定义

3  AIR 2 中支持的HTML5 功能

本文概括了AIR 2.5HTML部分的相关特性。由于该HTML引擎基于Safari 4.0.3中的WebKit,因此它们在HTML/JavaScriptCSS渲染方面有很多共同的特性。那些WebKit/Safari拥有而AIR没有的功能,通常在AIR中都能找到可用的解决方案,而且AIR能够提供更深入更灵活的API,比如本地存储、网络和桌面交互。性能方面也有了很大的提高,几乎接近并且有时能和Safari相一致。

分享到:
评论

相关推荐

    Adobe AIR v32.0.0.125.zip

    Adobe Integrated Runtime (AIR) 是一个跨操作系统的运行时,利用现有的Web开发技术(Flash,Flex,HTML,JavaScript,Ajax)来构建富Internet应用程序并部署为桌面应用程序。AIR 支持现有的Web技术如Flash,Flex,HTML,...

    Aptana 非常不错的Javascript 编辑开发工具

    *Adobe AIR与iPhone开发工具 其主页上还提供如何使用该开发工具的视频。 Aptana 下载主页://www.aptana.com/ 带有语法提示,支持WEB标准 一款非常优秀的Javascript(AJAX) 开发工具:Aptana。应为它实在太棒了...

    AdobeAirAdobeAIRInstaller part2

    ActionScript HTML / JavaScript / CSS / Ajax PDF 可嵌入任何应用程序中 作为结果,AIR 应用程序可以是: &lt;br&gt; 基于Flash 或 Flex:应用程序根内容(理解为容器)为Flash/Flex (SWF) 基于...

    Aptana_Studio_3.1.2(第3个包,共3个包)

    Aptana Studio 是一款强大的... ● 2、Adobe AIR开发环境  ● 3、Apple iPhone开发环境  ● 4、Ruby on Rails开发环境  ● 5、PHP开发环境  ● 6、JavaScript调试器  可以说是Web2.0最全面,最强大的开发工具了!

    Aptana.Studio.Professional.v1.2.7.024774.Incl.KeyMaker.and.Patch-DVT.part01.rar

    Aptana是一个基于Eclipse的集成开发环境,其最广为人知的是它非常强悍的JavaScript编辑器和调试器。去年Aptana吸收了Radrails项目,添加了非常强大的Ruby on Rails支持。但是Aptana前进的脚本并未停止。随着苹果公司...

    Aptana IDE 下载(官网版本)

    如今Aptana Studio 1.0支持如下几大方面的开发功能:1、AJAX开发环境 HTML/JavaScript/CSS编辑器 prototype/dojo等常见AJAX类库集成和提示 JSON编辑器 2、Adobe AIR开发环境 3、Apple iPhone开发环境 4、Ruby on ...

    Aptana_Studio_3.1.2(此为第2个包,共3个包)

    Aptana Studio 是一款强大的... ● 2、Adobe AIR开发环境  ● 3、Apple iPhone开发环境  ● 4、Ruby on Rails开发环境  ● 5、PHP开发环境  ● 6、JavaScript调试器  可以说是Web2.0最全面,最强大的开发工具了!

    Aptana_Studio_3.1.2(此为第1个包,共3个包)

    Aptana Studio 是一款强大的... ● 2、Adobe AIR开发环境  ● 3、Apple iPhone开发环境  ● 4、Ruby on Rails开发环境  ● 5、PHP开发环境  ● 6、JavaScript调试器  可以说是Web2.0最全面,最强大的开发工具了!

    Aptana_Studio_Setup_2.0.5

    如今Aptana Studio 1.0支持如下几大方面的开发功能: ● 1、AJAX开发环境 ● × HTML/JavaScript/CSS编辑器 ● × prototype/dojo等常见AJAX类库集成和提示 ● × JSON编辑器 ● 2、Adobe AIR开发环境 ● 3、Apple ...

    js中的值类型和引用类型小结 文字说明与实例

    甚至我还要告诉你,你将可以用JavaScript开发桌面软件,这得益于Adobe AIR的另外一种开发模式,即用HTML+CSS+JavaScript开发AIR。 二、值类型和引用类型话题 随着部分有大型面向对象语言基础朋友的介入

    log4Net详解(共2讲)

    如从2.02版开始为Adobe的RIA技术AIR提供支持,并且为GWT开发了Ext GWT2.0,这些都体现了ExtJs的强大活力和生命力。 在可预见的未来,ExtJs将会甩开对手,大踏步向前。 ExtJs的前景: ExtJS的前景是非常好的,...

    chrome.exe

    ·Chrome提供了浏览器扩展框架,可以制作与Adobe-AIR类似的混合应用。 ·包含V8 Javascript虚拟机,这个多线程的虚拟机可以加速Javascript的执行。 ·具备隐私浏览模式,可以让用户无需在本地机器上登录即可使用,...

    ExtJs学习及个人心得

    Ext JS在发展过程中不仅一步步地巩固着自己在HTML、CSS、JavaScript领域无可比拟的优势,而且已经开始向相关领域发展扩张。例如,它从2.0.2版开始为Adobe的RIA技术AIR提供支持,并且为GWT开发了Ext GWT 2.0,这些都...

    与程序、IT有关的一些资料1

    Adobe AIR.txt Ajax(JavaScript).txt Apach.txt Apple创始人Steve Jobs于2005年在斯坦福大学毕业典礼上的演讲.txt awk.txt C#.txt css.txt grep.txt java编程思想.TXT Java语言入门.txt JSP.txt linux.txt linux...

    flex3的cookbook书籍完整版dpf(包含目录)

    16.8.节使用ActionScript动态添加和去除图表中的列 16.9.节重叠多个图表 16.10.节拖曳图表中的项目 16.11.节创建一个可以编辑线状图 第十七章. 共享对象(557) 17.1节. 创建一个共享对象 17.2节. 写入数据到共享...

Global site tag (gtag.js) - Google Analytics