AppML argitektuur


Moderne webargitektuur

AppML kombineer die mees onlangse tegnieke en idees van moderne webontwikkeling.

AppML fokus op spoed, eenvoud en lae koste:

  • Lae koste
  • Vinnige en ratse webontwikkeling
  • Geoptimaliseer vir wolkrekenaars
  • Hoë spoed en lae bandwydte verbruik
  • MVC (Model Viev Controller) Argitektuur
  • Volledige skeiding van inhoud van aanbieding
  • Hoogs skaalbaar en toetsbaar
  • Maklike konfigurasie en herkonfigurasie
  • Herkonfigurasie terwyl toepassings loop
  • Slim ondersteuning vir gebruikersrekeninge en rolle

MVC argitektuur

 

AppML gebruik 'n MVC-argitektuur

MVC staan ​​vir Model, View, Controller

Die model beskryf jou toepassing.

Die aansig wys jou data.

Die kontroleerder beheer jou toepassing (natuurlik).

 

Wikipedia: Model, Aansig, Kontroleur

        MVC

Die MODEL - Net JSON

Die model beskryf die toepassing.

Die model is herbruikbaar op verskillende hardeware- en sagtewareplatforms (bediener, rekenaar, iPhone, tablette, ens.).

Die model is nie gemoeid met aanbieding of gebruikerskoppelvlak (UI) nie.

Die model is in JSON geskryf:

Model

{
"rowsperpage" : 10,
"database" : {
    "connection" : "localmysql",
    "sql" : "SELECT CustomerName, City, Country FROM Customers",
    "orderby" : "CustomerName"
},
"filteritems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}
],
"sortitems" : [
    {"item" : "CustomerName", "label" : "Customer"},
    {"item" : "City"},
    {"item" : "Country"}
]
}

Die VIEW - Net HTML

Die aansig is die UI (gebruikerskoppelvlak) vir die vertoon (en invoer) van data.

Die aansig is in HTML en CSS geskryf:

HTML-aansig

<!DOCTYPE html>
<html lang="en-US">
<title>Customers</title>
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<script src="https://www.w3schools.com/appml/2.0.3/appml.js"></script>
<body>

<div class="w3-container" appml-data="local?model=model_customers">
<h1>Customers</h1>
<div appml-include-html="inc_listcommands.htm"></div>
<div appml-include-html="inc_filter.htm"></div>
<table class="w3-table-all">
  <tr>
    <th>Customer</th>
    <th>City</th>
    <th>Country</th>
  </tr>
  <tr appml-repeat="records">
    <td>{{CustomerName}}</td>
    <td>{{City}}</td>
    <td>{{Country}}</td>
</tr>
</table>
</div>

</body>
</html>

Die BEHEERDER - Kliënt en/of Bediener Skripte

'n Kliëntskrip in die webblad kan die toepassing beheer:

  • AppML kan data vertoon soos in die model gedefinieer
  • AppML kan data vertoon soos gedefinieer deur HTML-kenmerke.
  • AppML-toepassings kan onafhanklik van HTML loop (versteek)
  • (Opsioneel) AppML kan modeldata van 'n webbediener (SQL-bediener) aanvra.
  • (Opsioneel) AppML-gebruikers kan data wysig
  • (Opsioneel) AppML kan data na 'n webbediener stuur

'n Bedienerskrip kan die toepassing beheer deur:

  • Ontvang versoeke van die kliënt (blaaier)
  • Gee data terug aan die kliënt
  • Ontvangs van data van die kliënt
  • Dateer data op die bediener op
  • Sorg vir verifikasie en sekuriteit

Die kuns van programmering

Om toepassingsgrootte en kompleksiteit laag te hou, is die hoofprobleem van alle programmering.

Die beheer van rekenaartoepassingskompleksiteit is die ware kuns van programmering.


Verklarende programmering

Sagteware-ontwikkeling verbreek dikwels spertye en begrotings. Voltooide sagteware is dikwels vol koderingsfoute. Dit is omdat rekenaarkode moeilik is om te ontwikkel, toets en in stand te hou.

Kodering is uit . Jy moet meer beskryf Wat om te doen, minder Hoe om dit te doen.

Met AppML verklaar jy jou aansoek in die Model en in die Aansig .

Met AppML is daar minder (soms niks) om te kodeer .

Wikipedia: Verklarende programmering


Vinnige en ratse toepassingsontwikkeling

