tutoriais mais recente desenvolvimento web
 

AppML Arquitetura


Arquitetura Web moderna

AppML combina a maioria das técnicas e idéias de desenvolvimento web moderna up-to-date.

AppML concentrar em velocidade, simplicidade e baixo custo:

  • Service Oriented Architecture MVC
  • Extremamente baixo consumo de largura de banda
  • Otimizado para Cloud Computing
  • A separação total entre o conteúdo da apresentação
  • Programação Declarativa inteligente
  • Desenvolvimento Web rápida e ágil
  • Altamente escalável e Testable
  • Fácil Configuração e Reconfiguração
  • Suporte inteligente para Contas de Usuário e Roles

MVC Architecture

AppML usa uma arquitetura MVC

MVC significa Model, View, Controlador

O modelo descreve a sua aplicação.

The View exibe seus dados.

O controlador controla a sua aplicação (of course) .

Wikipedia: Modelo, Vista, Controlador

MVC

O MODELO - Just JSON

O modelo descreve a aplicação.

O modelo é reutilizável em diferentes plataformas de hardware e software (Server, PC, iPhone, Tablets, etc.) .

O modelo não está preocupado com apresentação ou interface de usuário (UI) .

O modelo é escrito em JSON:

Modelo

{
"rowsperpage" : 10,
"database" : {
    "connection" : "localmysql",
    "sql" : "SELECT CustomerName, City, Country FROM Customers",
    "orderby" : "CustomerName"
},
"filteritems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}
],
"sortitems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}
]
}

A VIEW - Apenas HTML

A vista é a UI (User Interface) para a exibição (and input) de dados.

A vista é escrito em HTML e CSS:

HTML Ver

<!DOCTYPE html>
<html lang="en-US">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="http://www.w3ii.com/appml/2.0.3/appml.js"></script>
<body>

<div class="container" appml-data="local?model=model_customers">
<h1>Customers</h1>
<div appml-include-html="inc_listcommands.htm"></div>
<div appml-include-html="inc_filter.htm"></div>

<table class="table table-striped table-bordered">
<tr>
  <th>Customer</th>
  <th>City</th>
  <th>Country</th>
</tr>
<tr appml-repeat="records">
  <td>{{CustomerName}}</td>
  <td>{{City}}    </td>
  <td>{{Country}} </td>
</tr>
</table>
</div>

</body>
</html>
Tente você mesmo "

O controlador - cliente e / ou scripts de servidor

Um script de cliente na página web pode controlar a aplicação:

  • AppML pode exibir dados como definido no modelo
  • AppML pode exibir dados como definido pelo atributos HTML.
  • Aplicações AppML pode funcionar independente do HTML (hidden)
  • (Opcionalmente) AppML pode solicitar dados do modelo a partir de um (servidor SQL) servidor web
  • utilizadores (Opcionalmente) AppML pode editar dados
  • (Opcionalmente) AppML pode enviar dados para um servidor web

Um script de servidor pode controlar a aplicação por:

  • Receber pedidos a partir do cliente (browser)
  • Retornando dados para o cliente
  • Receber dados do cliente
  • Atualizando dados no servidor
  • Cuidar de autenticação e segurança

The Art of Programming

Manter tamanho da aplicação e baixa complexidade, é o principal problema de toda a programação.

Controlando a complexidade da aplicação de computador, é a verdadeira arte da programação.


Programação declarativa

desenvolvimento de software muitas vezes quebra prazos e orçamentos. software terminado muitas vezes é cheia de erros de codificação. Isso ocorre porque o código de computador é difícil de desenvolver, testar e manter.

Codificação é para fora. Você deve descrever mais o que fazer, a menos Como fazê-lo.

Com AppML você Declare sua aplicação no modelo e na View.

Com AppMLmenos (sometimes nothing) ao código.

Wikipedia: Programação Declarativa


Rapid Application Development e Agile

