Los últimos tutoriales de desarrollo web
 

AppML arquitectura


Moderna arquitectura Web

AppML combina la mayoría de las técnicas e ideas de desarrollo web hoy en hasta al día.

AppML centrarse en la velocidad, simplicidad y bajo costo:

  • Service Oriented Architecture MVC
  • El consumo de ancho de banda extremadamente baja
  • Optimizado para la computación en nube
  • La separación completa del contenido de la presentación
  • Programación Declarativa Inteligente
  • Desarrollo web rápido y ágil
  • Altamente escalable y comprobable
  • Fácil configuración y reconfiguración
  • Soporte inteligente para las cuentas de usuario y funciones

Arquitectura MVC

AppML utiliza una arquitectura MVC

MVC significa Modelo, Vista, Controlador

El modelo describe su aplicación.

La vista muestra los datos.

El controlador controla su aplicación (of course) .

Wikipedia: Modelo, Vista, Controlador

MVC

El modelo - Sólo JSON

El modelo describe la aplicación.

El modelo es reutilizable en diferentes plataformas de hardware y software (Server, PC, iPhone, Tablets, etc.) .

El modelo no se refiere a la presentación o la interfaz de usuario (UI) .

El modelo está escrito en 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"}
]
}

El VIEW - Sólo HTML

La vista es la interfaz de usuario (User Interface) para la visualización (and input) de datos.

La vista está escrito en HTML y CSS:

Vista HTML

<!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>
Inténtalo tú mismo "

El controlador - cliente y / o de scripts del servidor

Un script de cliente en la página web puede controlar la aplicación:

  • AppML puede mostrar los datos como se define en el modelo
  • AppML puede mostrar los datos como se define por atributos HTML.
  • AppML aplicaciones pueden funcionar independiente de HTML (hidden)
  • (Opcional) AppML puede solicitar datos del modelo desde un servidor web (servidor SQL)
  • usuarios (opcionalmente) AppML pueden editar los datos de
  • (Opcional) AppML puede enviar datos a un servidor web

Un script de servidor puede controlar la aplicación por:

  • Recibir solicitudes desde el cliente (browser)
  • Volviendo a los datos del cliente
  • Recibir datos desde el cliente
  • Actualización de datos en el servidor
  • El cuidado de autenticación y seguridad

El arte de la programación

Mantener el tamaño y la complejidad de aplicación baja, es el principal problema de toda la programación.

El control de la complejidad aplicación informática, es el verdadero arte de la programación.


La programación declarativa

Desarrollo de software a menudo rompe plazos y presupuestos. Terminado el software es a menudo lleno de errores de codificación. Esto se debe a que el código informático es difícil de desarrollar, probar y mantener.

La codificación es de salida. Debe describir más ¿Qué hacer, menos Cómo hacerlo.

Con AppML usted declara su aplicación en el modelo y en la vista.

Con AppML hay menos (sometimes nothing) a código.

Wikipedia: Programación Declarativa


Desarrollo de aplicaciones rápida y ágil

El control de la complejidad aplicación informática es el verdadero arte de la programación.

Mantener el tamaño y la complejidad de las aplicaciones bajo bajo control es el principal problema de toda la programación.

RAD es un método de desarrollo de software que utiliza una planificación mínima a favor de la creación rápida de prototipos.

AppML entrega de prototipos súper rápido, hasta 100 veces más rápido que los métodos tradicionales de desarrollo.

prototipos de aplicaciones pueden ejecutar directamente desde el modelo de aplicación, sin ningún tipo de codificación.

Wikipedia: Desarrollo rápido de aplicaciones

desarrollo ágil de software es un método basado en el desarrollo paso a paso, donde las soluciones son creados por usuarios y desarrolladores en la colaboración.

Con AppML, las aplicaciones pueden ser paso a paso escritos, en pequeños incrementos, a partir de prototipos de aplicaciones completas.

Wikipedia: desarrollo ágil de software


El primer código de

Una aplicación web puede desarrollarse de dos maneras diferentes:

1. Código Primero: El uso de pre-programado, antes de la prueba de código, añadiendo sólo nuevas descripciones de las aplicaciones.

2. Contrato Primero: Codificación de la aplicación desde el principio con la descripción completa requisito de aplicación.

AppML utiliza el concepto más racional: Código Primera.


Arquitectura orientada a servicios (SOA)

Arquitectura orientada a servicios (SOA) es una arquitectura para la construcción de aplicaciones web.

SOA ofrece unos costes de desarrollo bajos y alta flexibilidad.

Con SOA, aplicaciones se pueden crear desde cero, o de infraestructuras de TI existentes, y ser usado, por diferentes aplicaciones, en diferentes hardware y software.

SOA es un ajuste perfecto para MVC y programación declarativa, donde los datos pueden ser consumidos fácilmente sin la preocupación por la forma.


Servicios web

Un servicio Web es una interfaz de datos, identificados por una dirección URL, al igual que una página web.

Un servicio web se diferencia de una página web, sólo en la forma en que se comunica la información.

Un servicio web típica sólo proporciona datos a una página web.

Con AppML, el HTML es la interfaz de usuario, un servicio web proporciona los datos.

Servicios Web originales fueron diseñados para utilizar los estándares XML, como SOAP, WSDL y UDDI.

Servicios Web modernos como AppML son mucho más fáciles de usar.

  • Sencillo de entender - Puede ser leído por los seres humanos
  • Ligero - ningún código innecesario o por marcadores
  • Fácil de implementar - no se requieren herramientas de desarrollo

Beneficios de Servicios Web

  • Los servicios web son pequeñas unidades de código
  • servicios web están diseñados para manejar un conjunto limitado de tareas
  • protocolos de comunicación basada en servicios web HTTP uso
  • Los servicios web son independientes de los sistemas operativos
  • Los servicios web son independientes de los lenguajes de programación
  • Los servicios Web pueden conectar diferentes aplicaciones, sistemas y dispositivos
  • Servicios Web hace que sea fácil de distribuir información
  • Servicios Web favorece el desarrollo rápido de aplicaciones

Ejemplo: Un pequeño programa diseñado para abastecer a otras aplicaciones con las cotizaciones de bolsa.

Ejemplo: Los horarios de vuelos y los sistemas de reserva de billetes.

Dado que los servicios web utilizan HTTP, que son independientes de ambos sistemas operativos y lenguajes de programación.


Computación en la nube

Cloud Computing es una extensión de SOA: Aplicación-como-un servicio, almacenamiento-as-a-service, Data-as-a-service.

Para la mayoría de la gente, la computación en nube es sobre el almacenamiento de datos en la web:

  • Correos electrónicos y calendarios
  • Documentos y hojas de cálculo
  • Libros, notas y listas de tareas pendientes
  • Música, imágenes y películas
  • Bases de datos y aplicaciones

Las razones son bastante obvias:

  • Para tener acceso a los datos desde cualquier lugar
  • Para compartir mis datos con los demás
  • Para sobrevivir a los cambios de hardware o se bloquea

Con AppML, es muy fácil de poner las bases de datos y aplicaciones en la nube.