AppML Geskiedenis


In 1999 het Refsnes Data die eerste weergawe van AppML ontwikkel.

Reeds toe was AppML gebaseer op HTTP-versoekkommunikasie tussen webkliënt en die webbediener. Later het hierdie metode bekend geword as AJAX.

In September 2000 is 'n ontwikkelingsprojek vir 'n groot Noorse klant begin. Die doel van die projek was om 'n groot inligtingstelsel (ongeveer 300 toepassings) om te skakel van 'n Windows-rekenaartoepassing na 'n moderne internettoepassing, deur slegs AppML te gebruik.

Die AppML-gebaseerde stelsel is in 2001, etlike maande voor skedule, bekendgestel as die wêreld se eerste kommersiële AJAX-toepassing. Die projek was 'n groot sukses, met ontwikkelingstyd wat met 75% verminder is in vergelyking met gewone webontwikkeling. Sedertdien is nuwe toepassings bygevoeg, en die stelsel dek nou meer as 1000 lopende toepassings.

In Februarie 2015 het W3Schools AppML weer bekendgestel as 'n nuwe produk, oop vir die publiek.

AppML ontwerp doelwitte:

  • AppML-toepassings moet oor die internet loop
  • AppML-toepassings moet platformonafhanklik wees
  • AppML-toepassings moet slegs internetstandaarde gebruik (HTML, CSS, JavaScript)
  • AppML-toepassings moet 'n verskeidenheid toepassingsbehoeftes ondersteun
  • AppML-toepassings moet selfbeskrywend wees
  • AppML-toepassings moet maklik wees om te ontwikkel, in stand te hou en te verander
  • AppML-toepassings moet toekomsbewys wees

Die paragrawe hieronder beskryf Refsnes Data se oorspronklike visies (1999) oor toekomstige webtoepassings.


Uitvoerbare items sal sterf, JavaScript sal lewe

Saamgestelde uitvoerbare (saamgestel uit tale soos C of Java) kan nie op verskillende hardeware werk nie.

Uitvoerbare lêers (EXE-lêers, ActiveX- en COM-voorwerpe, DLL-lêers) is komponente wat die ontwikkeling van toepassings wat oor die internet kan loop, verhoed.

Toekomstige toepassing sal nie gebruik, of staatmaak op, uitvoerbare of enige ander komponente wat op die kliënt se rekenaar geïnstalleer is nie.

Ons voorstelle:

Skryf jou toekomstige toepassings deur slegs HTML, CSS en JavaScript te gebruik.

Maak seker dat jou toekomstige toepassings in enige webblaaier loop.


Webtoepassings sal internetdienste wees

Die geskiedenis is vol groot, doelgeboude toepassings. Baie van hierdie het baie vinnig gesterf, omdat hulle nie vereistesveranderinge kon oorleef nie.

Toepassings moet buigsaam, veralgemeen en grasieus by veranderinge aanpas, sonder om verkrummel of vernietig te word.

Aansoeke moet kan skaal van die ondersteuning van 'n paar tot miljoene versoeke per dag.

Toepassings moet in staat wees om van een bediener na baie te versprei, of om tussen bedieners te beweeg, sonder om die toepassing te breek.

Aansoeke moet met ander toepassings kan saamwerk.

Aansoeke moet nie groot massas kode bevat nie.

Aansoeke moet opgedeel word in kleiner dienste, wat maklik is om te skep en maklik om te onderhou.

Aansoeke moet 'n stel internetdienste wees wat data kan terugstuur na ingediende internetversoeke.

Toepassings moet dienste aanvra via standaard internetprotokolle sonder om 'n permanente verbinding met die bediener te behou. 

Ons voorstelle:

Skryf jou toekomstige toepassings deur internetgebaseerde SOA (Service Oriented Architecture) te gebruik.

Maak jou aansoekdienste algemeen en buigsaam, en gereed om verskillende soorte versoeke te bedien.


Toekomstige toepassings sal maklik wees om te skep en te wysig

Kliënte en bedieners sal data op 'n maklik verstaanbare manier uitruil.

Aansoeke sal nie gekodeer word nie, indien dit vermy kan word.

Toepassings sal geskep en gewysig word deur modelle te wysig, nie deur kode te wysig nie.

Toepassingsbeskrywings sal deur mense leesbaar wees.

Toepassingsbeskrywings sal selfbeskrywend wees.

Aansoeke sal deur gebruikers geskryf word, nie programmeerders nie.

Ons voorstelle:

Gebruik mensleesbare tekslêers om dienste te beskryf, en verskaf dienste deur hierdie beskrywings uit te voer.

Gebruik tekslêers (soos JSON-lêers) om toepassings te beskryf.

Gebruik tekslêers (soos JSON-lêers) om data uit te ruil.

Gebruik HTML, CSS en JavaScript om toepassings uit te voer.


Drie klein webontwikkelaars...

Eens op 'n tyd was daar drie klein webontwikkelaars wat 'n nuwe webwerf ontwikkel het.

1. Die eerste webontwikkelaar het AppML gebruik.

2. Die tweede webontwikkelaar het sy gunsteling bedienerprogrammeertaal gebruik.

3. Die derde was die gebruik van 'n professionele ondernemingswebontwikkelingsraamwerk.

Die eerste webontwikkelaar het binne twee dae 'n demonstrasie aan die gang gehad. Na samewerking met die gebruikers was 'n opwindende prototipe binne 'n week gereed. En na twee weke van toetsing was 'n intelligente, vinnige en maklik om te gebruik webwerf gereed om te publiseer.

Die tweede webontwikkelaar het sy webwerf na 6 maande gereed gehad. Maar die WWW het sy vereistes verander en was nie tevrede nie. Die webontwikkelaar kon nie groot veranderinge aan sy projek aanbring nie omdat dit te veel kode bevat het. Hy het dus die ontwikkeling van weergawe 2 begin.

Die derde webontwikkelaar het nooit daarin geslaag om sy werk te voltooi nie. Die professionele webontwikkelingsraamwerk was baie moeilik om te gebruik, baie moeilik om te verstaan, en amper onmoontlik om te toets.

Kyk hoe die eerste ontwikkelaar dit gedoen het .