写点什么

何为 Web Intents 及其目前的实现状态

  • 2012-05-21
  • 本文字数:1221 字

    阅读完需:约 4 分钟

本文概要介绍了何为 Web Intents,为何说 Web Intents 是有用的。Google 在 Chrome 19 中启用了 Web Intents,其在 Safari 上的实现是通过 WebKit 达成的,同时 Mozilla 也正在 Web Intents 上发力。

Web Intents 是个相对较新的类似于 RPC 的机制,可以实现 Web 应用间的通信,这是通过在客户端(通常但不限于是网页)与服务(如网页、扩展 API、插件、OS 处理器等,知道如何处理与加工各自的数据)之间传递数据并返回结果来实现的。整个过程是由 User Agent(通常是浏览器)来处理的,它让用户决定由哪个服务来执行与 Intent 相关的动作。Web Intents 类似于 Android Intents,最初是由Google 在去年提出的,现已被W3C 接受为草案文档,并希望包含在 HTML.Next 中。

Google 成为第一个在 Google Chrome 中实现了 Web Intents 的公司,其实验版本已经包含在最近发布的 Chrome 19 当中。要想使用 Intents,客户端需要通过<intent>标签进行声明,指定待执行的action以及需要传递的数据type,如下代码片段所示:

<intent action="http://webintents.org/share" type="image/*" />客户端需要包含进 Intent 调用代码,对于网页来说其代码如下所示:

var intent = new Intent( "http://webintents.org/share", "image/*", "http://example.com/image.png" ); window.navigator.startActivity(intent);当 Intent 被调用时,User Agent 会要求用户从已知的服务列表中选择一个服务,然后向所选的服务传递数据(在该例中就是“image.png”),服务会处理数据并有可能返回一个结果。目前,Intent 服务需要通过 Chrome Web Store 注册为 Chrome 扩展,但未来会有其他的解决方案出现。W3C 草案还提到了 Explicit Intents ,客户端可以通过它指定想要使用的服务,在使用各自的服务这个问题上,User Agent 可以通知用户,也可以不通知。如果 Web 应用的作者想要使用某种服务,那么该选项就很有用了。

目前,Intents 支持如下动作: share view edit save pick subscribe 。如果觉得不够,开发者还可以创建自己的动作。

Web Intents 代表了继混搭之后的下一个风潮。相对于仅仅从多个源来聚合数据,Web Intents 让属于不同实体的各种服务来进行数据处理成为了可能。可能的用例有:集成第三方搜索结果、编辑图片、登录认证等等。 webintents.org 网站提供了大量示例,如Twitter 发布和短URL 等。

由于Google 已经将代码提交到了WebKit,我们有理由相信Safari 会在未来的版本中包含进Web Intents。Firefox 也开始了Intents 上的工作,其公开的一个Firefox Bug 引起了人们的热议。Mozilla 已经决定在Gaia 中实现Intents 的原型,一旦稳定就会将其移到Gecko 中。我们尚不清楚微软在Web Intents 上的计划。

站长们不必等到所有主流浏览器都支持Web Intents 后才开始行动,他们可以使用JavaScript shim 库,一旦浏览器开始支持后,它会自动采用浏览器的实现。

查看英文原文: Web Intents: What They Are and Their Current Implementation Status

2012-05-21 12:351954
用户头像

发布了 88 篇内容, 共 273.0 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

还不懂Spring?阿里架构师整理的Spring宝典助你一臂之力

小二,上酒上酒

spring spring cloud ali spring宝典

Java:锁定 Excel 中的特定单元格

Geek_249eec

Java Excel 单元格

肝下50万字的《Linux内核精通》笔记,你的底层原理水平将从入门到入魔【建议收藏】

深度Linux

内存管理 嵌入式 Linux内核 进程管理 驱动开发

见大牛、聊感悟、拿好礼...开发者一起来微软Ignite赴约!

InfoQ写作社区官方

热门活动

【高并发】ScheduledThreadPoolExecutor与Timer的区别和简单示例

冰河

并发编程 多线程 高并发 协程 异步编程

TDengine | taosdump的使用方法和注意事项

TDengine

数据库 tdengine 开源 时序数据库 taosdump

进击的PyTorch,和它背后的开源领袖

OneFlow

人工智能 机器学习 深度学习 开源

Koordinator v0.7: 为任务调度领域注入新活力

阿里巴巴云原生

阿里云 云原生 Koordinator

阿里内部整理的Spring boot保姆级笔记,简直太牛了

小二,上酒上酒

spring springboot

阿里大佬手码的SpringCloud+Alibaba笔记开源了,堪称保姆式教学

Geek_0c76c3

Java 数据库 开源 程序员 开发

短期内跳槽的Java程序员必看的八项知识点+两大项目实战

Geek_0c76c3

Java 数据库 开源 程序员 开发

ConcurrentDictionary<T,V> 的这两个操作不是原子性的

有态度的马甲

数据中台建设5大关键步骤

阿泽🧸

数据中台 10月月更

这份神仙级Spring Security源码手册,真的很强悍

小二,上酒上酒

spring spring security springboot

vue组件通信6种方式总结(常问知识点)

bb_xiaxia1998

Vue

Java后端没这些东西都不敢跳!对标阿里P7技术路线你值得拥有

Geek_0c76c3

Java 数据库 程序员 架构 开发

SAP | 在abap开发过程中常用的Tcode

暮春零贰

SAP abap 10月月更

vue组件通信方式有哪些?

bb_xiaxia1998

Vue

精彩演讲推荐|智能化变更防控方法、架构与组织实践

TRaaS

双活数据中心建设要点

穿过生命散发芬芳

10月月更 双数据中心

牛啊牛啊,这篇Spring Cloud Alibaba笔记一应俱全,几乎涵盖了所有操作

小二,上酒上酒

spring spring cloud alibaba

【一Go到底】第十二天---switch

指剑

Go Goalng 10月月更

在数字化浪潮中,为企业建造一艘“方舟”

元年技术洞察

微服务 云原生 企业数字化 PaaS 平台

腾讯资深架构师整理出来的Java高级开发需要的分布式技术,简直绝了

小二,上酒上酒

Java 编程 JAVA开发

惊为天人,百度推出的Redis笔记真的太香了

小二,上酒上酒

redis 面试

全网独家首发Java面试题,包含Spring全家桶+高并发+Netty+Redis+Dubbo等面试专题

小二,上酒上酒

Java Linux Netty 高并发 Spring全家桶

来了来了,阿里p9整理的Netty速成笔记,应有尽有

小二,上酒上酒

Netty

【Go】Go 操作 excel 代码封装

非晓为骁

Excel go语言

金三银四跳槽季,美团、字节、阿里、腾讯Java面经,终入字节

Geek_0c76c3

Java 数据库 开源 程序员 开发

大型企业选择低代码的主要原因是什么?

优秀

低代码 低代码平台

太牛了,这份Spring Cloud Alibaba学习文档清晰全面,一应俱全

小二,上酒上酒

spring Spring Cloud

何为Web Intents及其目前的实现状态_Google_Abel Avram_InfoQ精选文章