Die beheer van rekenaartoepassingskompleksiteit is die ware kuns van programmering.

Om toepassingsgrootte en kompleksiteit onder beheer te hou, is die hoofprobleem van alle programmering.

RAD is 'n sagteware-ontwikkelingsmetode wat minimale beplanning gebruik ten gunste van vinnige prototipering.

AppML lewer supervinnige prototipering, tot 100 keer vinniger as tradisionele ontwikkelingsmetodes.

Toepassingsprototipes kan direk vanaf die toepassingsmodel hardloop, sonder enige kodering.

Wikipedia: Vinnige toepassingsontwikkeling

Agile sagteware-ontwikkeling is 'n metode gebaseer op stap-vir-stap ontwikkeling, waar oplossings geskep word deur gebruikers en ontwikkelaars in samewerking.

Met AppML kan toepassings stap vir stap geskryf word, in klein inkremente, van prototipes tot volledige toepassings.

Wikipedia: Agile sagteware-ontwikkeling


Kode eerste

'n Webtoepassing kan op twee verskillende maniere ontwikkel word:

1. Kode Eerste: Gebruik voorafgeprogrammeerde, vooraf getoetste kode, en voeg slegs nuwe toepassingsbeskrywings by.

2. Kontrak Eerste: Koder die aansoek van nuuts af deur die volledige aansoekvereistebeskrywing te gebruik.

AppML gebruik die mees rasionele konsep: Code First .


Diensgerigte argitektuur (SOA)

Service Oriented Architecture (SOA) is 'n argitektuur vir die bou van webtoepassings.

SOA bied lae ontwikkelingskoste en hoë buigsaamheid.

Met SOA kan toepassings van nuuts af geskep word, of uit bestaande IT-infrastruktuur, en deur verskillende toepassings op verskillende hardeware en sagteware gebruik word.

SOA pas perfek by MVC en Verklarende Programmering , waar data maklik verbruik kan word sonder die kommer oor hoe.


Webdienste

'n Webdiens is 'n koppelvlak tot data, geïdentifiseer deur 'n URL, net soos 'n webblad.

'n Webdiens verskil van 'n webblad, slegs in die manier waarop dit inligting kommunikeer.

'n Tipiese webdiens verskaf slegs data aan 'n webblad.

Met AppML is HTML die gebruikerskoppelvlak, 'n webdiens verskaf die data.

Oorspronklike webdienste is ontwerp om XML-standaarde soos SOAP, WSDL en UDDI te gebruik.

Moderne webdienste soos AppML is baie makliker om te gebruik.

  • Makliker om te verstaan ​​- Kan deur mense gelees word
  • Liggewig - geen onnodige kode of opmaak nie
  • Maklik om te implementeer - geen ontwikkelingsinstrumente nodig nie

Voordele van webdienste

  • Webdienste is klein eenhede kode
  • Webdienste is ontwerp om 'n beperkte stel take te hanteer
  • Webdienste gebruik HTTP-gebaseerde kommunikasieprotokolle
  • Webdienste is onafhanklik van bedryfstelsels
  • Webdienste is onafhanklik van programmeertale
  • Webdienste kan verskillende toepassings, stelsels en toestelle verbind
  • Webdienste maak dit maklik om inligting te versprei
  • Webdienste bevoordeel vinnige toepassingsontwikkeling

Voorbeeld: 'n Klein program wat ontwerp is om ander toepassings van die aandelebeurspryse te voorsien.

Voorbeeld: Vlugskedules en kaartjiebesprekingstelsels.

Aangesien webdienste HTTP gebruik, is hulle onafhanklik van beide bedryfstelsels en programmeertale.


Wolk Rekenaarkunde

Cloud Computing is 'n uitbreiding van SOA: Toepassing-as-'n-diens, Berging-as-'n-diens, Data-as-'n-diens.

Vir die meeste mense gaan Cloud Computing oor die stoor van data op die web:

  • E-posse en kalenders
  • Dokumente en sigblaaie
  • Boeke, notas en om te doen lyste
  • Musiek, prente en flieks
  • Databasisse en toepassings

Die redes is redelik voor die hand liggend:

  • Om toegang tot data van oral te hê
  • Om my data met ander te deel
  • Om hardeware veranderinge of ineenstortings te oorleef

Met AppML is dit baie maklik om beide databasisse en toepassings in die wolk te plaas.