Controlando a complexidade da aplicação de computador é a verdadeira arte da programação.

Manter o tamanho do aplicativo e complexidade sob sob controle é o principal problema de toda a programação.

RAD é um método de desenvolvimento de software que usa um mínimo de planejamento em favor de prototipagem rápida.

AppML oferece prototipagem super-rápido, até 100 vezes mais rápido do que os métodos tradicionais de desenvolvimento.

protótipos aplicativo pode ser executado diretamente a partir do modelo de aplicação, sem qualquer codificação.

Wikipedia: Rapid Application Development

desenvolvimento ágil de software é um método baseado no desenvolvimento passo-a-passo, onde as soluções são criadas por usuários e desenvolvedores em colaboração.

Com AppML, as aplicações podem ser escritas passo a passo, em pequenos incrementos, de protótipos de aplicações completas.

Wikipedia: Desenvolvimento de Software Ágil


code First

Uma aplicação web pode ser desenvolvida em duas maneiras diferentes:

1. Code First: Usando pré-programado, pré-testado código, adicionando apenas novos descrições de aplicação.

2. Contrato Primeiro: Codificação a aplicação a partir do zero usando a descrição completa exigência de aplicação.

AppML utiliza o conceito mais racional: Code First.


Service Oriented Architecture (SOA)

Service Oriented Architecture (SOA) é uma arquitetura para construção de aplicações web.

SOA oferece baixos custos de desenvolvimento e alta flexibilidade.

Com SOA, aplicativos podem ser criados a partir do zero, ou de TI existentes infra-estruturas, e ser usado, por diferentes aplicações, em diferentes hardware e software.

SOA é um ajuste perfeito para MVC e Programação declarativa, onde os dados podem ser facilmente consumido sem a preocupação sobre como.


Serviços web

Um serviço Web é uma interface para os dados, identificadas por um URL, como uma página da web.

Um serviço Web difere de uma página web, apenas na forma como comunica informações.

Um serviço Web típico só fornece dados para uma página web.

Com AppML, HTML é a interface do usuário, um Web Service fornece os dados.

Web Services originais foram projetados para usar padrões XML como SOAP, WSDL, e UDDI.

Web Services modernos como AppML são muito mais fáceis de usar.

  • Mais simples de entender - pode ser lido por seres humanos
  • nenhum código ou marcação desnecessária - Leve
  • Fácil de implementar - sem ferramentas de desenvolvimento necessárias

Benefícios de Web Services

  • Os serviços Web são pequenas unidades de código
  • Os serviços Web são projetados para lidar com um conjunto limitado de tarefas
  • Web uso serviços HTTP baseado protocolos comunicando
  • serviços Web são independentes de sistemas operacionais
  • serviços Web são independentes das linguagens de programação
  • serviços da Web podem conectar diferentes aplicações, sistemas e dispositivos
  • Web Services torna mais fácil para distribuir informações
  • Web Services favorece o desenvolvimento rápido de aplicações

Exemplo: Um pequeno programa destinado a fornecer outras aplicações com os preços cotados em bolsa.

Exemplo: horários de vôo e sistemas de reserva de bilhetes.

Como os serviços da Web usam HTTP, eles são independentes de ambos os sistemas operacionais e linguagens de programação.


cloud Computing

Cloud Computing é uma extensão do SOA: Application-como-um serviço, armazenamento-como-um-serviço, Data-as-a-service.

Para a maioria das pessoas, Cloud Computing é sobre o armazenamento de dados na web:

  • E-mails e calendários
  • Documentos e planilhas
  • Livros, notas e listas de tarefas
  • Música, imagens e filmes
  • Bases de dados e aplicações

As razões são bastante óbvias:

  • Para ter acesso aos dados de todos os lugares
  • Para partilhar os meus dados com outros
  • Para sobreviver alterações de hardware ou falhas

Com AppML, é muito fácil de colocar ambos os bancos de dados e aplicativos na nuvem.