Historial de AppML


En 1999, Refsnes Data desarrolló la primera versión de AppML.

Ya entonces, AppML se basaba en la comunicación de solicitudes HTTP entre el cliente web y el servidor web. Más tarde, este método se hizo conocido como AJAX.

En septiembre de 2000, se inició un proyecto de desarrollo para un gran cliente noruego. El objetivo del proyecto era convertir un enorme sistema de información (alrededor de 300 aplicaciones) de una aplicación de escritorio de Windows a una aplicación de Internet moderna, utilizando únicamente AppML.

El sistema basado en AppML se lanzó en 2001, varios meses antes de lo previsto, como la primera aplicación AJAX comercial del mundo. El proyecto fue un gran éxito, con un tiempo de desarrollo reducido en un 75 % en comparación con el desarrollo web ordinario. Desde entonces, se han agregado nuevas aplicaciones y el sistema ahora cubre más de 1000 aplicaciones en ejecución.

En febrero de 2015, W3Schools relanzó AppML como un nuevo producto, abierto al público.

Objetivos de diseño de AppML:

  • Las aplicaciones AppML deben ejecutarse a través de Internet
  • Las aplicaciones de AppML deben ser independientes de la plataforma
  • Las aplicaciones AppML deben usar estándares de Internet únicamente (HTML, CSS, JavaScript)
  • Las aplicaciones AppML deben admitir una variedad de necesidades de aplicaciones
  • Las aplicaciones AppML deben ser autodescriptivas
  • Las aplicaciones AppML deben ser fáciles de desarrollar, mantener y cambiar
  • Las aplicaciones AppML deben estar preparadas para el futuro

Los párrafos siguientes describen las visiones originales de Refsnes Data (1999) sobre las futuras aplicaciones web.


Los ejecutables morirán, JavaScript vivirá

Los ejecutables compilados (compilados a partir de lenguajes como C o Java) no pueden ejecutarse en hardware diferente.

Los ejecutables (archivos EXE, objetos ActiveX y COM, archivos DLL) son componentes que impiden el desarrollo de aplicaciones que pueden ejecutarse en Internet.

La aplicación futura no usará ni se basará en ejecutables ni en ningún otro componente instalado en la computadora del cliente.

Nuestras sugerencias:

Escriba sus futuras aplicaciones usando solo HTML, CSS y JavaScript.

Asegúrese de que sus futuras aplicaciones se ejecuten en cualquier navegador web.


Las aplicaciones web serán servicios de Internet

La historia está llena de grandes aplicaciones especialmente diseñadas. Muchos de estos murieron muy rápidamente, porque no pudieron sobrevivir a los cambios de requisitos.

Las aplicaciones deben ser flexibles, generalizadas y adaptarse con gracia a los cambios, sin desmoronarse ni destruirse.

Las aplicaciones deberían poder escalar desde admitir unas pocas hasta millones de solicitudes por día.

Las aplicaciones deben poder propagarse de un servidor a muchos, o moverse entre servidores, sin interrumpir la aplicación.

Las aplicaciones deben poder cooperar con otras aplicaciones.

Las aplicaciones no deben contener grandes cantidades de código.

Las aplicaciones deben dividirse en servicios más pequeños, que sean fáciles de crear y de mantener.

Las aplicaciones deben ser un conjunto de servicios de Internet que puedan devolver datos a solicitudes de Internet enviadas.

Las aplicaciones deben solicitar servicios a través de protocolos estándar de Internet sin mantener una conexión permanente con el servidor. 

Nuestras sugerencias:

Escriba sus futuras aplicaciones utilizando SOA (Arquitectura Orientada a Servicios) basada en Internet.

Haga que sus servicios de aplicaciones sean generales y flexibles, y que estén listos para atender diferentes tipos de solicitudes.


Las futuras aplicaciones serán fáciles de crear y editar

Los clientes y servidores intercambiarán datos de una manera fácil de entender.

Las aplicaciones no se codificarán, si se puede evitar.

Las aplicaciones se crearán y modificarán editando modelos, no editando código.

Las descripciones de las aplicaciones serán legibles por humanos.

Las descripciones de las aplicaciones serán autodescriptivas.

Las aplicaciones serán escritas por usuarios, no por programadores.

Nuestras sugerencias:

Use archivos de texto legibles por humanos para describir servicios y proporcione servicios mediante la ejecución de estas descripciones.

Use archivos de texto (como archivos JSON) para describir aplicaciones.

Use archivos de texto (como archivos JSON) para intercambiar datos.

Utilice HTML, CSS y JavaScript para ejecutar aplicaciones.


Tres pequeños desarrolladores web...

Érase una vez tres pequeños desarrolladores web que estaban desarrollando un nuevo sitio web.

1. El primer desarrollador web usaba AppML.

2. El segundo desarrollador web estaba usando su lenguaje de programación de servidor favorito.

3. El tercero fue usar un marco de desarrollo web empresarial profesional.

El primer desarrollador web tuvo una demostración en funcionamiento en dos días. Después de la colaboración con los usuarios, en una semana estuvo listo un prototipo interesante. Y después de dos semanas de pruebas, un sitio web inteligente, rápido y fácil de usar estaba listo para publicarse.

El segundo desarrollador web tenía su sitio web listo después de 6 meses. Pero la WWW había cambiado sus requisitos y no estaba satisfecha. El desarrollador web no pudo realizar cambios importantes en su proyecto porque contenía demasiado código. Entonces comenzó el desarrollo de la versión 2.

El tercer desarrollador web nunca logró completar su trabajo. El marco de desarrollo web profesional era muy difícil de usar, muy difícil de entender y casi imposible de probar.

Eche un vistazo a cómo lo hizo el primer desarrollador .