Im Jahr 1999 entwickelten Refsnes Daten die erste Version von AppML.
Schon damals wurde AppML basierend auf HTTP-Anforderung der Kommunikation zwischen Web-Client und dem Webserver. Später wurde diese Methode auch AJAX bekannt.
Im September 2000 wurde ein Entwicklungsprojekt für einen großen norwegischen Kunden gestartet. Das Ziel des Projektes war es eine riesige Informationssystem (ca. 300 Anwendungen) von einer Windows-Desktop-Anwendung auf eine moderne Internet-Anwendung zu konvertieren, nur AppML verwenden.
Das AppML-basierte System wurde im Jahr 2001, einige Monate vor Zeitplan, wie die weltweit erste kommerzielle AJAX-Anwendung gestartet. Das Projekt war ein großer Erfolg, mit der Entwicklungszeit um 75% im Vergleich zu gewöhnlicher Web-Entwicklung reduziert. Seitdem haben sich neue Anwendungen hinzugefügt worden ist, und das System jetzt erstreckt sich über 1000 laufenden Anwendungen.
Im Februar 2015 w3ii neu gestartet AppML als neues Produkt, für die Öffentlichkeit zugänglich.
AppML Designziele:
- AppML Anwendungen müssen über das Internet laufen
- AppML Anwendungen müssen unabhängig sein Plattform
- AppML Anwendungen müssen nur Internet-Standards verwenden (HTML, CSS, JavaScript)
- AppML Anwendungen müssen eine Vielzahl von Anwendungsanforderungen unterstützen
- AppML Anwendungen müssen selbst beschreiben
- AppML Anwendungen müssen einfach sein, zu entwickeln, pflegen und ändern
- AppML Anwendungen müssen zukunftssicher sein
Die Absätze beschreiben unter Refsnes Datas ursprüngliche Vision s (1999) über f uture Web - Anwendungen.
Executables Will sterben, wird JavaScript leben
Zusammengestellt ausführbare Dateien (compiled from languages like C or Java) können nicht auf unterschiedliche Hardware laufen.
Executables (EXE files, ActiveX and COM objects, DLL-files) - (EXE files, ActiveX and COM objects, DLL-files) - (EXE files, ActiveX and COM objects, DLL-files) sind Komponenten , die die Entwicklung von Anwendungen zu verhindern , die über das Internet ausgeführt werden kann.
Die künftige Anwendung nicht verwenden oder sich darauf verlassen, ausführbare Dateien oder andere auf dem Client-Computer installierten Komponenten.
Unsere Vorschläge:
Schreiben Sie Ihre zukünftigen Anwendungen mit nur HTML, CSS und JavaScript.
Stellen Sie sicher, dass Ihre zukünftigen Anwendungen in jedem Web-Browser ausgeführt werden.
Web-Anwendungen werden Internet sein
Die Geschichte ist voll von großen, speziell dafür gebauten, Anwendungen. Viele von ihnen starben sehr schnell, weil sie keine Anforderungen Änderungen überleben konnten.
Anwendungen sollten auf Veränderungen flexibel, verallgemeinert und anmutig sein justieren, ohne zerbröckelt oder zerstört zu werden.
Anwendungen sollten von der Unterstützung um nur einige zu Millionen Anfragen pro Tag skalieren können.
Anwendungen sollten in der Lage sein, von einem Server auf viele zu verbreiten, oder, ohne die Anwendung zwischen Servern zu verschieben.
Anwendungen sollten mit anderen Anwendungen zusammenarbeiten können.
Anwendungen sollten nicht große Massen von Code enthalten.
Anwendungen sollten in kleinere Dienste aufgeteilt werden, die sind einfach zu erstellen und leicht zu pflegen.
Anwendungen sollten eine Reihe von Internet-Diensten, die Daten übermittelt Internet-Anfragen zurückgeben kann.
Anwendungen sollen Dienste über Standard-Internet-Protokolle verlangen, ohne eine permanente Verbindung zum Server zu halten.
Unsere Vorschläge:
Schreiben Sie Ihre zukünftige Anwendungen mit Internet - basierten SOA (Service Oriented Architecture) .
Machen Sie Ihre Anwendungsdienste allgemein und flexibel und bereit, verschiedene Arten von Anfragen zu bedienen.
Zukünftige Anwendungen einfach zu erstellen und bearbeiten sein
Clients und Server werden die Daten in einer leicht verständlichen Art und Weise auszutauschen.
Die Anträge werden nicht codiert werden, wenn es vermieden werden kann.
Die Anträge werden von der Bearbeitung Modelle erstellt und geändert werden, nicht durch den Code bearbeiten.
Anwendungsbeschreibungen werden von den Menschen lesbar sein.
Anwendungsbeschreibungen werden selbst zu beschreiben.
Die Anträge werden von den Benutzern geschrieben werden, nicht Programmierer.
Unsere Vorschläge:
Verwenden Sie den Menschen lesbare Textdateien, Dienste zu beschreiben und Dienstleistungen zur Verfügung stellen, indem sie diese Beschreibungen ausgeführt wird.
Verwenden Sie Textdateien (like JSON files) - (like JSON files) Anwendungen zu beschreiben.
Verwenden Sie Textdateien (like JSON files) - (like JSON files) Daten auszutauschen.
Verwenden Sie HTML, CSS und JavaScript-Anwendungen auszuführen.
Drei kleine Web-Entwickler ...
Es war einmal eine Zeit gab es drei kleine Web-Entwickler eine neue Website zu entwickeln.
1. Der erste Web-Entwickler wurde mit AppML.
2. Der zweite Web-Entwickler wurde mit seinem Lieblings Server Programmiersprache.
3. Der dritte war ein professionelles Enterprise-Web-Entwicklungs-Framework verwenden.
Der erste Web-Entwickler hatte eine Demo und läuft in zwei Tagen. Nach der Zusammenarbeit mit den Anwendern, war ein aufregender Prototyp in einer Woche bereit. Und nach zwei Wochen des Testens, eine intelligenten, schnellen und einfach zu bedienen, Web-Site, war bereit zu veröffentlichen.
Der zweite Web-Entwickler hatte seine Website bereit nach 6 Monaten. Aber das WWW hatte seine Anforderungen geändert, und war nicht zufrieden. Der Web-Entwickler konnte keine größeren Änderungen an seinem Projekt, weil es zu viel Code enthalten. So begann er die Entwicklung der Version 2.
Der dritte Web-Entwickler nie geschafft, seine Arbeit abzuschließen. Die professionelle Web-Entwicklungs-Framework war sehr schwierig zu bedienen, sehr schwer zu verstehen, und fast unmöglich zu testen.
Werfen Sie einen Blick darauf , wie der erste Entwickler es tat .