En 1999 Refsnes données mis au point la première version de appml.
Déjà à cette époque, appml était basée sur la communication de la requête HTTP entre le client Web et le serveur Web. Plus tard, cette méthode est devenu bien connu comme AJAX.
En Septembre 2000, un projet de développement d'un gros client norvégien a commencé. L'objectif du projet était de convertir un énorme système d'information (environ 300 applications) à partir d'une application de bureau Windows pour une application Internet moderne, en utilisant seulement appml.
Le système basé appml a été lancé en 2001, plusieurs mois avant la date prévue, en tant que première application AJAX commerciale du monde. Le projet a été un énorme succès, avec le 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, w3ii relancée appml comme un nouveau produit, ouvert au public.
objectifs de conception appml:
- applications appml doivent fonctionner sur Internet
- applications appml doit être plate-forme indépendante
- les applications appml doivent utiliser les normes Internet seulement (HTML, CSS, JavaScript)
- applications appml doivent prendre en charge une variété de besoins d'application
- applications appml doivent être autodescriptives
- applications appml doivent être faciles à développer, maintenir et changement
- les applications appml doivent être la preuve future
Les paragraphes ci - dessous décrit la vision originale de Refsnes données s (1999) à propos de f applications Web FUTURS.
Executables mourrons, JavaScript vivrai
Executables Compilé (compiled from languages like C or Java) à (compiled from languages like C or Java) des (compiled from languages like C or Java) ne peuvent pas fonctionner sur du matériel différent.
Executables (EXE files, ActiveX and COM objects, DLL-files) des (EXE files, ActiveX and COM objects, DLL-files) les (EXE files, ActiveX and COM objects, DLL-files) sont des éléments qui empêchent le développement d'applications qui peuvent fonctionner sur Internet.
application future ne sera pas utiliser ou se fonder sur, executables ou tout autre composant installé sur l'ordinateur du client.
Nos suggestions:
Écrivez vos futures applications en utilisant uniquement HTML, CSS et JavaScript.
Assurez-vous que vos futures applications exécutées dans un navigateur Web.
Applications Web seront services Internet
L'histoire est pleine de grandes applications, construit à cet effet. Beaucoup d'entre eux sont morts très rapidement, parce qu'ils ne pouvaient pas survivre aux changements des exigences.
Les demandes doivent être flexibles, généralisée, et d'ajuster grâce à des changements, sans être émietté ou détruits.
Les demandes doivent être en mesure de soutenir à l'échelle à quelques millions de requêtes par jour.
Les demandes doivent être en mesure de se propager d'un serveur à plusieurs, ou de se déplacer entre les serveurs, sans casser l'application.
Les demandes doivent être en mesure de coopérer avec d'autres applications.
Les applications ne doivent pas contenir de grandes masses de code.
Les demandes doivent être ventilés en petits services, qui sont faciles à créer et facile à entretenir.
Les demandes doivent être un ensemble de services Internet qui peuvent renvoyer des données à des demandes soumises Internet.
Les demandes doivent demander des services via des protocoles Internet standard sans maintenir une connexion permanente au serveur.
Nos suggestions:
Écrivez vos futures applications utilisant SOA sur Internet (Service Oriented Architecture) .
Faites vos services d'application générale et flexible et prêt à servir différents types de demandes.
Les applications futures seront faciles à créer et éditer
Les clients et les serveurs échangeront des données d'une manière facile à comprendre.
Les demandes ne seront pas codés, si elle peut être évitée.
Les demandes seront créés et modifiés, en éditant des modèles, et non par modification du code.
Description de l'application seront lisibles par les humains.
descriptions de demande seront auto décrire.
Les demandes seront rédigées par les utilisateurs, et non programmeurs.
Nos suggestions:
Utilisez des fichiers de texte lisibles par l'homme pour décrire les services et fournir des services en exécutant ces descriptions.
Utilisez des fichiers de texte (like JSON files) les (like JSON files) pour décrire les applications.
Utilisez des fichiers de texte (like JSON files) les (like JSON files) pour échanger des données.
Utilisez HTML, CSS et JavaScript pour exécuter des applications.
Trois petits développeurs Web ...
Il était une fois, il y avait trois petits développeurs web en développement un nouveau site Web.
1. Le premier développeur web utilisait appml.
2. Le deuxième développeur web utilisait son langage de programmation du serveur favori.
3. Le troisième était en utilisant un cadre professionnel de développement web d'entreprise.
Le premier développeur web a une place de démonstration et en cours d'exécution en deux jours. Après la collaboration avec les utilisateurs, un prototype sortant était prêt en une semaine. Et au bout de deux semaines de tests, un homme intelligent, rapide et facile à utiliser, site web, était prêt à publier.
Le deuxième développeur web a son site web prêt après 6 mois. Mais le Web a changé ses exigences, et n'a pas été satisfaite. Le développeur web ne peut pas apporter des changements majeurs à son projet parce qu'il contenait trop de code. Alors, il a 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 a été 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 .