Razo:
Nem sempre um aplicativo Web  a melhor soluo para um determinado problemas.
Tambm no acho que o melhor seja um aplicativo desktop.

Acho que a soluo para a prxima gerao de aplicativos passa por um misto de desktop/web em que o melhor dos dois mundos possa ser conjugado para produzir solues com timo desempenho e independencia de conexo sem descuidar a interface com o usurio.

Objetivo:
O que pretendo,  construir uma serie de funes que acrescentem algumas funcionalidades ao javascript e que permitam coisas simples na superficie como as que seguem sem chegar a ser uma lista exaustiva:
1) Carregar se no existe ou atualizar se for diferente um formulrio/relatrio do servidor.  Uma vez carregado, ele pode ser usado localmente.  Em caso de no haver conexo, a ltima verso liberada pode ser usada.  Isso nos leva a colocar tempo de vida nos formulrios/relatrios.
2) Manter uma cpia sincronizada dos dados que h no(s) servidor(es) no dispositivo (seja este mvel ou no)

Resumo: Devo de ter enlouquecido e quero manter um espelho do aplicativo e seus dados o mais fiel possvel ao original e ao mesmo tempo, alterando esse original.

Implementao:  existem tres objetos com funcionamento similar.  Um para conter os scripts outro as telas (e sua formatao) e outro os dados.

Esboo de um aplicativo js com YeAPF:

  index.html:
  <html>
    <script src='yeapf.js'></script>
    <script>
      // funes que so necessrias ao aplicativo
      // sero carregadas se no existem no cache do navegador
      yScripts.load('minhasFuncoes.js');

      // criar um formulrio com o ttlo 'Logon'
      var aLogon=yForms.create('Logon');

      // abrir o 'f_logon.html' dentro do formulrio criado.
      // se o 'f_logon.html' no est no cache do aplicativo, carregar do servidor
      aLogon.open('f_logon.html');
      aLogon.onsubmit=function() {
        // verificar o logon
        // carregar outras telas se necessrio
      };
      
      // mostrar o formulrio, tornando-o operacional
      aLogon.show();
    </script>
  </html>

