Architettura moderna Web
AppML combina le più moderne tecniche e le idee di sviluppo web moderno up-to-date.
AppML concentrarsi sulla velocità, semplicità e basso costo:
- Service Oriented Architecture MVC
- Bassissimo consumo di larghezza di banda
- Ottimizzato per il Cloud Computing
- Separazione completa del contenuto dalla presentazione
- Intelligente programmazione dichiarativa
- Sviluppo Web rapida e agile
- Altamente scalabile e testabile
- Facile configurazione e riconfigurazione
- Intelligente supporto per gli account degli utenti e ruoli
MVC ArchitetturaAppML utilizza un'architettura MVC MVC sta per Model, View, Controller di Il modello descrive l'applicazione. The View visualizza i dati. Il controller controlla l'applicazione (of course) . Wikipedia: Model, View, Controller di |
Il MODELLO - Just JSON
Il modello descrive l'applicazione.
Il modello è riutilizzabile su diverse piattaforme hardware e software (Server, PC, iPhone, Tablets, etc.) .
Il modello non è interessato con la presentazione o l'interfaccia utente (UI) .
Il modello è scritto in JSON:
Modello
{
"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"}
]
}
The View - Proprio HTML
La vista è l'interfaccia utente (User Interface) per la visualizzazione (and input) dei dati.
La vista è scritto in HTML e CSS:
HTML View
<!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>
Prova tu stesso " Il CONTROLLER - cliente e / o script server
Uno script client nella pagina web in grado di controllare l'applicazione:
- AppML può visualizzare i dati, come definito nel modello
- AppML può visualizzare i dati come definito da attributi HTML.
- Le applicazioni possono eseguire AppML indipendente HTML (hidden)
- (Opzionalmente) AppML può richiedere dati del modello da un server web (server SQL)
- utenti (opzionale) AppML possibile modificare i dati
- (Opzionalmente) AppML può inviare dati a un server Web
Uno script server può controllare l'applicazione da:
- Ricevere richieste dal client (browser)
- Tornando dati al client
- Ricezione dei dati da parte del cliente
- Aggiornamento dei dati sul server
- Prendersi cura di autenticazione e protezione
L'arte della programmazione
Mantenere dimensioni delle applicazioni e la complessità bassa, è il problema principale di tutta la programmazione.
Controllo complessità delle applicazioni del computer, è la vera arte della programmazione.
programmazione dichiarativa
Lo sviluppo del software si rompe spesso scadenze e budget. Finito il software è spesso pieno di errori di codifica. Questo è perché il codice di computer è difficile da sviluppare, testare e gestire.
Coding è fuori. Si dovrebbe descrivere più cosa fare, meno Come fare.
Con AppML Dichiarate l'applicazione nel modello e nella vista.
Con AppML c'è meno (sometimes nothing) al codice.
Wikipedia: programmazione dichiarativa
Sviluppo rapido di applicazioni e Agile
Controllo complessità delle applicazioni del computer è la vera arte della programmazione.
Mantenendo dimensioni delle applicazioni e complessità sotto sotto controllo è il problema principale di tutta la programmazione.
RAD è un metodo di sviluppo del software che utilizza la pianificazione minima a favore di prototipazione rapida.
AppML offre prototipazione super-veloce, fino a 100 volte più veloce rispetto ai metodi di sviluppo tradizionali.
prototipi applicazione può essere eseguita direttamente dal modello di applicazione, senza alcuna codifica.
Wikipedia: Rapid Application Development
sviluppo agile del software è un metodo basato sullo sviluppo step-by-step, in cui le soluzioni sono creati da utenti e sviluppatori in collaborazione.
Con AppML, le applicazioni possono essere scritte passo dopo passo, in piccoli incrementi, dai prototipi alle applicazioni complete.
Wikipedia: sviluppo agile del software
Codice primo
Un'applicazione web può essere sviluppata in due modi diversi:
1. Codice Primo: Utilizzando pre-programmata, pre-testato codice, aggiungendo solo nuove descrizioni di applicazione.
2. Contratto Primo: Codifica l'applicazione da zero utilizzando la descrizione completa esigenza applicativa.
AppML utilizza il concetto più razionale: primo codice.
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA) è un'architettura per la creazione di applicazioni web.
SOA offre bassi costi di sviluppo ed elevata flessibilità.
Con SOA, le applicazioni possono essere create da zero, o da infrastrutture IT esistenti, e possono essere usate, da diverse applicazioni, su diversi hardware e software.
SOA è una misura perfetta per MVC e programmazione dichiarativa, in cui i dati possono essere facilmente consumate senza la preoccupazione di come.
Servizi web
Un servizio Web è un'interfaccia di dati, identificati da un URL, proprio come una pagina web.
Un servizio web è diverso da una pagina web, solo nel suo modo di comunicare le informazioni.
Un tipico servizio Web fornisce solo i dati a una pagina web.
Con AppML, HTML è l'interfaccia utente, un Web Service fornisce i dati.
Web Services originali sono stati progettati per utilizzare standard XML come SOAP, WSDL, UDDI e.
I moderni servizi web come AppML sono molto più facili da usare.
- Più semplice da capire - Può essere letto da esseri umani
- Leggero - nessun codice non necessario o markup
- Facile da implementare - senza gli strumenti di sviluppo necessari
Vantaggi di Web Services
- I servizi Web sono piccole unità di codice
- I servizi Web sono progettati per gestire un numero limitato di compiti
- protocolli di comunicazione basati su servizi Web utilizzano HTTP
- I servizi Web sono indipendenti dai sistemi operativi
- I servizi Web sono indipendenti di linguaggi di programmazione
- I servizi Web possono connettersi diverse applicazioni, sistemi e dispositivi
- Web Services rende facile per distribuire informazioni
- Web Services favorisce lo sviluppo rapido di applicazioni
Esempio: un piccolo programma progettato per la fornitura di altre applicazioni con i prezzi di borsa.
Esempio: Gli orari dei voli e dei sistemi di prenotazione di biglietti.
Poiché i servizi web utilizzano HTTP, che sono indipendenti da entrambi i sistemi operativi e linguaggi di programmazione.
Cloud computing
Cloud Computing è un'estensione della SOA: Application-as-a service, Storage-as-a-service, Data-as-a-service.
Per la maggior parte delle persone, il Cloud Computing è circa la memorizzazione dei dati sul web:
- Messaggi di posta elettronica e calendari
- I documenti e fogli di calcolo
- Libri, note e di fare le liste
- Musica, immagini e filmati
- Database e applicazioni
Le ragioni sono abbastanza evidenti:
- Per avere accesso ai dati da tutto il mondo
- Per condividere i miei dati con gli altri
- Per sopravvivere modifiche hardware o crash
Con AppML, è molto facile da mettere entrambi i database e le applicazioni nel cloud.