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 MVCAppML 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 |
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.