Moderne Web-Architektur
AppML verbindet die meisten up-to-date-Techniken und Ideen der modernen Web-Entwicklung.
AppML Fokus auf Geschwindigkeit, Einfachheit und niedrig Kosten:
- Service Oriented Architecture MVC
- Extrem niedrige Bandbreite Verbrauch
- Optimiert für Cloud Computing
- Vollständige Trennung von Inhalt und Präsentation
- Intelligente deklarative Programmierung
- Schnelle und Agile Web Development
- Hohe Skalierbarkeit und testbare
- Einfache Konfiguration und Rekonfiguration
- Intelligente Unterstützung für Benutzerkonten und Rollen
MVC ArchitekturAppML verwendet eine MVC - Architektur MVC steht für Model, View, Controller Das Modell beschreibt Ihre Anwendung. Die Ansicht zeigt Ihre Daten. Der Controller steuert Ihre Anwendung (of course) . Wikipedia: Model, View, Controller |
Das Modell - Just JSON
Das Modell beschreibt die Anwendung.
Das Modell ist wieder verwendbar auf unterschiedliche Hardware- und Software - Plattformen (Server, PC, iPhone, Tablets, etc.) .
Das Modell ist nicht betroffen mit Präsentation oder Benutzeroberfläche (UI) .
Das Modell ist in JSON geschrieben:
Modell
{
"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 - Just HTML
Die Ansicht ist die UI (User Interface) für die Anzeige (and input) Daten.
Die Ansicht wird in HTML und CSS geschrieben:
HTML-Ansicht
<!DOCTYPE html>
<html lang="en-US">
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<script src="http://www.w3ii.com/appml/2.0.3/appml.js"></script>
<body>
<div class="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="table table-striped table-bordered">
<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>
Versuch es selber " Das Controller - Client und / oder Server-Skripts
Ein Client-Skript in der Webseite kann die Anwendung steuern:
- AppML kann Daten anzeigen, wie in dem Modell definiert,
- AppML können Daten angezeigt werden, wie durch HTML-Attribute definiert.
- AppML Anwendungen können von HTML unabhängig laufen (hidden)
- (Optional) AppML können Modelldaten von einem Web-Server (SQL-Server) anfordern
- (Optional) AppML Benutzer können Daten bearbeiten
- (Optional) AppML können Daten an einen Webserver senden
Ein Server-Skript kann die Anwendung steuern:
- Empfangen von Anfragen vom Client (browser)
- Zurückgeben von Daten an den Client
- Empfangen von Daten von dem Client
- Aktualisieren von Daten auf dem Server
- Die Betreuung von Authentifizierung und Sicherheit
Die Kunst der Programmierung
Keeping Anwendung Größe und Komplexität gering ist, ist das Hauptproblem aller Programmierung.
Controlling Computeranwendung Komplexität ist die wahre Kunst der Programmierung.
deklarative Programmierung
Software-Entwicklung bricht oft Termine und Budgets. Fertige Software ist oft voll von Codierungsfehlern. Dies liegt daran, Computercode schwierig zu entwickeln, zu testen und warten.
Die Codierung ist Out. Sie sollten mehr Was tun, weniger beschreiben , wie es zu tun.
Mit AppML Erklären Sie Ihre Anwendung im Modell und in der Ansicht.
Mit AppML gibt es weniger (sometimes nothing) zum Code.
Wikipedia: deklarative Programmierung
Schnelle und Agile Application Development
Computeranwendung Komplexität zu steuern ist die wahre Kunst der Programmierung.
Keeping Anwendung Größe und Komplexität unter unter Kontrolle ist das Hauptproblem aller Programmierung.
RAD ist eine Software-Entwicklungsmethode, die für die Rapid Prototyping minimale Planung verwendet.
AppML liefert superschnellen Prototyping, bis zu 100-mal schneller als herkömmliche Entwicklungsmethoden.
Anwendungsprototypen können direkt aus dem Anwendungsmodell, ohne Codierung ausgeführt werden.
Wikipedia: Rapid Application Development
Agile Softwareentwicklung ist ein Verfahren, das auf Schritt-für-Schritt-Entwicklung, wo Lösungen von Anwendern und Entwicklern in Zusammenarbeit erstellt werden.
Mit AppML können Anwendungen Schritt für Schritt beschrieben werden, in kleinen Schritten, vom Prototyp bis zur vollständigen Anwendungen.
Wikipedia: Agile Softwareentwicklung
Code Erste
Eine Web-Anwendung kann auf zwei verschiedene Arten entwickelt werden:
1.-Code Erstens: Mit vorprogrammierter, vorgetesteten Code, nur neue Anwendungsbeschreibungen hinzufügen.
2. Vertrags Erstens: Codierung der Anwendung von Grund auf die vollständige Anwendung Anforderungsbeschreibung verwenden.
AppML verwendet das vernünftigste Konzept: Code Erste.
Service - orientierte Architektur (SOA)
Service Oriented Architecture (SOA) ist eine Architektur für Web - Anwendungen zu bauen.
SOA bietet niedrig Entwicklungskosten und hohe Flexibilität.
Mit SOA können Anwendungen von Grund auf neu erstellt werden oder aus bestehenden IT - Infrastrukturen, und verwendet werden, die von verschiedenen Anwendungen auf unterschiedlichen Hardware- und Software.
SOA ist eine perfekte Passform für MVC und deklarative Programmierung, wo Daten können leicht ohne die Sorge darüber , wie verbraucht werden.
Internetdienste
Ein Web Service ist eine Schnittstelle , um Daten von einem URL identifiziert, wie eine Web - Seite.
Ein Web Service unterscheidet sich von einer Web - Seite, nur in der Art und Weise sie Informationen in Verbindung steht.
Ein typischer Web - Service liefert nur Daten auf eine Webseite.
Mit AppML, HTML ist die Benutzeroberfläche, ein Web - Service , die Daten zur Verfügung stellt.
Original Web Services wurden entwickelt , um XML - Standards wie SOAP, WSDL und UDDI zu verwenden.
Moderne Web - Services wie AppML sind viel einfacher zu bedienen.
- Einfachere zu verstehen - Kann von Menschen gelesen werden
- Geringes Gewicht - kein unnötiger Code oder Markup
- Einfach zu implementieren - keine Entwicklungswerkzeuge erforderlich
Vorteile von Web Services
- Web-Services sind kleine Einheiten von Code
- Web-Service ist so konzipiert, eine begrenzte Anzahl von Aufgaben zu bewältigen
- Web-Services-Anwendung HTTP-basierte Kommunikation Protokolle
- Web-Service ist unabhängig von Betriebssystemen
- Web Services sind unabhängig von Programmiersprachen
- Web-Services können verschiedene Anwendungen, Systemen verbinden und Geräte
- Web Services macht es einfach, Informationen zu verteilen
- Web Services begünstigt die schnelle Anwendungsentwicklung
Beispiel: Ein kleines Programm entwickelt, andere Anwendungen mit den Börsenkursen zu liefern.
Beispiel: Flugpläne und Ticketreservierungssysteme.
Da Web-Services HTTP verwenden, sind sie beide von Betriebssystemen und Programmiersprachen unabhängig.
Cloud Computing
Cloud Computing ist eine Erweiterung von SOA: Anwendungs-as-a - Service, Storage-as-a-Service, Daten-as-a-Service.
Für die meisten Menschen ist Cloud Computing über Daten im Internet zu speichern:
- E-Mails und Kalender
- Dokumente und Tabellen
- Bücher, Notizen und Listen zu tun
- Musik, Bilder und Filme
- Datenbanken und Anwendungen
Die Gründe liegen auf der Hand:
- Um Zugang zu Daten von überall
- Um meine Daten mit anderen zu teilen
- Um zu überleben, Hardware-Änderungen oder stürzt ab
Mit AppML, ist es sehr einfach, beide Datenbanken und Anwendungen in der Cloud zu setzen.