Historique d'AppML


En 1999, Refsnes Data a développé la première version d'AppML.

Déjà à l'époque, AppML était basé sur la communication de requêtes HTTP entre le client Web et le serveur Web. Plus tard, cette méthode est devenue bien connue sous le nom d'AJAX.

En septembre 2000, un projet de développement pour un gros client norvégien a été lancé. L'objectif du projet était de convertir un énorme système d'information (environ 300 applications) d'une application de bureau Windows en une application Internet moderne, en utilisant uniquement AppML.

Le système basé sur AppML a été lancé en 2001, plusieurs mois avant la date prévue, en tant que première application AJAX commerciale au monde. Le projet a été un énorme succès, avec un temps de développement réduit de 75% par rapport au développement web ordinaire. Depuis lors, de nouvelles applications ont été ajoutées et le système couvre désormais plus de 1000 applications en cours d'exécution.

En février 2015, W3Schools a relancé AppML en tant que nouveau produit, ouvert au public.

Objectifs de conception AppML :

  • Les applications AppML doivent s'exécuter sur Internet
  • Les applications AppML doivent être indépendantes de la plate-forme
  • Les applications AppML doivent utiliser uniquement les standards Internet (HTML, CSS, JavaScript)
  • Les applications AppML doivent prendre en charge une variété de besoins d'application
  • Les applications AppML doivent être auto-descriptives
  • Les applications AppML doivent être faciles à développer, à maintenir et à modifier
  • Les applications AppML doivent être à l'épreuve du temps

Les paragraphes ci-dessous décrivent les visions originales de Refsnes Data (1999) sur les futures applications Web.


Les exécutables mourront, JavaScript vivra

Les exécutables compilés (compilés à partir de langages tels que C ou Java) ne peuvent pas s'exécuter sur un matériel différent.

Les exécutables (fichiers EXE, objets ActiveX et COM, fichiers DLL) sont des composants qui empêchent le développement d'applications pouvant s'exécuter sur Internet.

L'application future n'utilisera ni ne s'appuiera sur des exécutables ou tout autre composant installé sur l'ordinateur du client.

Nos suggestions :

Ecrivez vos futures applications en utilisant uniquement HTML, CSS et JavaScript.

Assurez-vous que vos futures applications s'exécutent dans n'importe quel navigateur Web.


Les applications Web seront des services Internet

L'histoire est pleine de grandes applications spécialement conçues. Beaucoup d'entre eux sont morts très rapidement, car ils ne pouvaient pas survivre aux changements d'exigences.

Les applications doivent être flexibles, généralisées et s'adapter gracieusement aux changements, sans être émiettées ou détruites.

Les applications doivent pouvoir évoluer de la prise en charge de quelques à des millions de requêtes par jour.

Les applications doivent pouvoir se propager d'un serveur à plusieurs, ou se déplacer entre les serveurs, sans casser l'application.

Les applications doivent pouvoir coopérer avec d'autres applications.

Les applications ne doivent pas contenir de grandes masses de code.

Les applications doivent être décomposées en services plus petits, faciles à créer et faciles à entretenir.

Les applications doivent être un ensemble de services Internet pouvant renvoyer des données aux requêtes Internet soumises.

Les applications doivent demander des services via des protocoles Internet standard sans maintenir une connexion permanente au serveur. 

Nos suggestions :

Ecrivez vos futures applications en utilisant la SOA (Service Oriented Architecture) basée sur Internet.

Rendez vos services applicatifs généraux et flexibles, et prêts à répondre à différents types de demandes.


Les futures applications seront faciles à créer et à modifier

Les clients et les serveurs échangeront des données d'une manière facilement compréhensible.

Les demandes ne seront pas codées, si cela peut être évité.

Les applications seront créées et modifiées en éditant des modèles, et non en éditant du code.

Les descriptions d'application seront lisibles par les humains.

Les descriptions d'application seront auto-descriptives.

Les applications seront écrites par des utilisateurs et non par des programmeurs.

Nos suggestions :

Utilisez des fichiers texte lisibles par l'homme pour décrire les services et fournissez des services en exécutant ces descriptions.

Utilisez des fichiers texte (comme les fichiers JSON) pour décrire les applications.

Utilisez des fichiers texte (comme les fichiers JSON) pour échanger des données.

Utilisez HTML, CSS et JavaScript pour exécuter des applications.


Trois petits développeurs Web...

Il était une fois trois petits développeurs web qui développaient un nouveau site web.

1. Le premier développeur Web utilisait AppML.

2. Le deuxième développeur Web utilisait son langage de programmation de serveur préféré.

3. Le troisième utilisait un cadre de développement Web d'entreprise professionnel.

Le premier développeur Web a eu une démo opérationnelle en deux jours. Après collaboration avec les utilisateurs, un prototype sortant était prêt en une semaine. Et après deux semaines de test, un site Web intelligent, rapide et facile à utiliser était prêt à être publié.

Le deuxième développeur Web avait son site Web prêt après 6 mois. Mais le WWW avait changé ses exigences et n'était pas satisfait. Le développeur Web n'a pas pu apporter de modifications majeures à son projet car il contenait trop de code. Il a donc commencé le développement de la version 2.

Le troisième développeur web n'a jamais réussi à terminer son travail. Le cadre de développement Web professionnel était très difficile à utiliser, très difficile à comprendre et presque impossible à tester.

Jetez un oeil à la façon dont le premier développeur l'a fait .