Apps architecture

O projeto de arquitetura de aplicativos de Open Web consiste dos seguintes elementos:

  • Instalação baseada em servidor web
  • Runtime web
  • Serviços de suporte integrado

Instalação baseada em servidor web

Aplicativos podem ser instalados do servidor que os hospeda ("auto-hospedagem") ou de uma loja. A Mozilla está planejando lançar o Mozilla Marketplace para aplicativos em 2012. Outras lojas de aplicativos tamém podem ser criadas usando esta arquitetura. Aplicativos podem ser gratuitos ou pagos. Lojas podem suportar confirmação de compras para assegurar que aplaicativos são executados apenas por usuários que realizaram a compra. O Mozilla Marketplace irá suportar isso.

O Mozilla Marketplace suportará estas atividades:

  • Desenvolvedores podem enviar aplicativos baseados em HTML5 informando a localização do arquivo de manifesto.
  • Desenvolvedores podem definir um preço para seus aplicativos.
  • Usuários podem instalar aplicativos que estão associados à suas contas por um recibo digital.
  • Aplicativos podem validar o recibo do usuário durante o tempo de execução. Este mecanismo suporta devoluções e compras de tempo limitado.

Runtime Web

Embora aplicativos possam rodar em qualquer navegador moderno, muitos usuários esperam uma experiência "nativa", mesmo para aplicativos baseados em web. Uma runtime web (WebRT) é um agente usuário centrado em aplicativos (em contraste com um agente usuário centrado em navegador como o Firefox).

Uma WebRT:

  • Instala um ícone no sistema operacional nativo.
  • Pode verificar e então iniciar o aplicativo do sistema operacional nativo em uma janela sem bordas.
  • Mostra o aplicativo no ambiente nativo como uma aplicação comum em execução (de maneira em que alternar aplicações e monitorar o trabalho funcione normalmente).
  • Integra-se com as capacidades do dispositivo. O projeto WebAPI está progredindo para suportar estas APIs diretamente no Gecko (a engine de layout do Firefox).
  • Provê uma inicialização discreta quando o usuário já está logado com o seu BrowserID (atraves do Firefox ou outro aplicativo). Quando um aplicativo é iniciado, ele pode conferir a validade do recibo. Se o usuário já está logado com o BrowserID, o aplicativo inicia imediatamente.

Uma versão futura do Firefox irá incorporar uma WebRT. Você pode testar ele agora (junho de 2012) utilizando Firefox Nightly para Windows e Mac (e logo, para Android). Note que o Firefox Nightly é apenas para teste.

Para navegadores que não usam a WebRT, há a HTML5 WebRT, disponível em https://apps.persona.org/include.js. Esta WebRT não tem todas as capacidades nativas listadas acima. Você pode testar com qualquer navegador listado aqui: https://apps.mozillalabs.com/appdir/

Uma prévia WebRT estava disponível como uma extensão Firefox (Mozilla Labs App Runtime para Firefox), porém foi descontinuada. Uma WebRT Android prévia que usava PhoneGap também foi descontinuada.

Mostrando páginas na runtime Web

O comportamento da runtime Web mostrando páginas não é exatamente o mesmo que um navegador. Mentenha o seguinte em mente quando desenvolver seu aplicativo.
 
  • Você pode mostrar qualquer URL no aplicativo. A origem de um link sendo aberto não é uma consideração, mas lembre que você pode mandar seus usuários à um site sem maneira de voltar a não ser fechando o aplicativo e reiniciando. Então você deve ter certeza que eles podem navegar.
  • Muitos links abrem no aplicativo.
  • Um click em <a target="_blank" href="..."> vai abrir no navegador padrão, fora do aplicativo.
  • Uma chamada para window.open(url) abre no app.
  • Uma chamada para window.open(url, "_blank") também abre no aplicativo (mas este comportamento pode mudar).

Serviços de suporte integrado

Mozilla disponibiliza serviços que trabalham em conjunto para suportar o ecossistema dos aplicativos.

BrowserID

A arquitetura dos aplicativos integra BrowserID de múltiplas maneiras:

  • Desenvolvedores e usuários irão logar no site do marketplace usando BrowserID.
  • Recebimentos para compras do marketplace estão ligadas à o  BrowserID de identidade do comprador.
  • Aplicativos que implemetam suporte à BrowserID podem instantaneamente cadastrar usuários.

Sincronização de aplicativos

Mozilla está implementando um serviço de sincronização de apps baseado em nuvem chamado Apps in the Cloud. Este serviço pode armazenar todos os recebimentos de compra relacionados a uma certa identidade BrowserID (incluindo de lojas não-Mozilla que implemetam BrowserID). Ele também pode sincronizar estes recebimentos para todos os dispositivos de um usuário, permitindo que aplicativos comprados em um dispositivo sejam utilizados em outros sem necessidade de uma nova compra.

Document Tags and Contributors

Contributors to this page: hsteffano, LeonardoPacheco
Última atualização por: LeonardoPacheco,