Nowoczesna architektura Web
AppML łączy najbardziej up-to-date techniki i idee nowoczesnego rozwoju internetowej.
AppML skupić się na szybkość, prostota i niski koszt:
- Service Oriented Architecture MVC
- Bardzo niski pobór Bandwidth
- Zoptymalizowane dla Cloud Computing
- Pełna Oddzielenie treści od prezentacji
- Inteligentne programowanie deklaratywne
- Szybka i Agile Web Development
- Wysoce skalowalny i sprawdzalne
- Łatwa konfiguracja i Rekonfiguracja
- Inteligentne wsparcie dla kont użytkowników i ról
Architektura MVCAppML wykorzystuje architekturę MVC MVC oznacza model, widok, kontroler Model opisuje swoją aplikację. The View wyświetla dane. Kontroler steruje swoją aplikację (of course) . Wikipedia: model, widok, kontroler |
MODEL - Just JSON
Model opisuje aplikację.
Model ten jest wielokrotnego użytku na różnych platformach sprzętowych i programowych (Server, PC, iPhone, Tablets, etc.) .
Model ten nie dotyczy prezentacji lub interfejs użytkownika (UI) .
Model ten jest napisany w JSON:
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"}
]
}
The View - Tylko HTML
Widok jest UI (User Interface) do wyświetlania (and input) danych.
Widok jest napisane w HTML i CSS:
HTML Zobacz
<!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>
Spróbuj sam " Kontroler - Klient i / lub skrypty serwerowe
Skrypt klienta na stronie internetowej może kontrolować aplikację:
- AppML może wyświetlać dane zdefiniowane w modelu
- AppML może wyświetlać dane zdefiniowane przez atrybuty HTML.
- Aplikacje AppML można uruchomić niezależnie od HTML (hidden)
- (Ewentualnie) AppML może żądać danych modelu z serwera sieciowego (serwer SQL)
- użytkowników (Opcjonalnie) AppML można edytować dane
- (Opcjonalnie) AppML może wysyłać dane do serwera WWW
Skrypt serwer może kontrolować stosowanie przez:
- Przyjmowanie wniosków od klienta (browser)
- Zwracanie danych do klienta
- Odbieranie danych od klienta
- Aktualizacja danych na serwerze
- Dbanie o uwierzytelnianiu i bezpieczeństwa
The Art of Programming
Utrzymanie wielkości i złożoności aplikacji niskie, to główny problem wszystkich programów.
Kontrolowanie złożoność aplikacji komputerowej, jest prawdziwą sztuką programowania.
Programowanie deklaratywne
Rozwój oprogramowania często łamie terminów i budżetów. Ukończony oprogramowanie jest często pełne błędów kodowania. To dlatego, że kod komputerowy jest trudne do opracowania, testowania i utrzymania.
Kodowanie jest obecnie. Należy opisać więcej Co robić, mniej Jak to zrobić.
Z AppML zadeklarować swoją aplikację w modelu, w widoku.
Z AppML jest mniej (sometimes nothing) do kodu.
Wikipedia: programowanie deklaratywne
Szybki i zwinny Application Development
Kontrolowanie złożoność aplikacji komputerowej jest prawdziwą sztuką programowania.
Utrzymanie wielkości i złożoności aplikacji pod pod kontrolą to główny problem wszystkich programów.
RAD to metoda rozwoju oprogramowania, które wykorzystuje minimalną planowania na rzecz szybkiego prototypowania.
AppML dostarcza super-szybkiego prototypowania, aż do 100 razy szybciej niż w przypadku tradycyjnych metod rozwoju.
prototypy aplikacji można uruchomić bezpośrednio z modelu aplikacji bez kodowania.
Wikipedia: Rozwój Rapid Application
Programowanie zwinne jest metoda oparta na rozwój krok po kroku, gdzie rozwiązania są tworzone przez użytkowników i programistów we współpracy.
Z AppML aplikacje mogą być napisane krok po kroku, w małych odstępach, od prototypów do pełnych wniosków.
Wikipedia: Agile Software Development
Pierwszy kod
Aplikacja internetowa może być opracowane na dwa różne sposoby:
1. Kod pierwsze: Używanie wstępnie zaprogramowane i przetestowane kod, dodając tylko nowe opisy aplikacji.
2. zamówieniu pierwsze: Kodowanie aplikacji z podstaw za pomocą pełnego opisu wymaganie zastosowania.
AppML wykorzystuje najbardziej racjonalną koncepcję: kod najpierw.
Architektura zorientowana na usługi (SOA)
Architektura zorientowana na usługi (SOA) to architektura do tworzenia aplikacji internetowych.
SOA oferuje niskie koszty i wysoką elastyczność.
Z SOA, aplikacje mogą być tworzone od podstaw lub z istniejącą infrastrukturą IT i będą używane przez różne aplikacje, na innym sprzęcie i oprogramowaniu.
SOA jest idealne dopasowanie do MVC i programowanie deklaratywne, gdzie dane mogą być łatwo spożywane bez obawy o jak.
Usługi internetowe
Serwis internetowy to interfejs do danych, określonych przez adres URL, tak jak na stronie internetowej.
Serwis internetowy różni się od strony internetowej, tylko w sposób przekazuje informacje.
Typowym Web Service zapewnia tylko dane na stronie internetowej.
Z AppML, HTML jest interfejs użytkownika, Web Service udostępnia dane.
Oryginalne Web Services zostały zaprojektowane do wykorzystania standardów XML, takich jak mydło, WSDL i UDDI,.
Nowoczesnych usług internetowych, takich jak AppML są znacznie łatwiejsze w użyciu.
- Prostsze do zrozumienia - mogą być odczytywane przez ludzi
- Lekkie - bez niepotrzebnego kodu lub znaczników
- Łatwe do wdrożenia - brak narzędzi programistycznych wymaganych
Korzyści z Web Services
- Usługi internetowe są małe jednostki kodu
- Usługi internetowe są przeznaczone do obsługi ograniczony zestaw zadań
- Usługi sieci Web używają protokołów HTTP oparte komunikujące
- Usługi internetowe są niezależne od systemów operacyjnych
- Usługi internetowe są niezależne od języków programowania
- usług internetowych mogą łączyć różnych aplikacji, systemów i urządzeń
- Web Services ułatwia rozpowszechnianie informacji
- Web Services sprzyja szybki rozwój aplikacji
Przykład: mały program przeznaczony do dostarczania innych aplikacji z cenami giełdowymi.
Przykład: Rozkłady lotów i systemy rezerwacji biletów.
Ponieważ usługi WWW za pomocą protokołu HTTP, są one niezależne od obu systemach operacyjnych i językach programowania.
Chmura obliczeniowa
Cloud Computing jest przedłużeniem SOA: Application-jako-usługa, Przechowywanie-as-a-Service, Data-as-a-service.
Dla większości ludzi, Cloud Computing jest o przechowywanie danych w internecie:
- E-maile i kalendarze
- Dokumenty i arkusze kalkulacyjne
- Książki, notatki i listy do zrobienia
- Muzyka, zdjęcia i filmy
- Bazy danych i aplikacje
Przyczyny są dość oczywiste:
- Aby mieć dostęp do danych z wszędzie
- Aby udostępnić swoje dane z innymi
- Aby przetrwać zmian sprzętowych lub awarii
Z AppML, to jest bardzo łatwe do wprowadzenia obu baz danych i aplikacji w chmurze.