Histórico do AppML


Em 1999, a Refsnes Data desenvolveu a primeira versão do AppML.

Já então, o AppML era baseado na comunicação de solicitação HTTP entre o cliente da web e o servidor da web. Mais tarde este método tornou-se conhecido como AJAX.

Em setembro de 2000, foi iniciado um projeto de desenvolvimento para um grande cliente norueguês. O objetivo do projeto era converter um enorme sistema de informação (cerca de 300 aplicativos) de um aplicativo de desktop Windows para um aplicativo de Internet moderno, usando apenas AppML.

O sistema baseado em AppML foi lançado em 2001, vários meses antes do previsto, como o primeiro aplicativo AJAX comercial do mundo. O projeto foi um enorme sucesso, com tempo de desenvolvimento reduzido em 75% em comparação com o desenvolvimento web comum. Desde então, novos aplicativos foram adicionados e o sistema agora abrange mais de 1.000 aplicativos em execução.

Em fevereiro de 2015, o W3Schools relançou o AppML como um novo produto, aberto ao público.

Objetivos de design do AppML:

  • Os aplicativos AppML devem ser executados pela Internet
  • Os aplicativos AppML devem ser independentes de plataforma
  • Os aplicativos AppML devem usar apenas padrões da Internet (HTML, CSS, JavaScript)
  • Os aplicativos AppML devem suportar uma variedade de necessidades de aplicativos
  • Os aplicativos AppML devem ser autodescritivos
  • Os aplicativos AppML devem ser fáceis de desenvolver, manter e alterar
  • Os aplicativos AppML devem ser à prova de futuro

Os parágrafos abaixo descrevem as visões originais da Refsnes Data (1999) sobre futuras aplicações web.


Executáveis ​​morrerão, JavaScript viverá

Executáveis ​​compilados (compilados de linguagens como C ou Java) não podem ser executados em hardware diferente.

Executáveis ​​(arquivos EXE, objetos ActiveX e COM, arquivos DLL) são componentes que impedem o desenvolvimento de aplicativos que podem ser executados pela Internet.

O aplicativo futuro não usará ou confiará em executáveis ​​ou quaisquer outros componentes instalados no computador do cliente.

Nossas sugestões:

Escreva seus aplicativos futuros usando apenas HTML, CSS e JavaScript.

Certifique-se de que seus aplicativos futuros sejam executados em qualquer navegador da web.


Aplicativos da Web serão serviços de Internet

A história está cheia de aplicativos grandes e criados especificamente. Muitos deles morreram muito rapidamente, porque não conseguiram sobreviver às mudanças nos requisitos.

Os aplicativos devem ser flexíveis, generalizados e se ajustarem graciosamente às mudanças, sem serem desintegrados ou destruídos.

Os aplicativos devem ser capazes de escalar desde o suporte de alguns até milhões de solicitações por dia.

Os aplicativos devem ser capazes de se espalhar de um servidor para muitos, ou mover-se entre servidores, sem quebrar o aplicativo.

Os aplicativos devem ser capazes de cooperar com outros aplicativos.

Os aplicativos não devem conter grandes massas de código.

Os aplicativos devem ser divididos em serviços menores, fáceis de criar e fáceis de manter.

Os aplicativos devem ser um conjunto de serviços de Internet que podem retornar dados para solicitações de Internet enviadas.

Os aplicativos devem solicitar serviços por meio de protocolos padrão da Internet sem manter uma conexão permanente com o servidor. 

Nossas sugestões:

Escreva seus aplicativos futuros usando SOA (Arquitetura Orientada a Serviços) baseada na Internet.

Torne seus serviços de aplicativos gerais e flexíveis e prontos para atender a diferentes tipos de solicitações.


Aplicativos futuros serão fáceis de criar e editar

Clientes e servidores trocarão dados de maneira fácil e compreensível.

Os aplicativos não serão codificados, se isso puder ser evitado.

Os aplicativos serão criados e modificados, editando modelos, não editando código.

As descrições dos aplicativos serão legíveis por humanos.

As descrições dos aplicativos serão autodescritivas.

Os aplicativos serão escritos por usuários, não programadores.

Nossas sugestões:

Use arquivos de texto legíveis para descrever serviços e forneça serviços executando essas descrições.

Use arquivos de texto (como arquivos JSON) para descrever aplicativos.

Use arquivos de texto (como arquivos JSON) para trocar dados.

Use HTML, CSS e JavaScript para executar aplicativos.


Três pequenos desenvolvedores web...

Era uma vez três pequenos desenvolvedores web desenvolvendo um novo site.

1. O primeiro desenvolvedor web estava usando AppML.

2. O segundo desenvolvedor web estava usando sua linguagem de programação de servidor favorita.

3. O terceiro estava usando uma estrutura profissional de desenvolvimento web empresarial.

O primeiro desenvolvedor web teve uma demonstração em funcionamento em dois dias. Após a colaboração com os usuários, um protótipo de saída ficou pronto em uma semana. E após duas semanas de testes, um site inteligente, rápido e fácil de usar estava pronto para ser publicado.

O segundo desenvolvedor web teve seu site pronto após 6 meses. Mas a WWW mudou seus requisitos e não ficou satisfeita. O desenvolvedor web não pôde fazer grandes mudanças em seu projeto porque continha muito código. Então ele começou o desenvolvimento da versão 2.

O terceiro desenvolvedor web nunca conseguiu completar seu trabalho. O framework de desenvolvimento web profissional era muito difícil de usar, muito difícil de entender e quase impossível de testar.

Dê uma olhada em como o primeiro desenvolvedor fez isso .