Revisão 292927 de Arquitetura dos Open Web Apps

  • Slug da revisão: Apps/Apps_architecture
  • Título da revisão: Apps architecture
  • ID da revisão: 292927
  • Criado:
  • Criador: hsteffano
  • É a revisão atual? Não
  • Comentar Apps/Arquitetura de aplicativos Apps/Apps_architecture

Conteúdo da revisão

O prjeto 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-hospoedagem") ou de uma loja. Mozilla esta planejando lançar o Mozilla Marketplace para aplicativos em 2012. Outras lojas de aplicativos terceirizadas estão possivelmente usando esta arquitetura. Aplicativos podem ser grátis ou pagos. Lojas podem suportar confirmação de compras para assegurar que aplçicativos 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 recebimento digital.
  • Aplicativos podem validar o recebimento do usuário durante o tempo de execução. Este mecanismo suporta devoluções e compras de tempo limitado.

Runtime web

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

Uma WebRT:

  • Instala um ícone no S.O.(Sistema Operacional) nativo.
  • Pode verificar e então iniciar o aplicativo do S.O. nativo em uma janela desprovida de bordas.
  • Mostra o aplicativo no ambiente nativo como uma típica aplicção em execução (então esta aplicação trocando e monitorando trabalho como esperado).
  • 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 checar a validade do recebimento. 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 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 agora está 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 à 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.

Fonte da revisão

<p>O prjeto de arquitetura de aplicativos de Open Web consiste dos seguintes elementos:</p>
<ul>
  <li>Instalação baseada em servidor web</li>
  <li>Runtime web</li>
  <li>serviços de suporte integrado</li>
</ul>
<h2 id=".C2.A0Instala.C3.A7.C3.A3o_baseada_em_servidor_web"><span id="cke_bm_97S" style="display: none;">&nbsp;</span>Instalação baseada em servidor web</h2>
<p>Aplicativos podem ser instalados do servidor que os hospeda ("auto-hospoedagem") ou de uma loja. Mozilla esta planejando lançar o Mozilla Marketplace para aplicativos em 2012. Outras lojas de aplicativos terceirizadas estão possivelmente usando esta arquitetura. Aplicativos podem ser grátis ou pagos. Lojas podem suportar confirmação de compras para assegurar que aplçicativos são executados apenas por usuários que realizaram a compra. O Mozilla Marketplace irá suportar isso.</p>
<p>O Mozilla Marketplace suportará estas atividades:</p>
<ul>
  <li>Desenvolvedores podem enviar aplicativos baseados em HTML5 informando a localização do arquivo de manifesto.</li>
  <li>Desenvolvedores podem definir um preço para seus aplicativos.</li>
  <li>Usuários podem instalar aplicativos que estão associados à suas contas por um recebimento digital.</li>
  <li>Aplicativos podem validar o recebimento do usuário durante o tempo de execução. Este mecanismo suporta devoluções e compras de tempo limitado.</li>
</ul>
<h2 id="Runtime_web">Runtime web</h2>
<p>Enquanto aplicativos podem rodar em qualquer navegador moderno, muitos usuários esperam uma experiência "nativa", mesmo for aplicativos baseados em web. Uma runtime web (WebRT) é um agente usuário centrado em apps (em contraste com um agente usuário centrado em navegador como o Firefox).</p>
<p>Uma WebRT:</p>
<ul>
  <li>Instala um ícone no S.O.(Sistema Operacional) nativo.</li>
  <li>Pode verificar e então iniciar o aplicativo do S.O. nativo em uma janela desprovida de bordas.</li>
  <li>Mostra o aplicativo no ambiente nativo como uma típica aplicção em execução (então esta aplicação trocando e monitorando trabalho como esperado).</li>
  <li>Integra-se com as capacidades do dispositivo. O projeto <a class="link-https" href="https://wiki.mozilla.org/WebAPI" title="https://wiki.mozilla.org/WebAPI">WebAPI</a> está progredindo para suportar estas APIs diretamente no Gecko (a engine de layout do Firefox).</li>
  <li>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 checar a validade do recebimento. Se o usuário já está logado com o BrowserID, o aplicativo inicia imediatamente.</li>
</ul>
<p>Uma versão futura do Firefox irá incorporar uma WebRT. Você pode testar ele agora (junho de 2012) utilizando <a class="external" href="http://nightly.mozilla.org/" title="http://nightly.mozilla.org/">Firefox Nightly</a> para Windows e Mac (e logo, para Android). Note que Firefox Nightly é apenas para teste.</p>
<p>Para navegadores que não usam a WebRT, há a HTML5 WebRT, disponível em <a class="link-https" href="https://apps.persona.org/include.js" title="https://apps.persona.org/include.js">https://apps.persona.org/include.js</a>. Esta WebRT não tem todas as capacidades nativas listadas acima. Você pode testar com qualquer navegador listado aqui: <a class="link-https" href="https://apps.mozillalabs.com/appdir/" title="https://apps.mozillalabs.com/appdir/">https://apps.mozillalabs.com/appdir/</a></p>
<p>Uma prévia WebRT estava disponível como uma extensão Firefox (Mozilla Labs App Runtime para Firefox), porém agora está descontinuada. Uma WebRT Android prévia que usava PhoneGap também foi descontinuada.</p>
<h3 id="Mostrando_p.C3.A1ginas_na_Runtime_web">Mostrando páginas na Runtime web</h3>
<div>
  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.</div>
<div>
  &nbsp;</div>
<ul>
  <li>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.</li>
  <li>Muitos links abrem no aplicativo.</li>
  <li>Um click em <code>&lt;a target="_blank" href="..."&gt;</code> vai abrir no navegador padrão, fora do aplicativo.</li>
  <li>Uma chamada para <code>window.open(url)</code> abre no app.</li>
  <li>Uma chamada para <code>window.open(url, "_blank")</code> também abre no aplicativo (mas este comportamento pode mudar).</li>
</ul>
<h2 id="Servi.C3.A7os_de_suporte_integrado">Serviços de suporte integrado</h2>
<p>Mozilla disponibiliza serviços que trabalham em conjunto para suportar o ecossistema dos aplicativos.</p>
<h3 id="BrowserID">BrowserID</h3>
<p>A arquitetura dos aplicativos integra BrowserID de múltiplas maneiras:</p>
<ul>
  <li>Desenvolvedores e usuários irão logar no site do marketplace usando BrowserID.</li>
  <li>Recebimentos para compras do marketplace estão ligadas à o&nbsp; BrowserID de identidade do comprador.</li>
  <li>Aplicativos que implemetam suporte à BrowserID podem instantaneamente cadastrar usuários.</li>
</ul>
<h3 id="Sincroniza.C3.A7.C3.A3o_de_aplicativos">Sincronização de aplicativos</h3>
<p>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 à 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.</p>
Reverter para esta revisão