BT

Web Intents: O que são e o status atual de implementação

por Abel Avram , traduzido por Rafael Sakurai em 28 Mai 2012 |

Este artigo explica brevemente o que são os Web Intents e qual a sua utilidade. O Google adicionou o uso dos Web Intents no Chrome 19, a implementação estará disponível no Safari via WebKit e o Mozilla também está trabalhando nisso.

Os Web Intents são um novo mecanismo no estilo RPC (chamada de procedimento remoto), para passagem de dados entre um serviço cliente (como uma aplicação nativa ou página web) e um serviço (que poderia ser um serviço web, APIs de extensões, componentes do SO, entre outros). O processo inteiro é intermediado por um Agente do Usuário (User Agent), normalmente um navegador, que deixa o usuário decidir qual serviço deve executar a ação associada com a intenção.

Os Web Intents são similares aos Intents do Android, e foram propostos inicialmente pelo Google no ano passado, sendo aceito como rascunho de padrão pela W3C, visando ser incluído no HTML.Next.

O Google foi o primeiro a implementar os Web Intents no Google Chrome e uma versão experimental foi incluída na recente atualização do Chrome (versão 19). Para habilitar o uso dos intents, um serviço cliente precisa declarar uma intent, usando a tag <intent>, especificando a ação que deve ser executada e o tipo de dados que serão processados, como mostrado no trecho de código a seguir:

<intent action="http://webintents.org/share" type="image/*" />

O serviço cliente pode incluir o intent para a invocação do código. Se for uma página web, será similar com o trecho de código a seguir:

var intent = new Intent("http://webintents.org/share", "image/*", "http://example.com/image.png");
window.navigator.startActivity(intent);

Quando o intent é invocado, o agente usuário pedirá ao usuário que selecione um serviço de uma lista, passando os dados (neste exemplo, uma imagem "image.png") ao serviço selecionado que, então, irá processar e retornar o resultado. Por enquanto os serviços de intent precisam ser registrados como uma extensão para o Chrome através do Chrome Web Store, mas no futuro haverão outras opções. O rascunho da W3C também menciona os intents explícitos, uma opção para o serviço cliente especificar qual o serviço desejado. O agente usuário tem a opção de informar ou não o usuário sobre o uso do respectivo serviço. Esta opção é útil quando o autor da aplicação web quer utilizar um serviço específico.

Neste momento, estão disponíveis as seguintes ações para os intents: compartilhar, visualizar, editar, salvar, escolher e assinar. O desenvolvedor pode criar suas próprias ações caso estas não sejam suficientes.

Os Web Intents representam o próximo passo lógico além dos mashups. Ao invés de apenas agregar dados oriundos de múltiplas fontes, os Web Intents permitem o processamento dos dados por vários serviços de diferentes entidades. Possíveis casos de uso são: integração com resultado de pesquisa de terceiros, edição de imagem, autenticação de logins e outros. O webintents.org é um site com recursos relacionados e fornece algumas demonstrações, incluindo postar no Twitter e encurtar URL.

Uma vez que o Google submeteu o código para o WebKit, espera-se que o Safari também inclua os Web Intents em uma versão futura. O Firefox também iniciou seu trabalho com intents. Um bug no Firefox está aberto e pouco ativo e a Mozilla decidiu criar um prototipo dos intents no Gaia, movendo para o Gecko quando estiver estável. Não há planos da Microsoft para adicionar o suporte aos Web Intents.

Os donos dos sites não precisam esperar até que a maioria dos navegadores adicionem suporte aos Web Intents, pois podem usar a biblioteca de JavaScript Shim para executar os intents. Esta biblioteca irá simular os intents por si só se necessário, ou então delegar para o navegador caso ele já suporte a funcionalidade.

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

comentário by Jean Lopes

Pow, que legal isso aeee véi!! =B

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

1 Dê sua opinião

Conteúdo educacional

Feedback geral
Bugs
Publicidade
Editorial
InfoQ Brasil e todo o seu conteúdo: todos os direitos reservados. © 2006-2014 C4Media Inc.
Política de privacidade
BT