Arsitektur web modern
AppML menggabungkan teknik yang paling up-to-date dan ide-ide pengembangan web modern.
AppML fokus pada kecepatan, kesederhanaan, dan biaya rendah:
- Service Oriented Architecture MVC
- Konsumsi Bandwidth sangat rendah
- Dioptimalkan untuk Cloud Computing
- Pemisahan penuh Konten dari Presentasi
- Cerdas deklaratif Pemrograman
- Web Development cepat dan Agile
- Sangat Scalable dan dapat diuji
- Konfigurasi mudah dan rekonfigurasi
- Dukungan Smart untuk User Account dan Peran
MVC ArsitekturAppML menggunakan Arsitektur MVC MVC singkatan dari Model, View, Controller Model menggambarkan aplikasi Anda. The View menampilkan data Anda. Controller mengontrol aplikasi Anda (of course) . Wikipedia: Model, View, Controller |
MODEL - Hanya JSON
Model ini menggambarkan aplikasi.
Model ini dapat digunakan kembali pada hardware dan software yang berbeda platform (Server, PC, iPhone, Tablets, etc.) .
Model ini tidak peduli dengan presentasi atau user interface (UI) .
Model ini ditulis dalam 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"}
]
}
VIEW The - Hanya HTML
Pandangan adalah UI (User Interface) untuk menampilkan (and input) data.
Pandangan ditulis dalam HTML dan 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>
Cobalah sendiri " The CONTROLLER - Client dan / atau Script Server
Sebuah script klien dalam halaman web dapat mengontrol aplikasi:
- AppML dapat menampilkan data seperti yang didefinisikan dalam model
- AppML dapat menampilkan data seperti yang didefinisikan oleh atribut HTML.
- Aplikasi AppML dapat berjalan independen HTML (hidden)
- (Opsional) AppML dapat meminta data Model dari web server (SQL Server)
- pengguna (Opsional) AppML dapat mengedit data
- (Opsional) AppML dapat mengirim data ke web server
Sebuah script server dapat mengontrol aplikasi dengan:
- Menerima permintaan dari klien (browser)
- Kembali data ke klien
- Menerima data dari klien
- Pemutakhiran data di server
- Merawat otentikasi dan keamanan
The Art of Programming
Menjaga ukuran aplikasi dan kompleksitas rendah, adalah masalah utama dari semua program.
Mengontrol kompleksitas aplikasi komputer, adalah seni sejati pemrograman.
deklaratif Pemrograman
pengembangan perangkat lunak sering istirahat tenggat waktu dan anggaran. software selesai sering penuh dari kesalahan coding. Hal ini karena kode komputer sulit untuk mengembangkan, menguji, dan memelihara.
Coding adalah Out. Anda harus menjelaskan lebih Apa yang harus dilakukan, kurang Bagaimana melakukannya.
Dengan AppML Anda Menyatakan aplikasi Anda dalam Model dan di View.
Dengan AppML ada sedikit (sometimes nothing) ke kode.
Wikipedia: deklaratif Pemrograman
Cepat dan Agile Pengembangan Aplikasi
Mengontrol kompleksitas aplikasi komputer adalah seni sejati pemrograman.
Menjaga ukuran aplikasi dan kompleksitas bawah di bawah kontrol adalah masalah utama dari semua program.
RAD adalah metode pengembangan perangkat lunak yang menggunakan perencanaan minimal mendukung prototyping cepat.
AppML memberikan prototyping super cepat, hingga 100 kali lebih cepat daripada metode pembangunan tradisional.
prototipe aplikasi dapat dijalankan langsung dari model aplikasi, tanpa coding.
Wikipedia: Pengembangan Aplikasi Cepat
pengembangan perangkat lunak Agile adalah metode yang didasarkan pada langkah-demi-langkah pembangunan, di mana solusi yang dibuat oleh pengguna dan pengembang bekerja sama.
Dengan AppML, aplikasi dapat ditulis langkah demi langkah, sedikit demi sedikit, dari prototipe untuk aplikasi penuh.
Wikipedia: Pengembangan Software Agile
kode Pertama
Sebuah aplikasi web dapat dikembangkan dalam dua cara yang berbeda:
1. Kode Pertama: Menggunakan pra-diprogram, pra-diuji kode, hanya menambahkan deskripsi aplikasi baru.
2. Kontrak Pertama: Coding aplikasi dari awal dengan menggunakan deskripsi lengkap persyaratan aplikasi.
AppML menggunakan konsep paling rasional: Kode Pertama.
Service Oriented Architecture (SOA)
Service Oriented Architecture (SOA) adalah sebuah arsitektur untuk membangun aplikasi web.
SOA menawarkan biaya pengembangan yang rendah dan fleksibilitas yang tinggi.
Dengan SOA, aplikasi dapat dibuat dari awal, atau dari yang ada infrastruktur IT, dan digunakan, oleh berbagai aplikasi, hardware dan software yang berbeda.
SOA sangat cocok untuk MVC dan deklaratif Pemrograman, di mana data dapat dengan mudah dikonsumsi tanpa kekhawatiran tentang bagaimana.
Layanan web
Sebuah Layanan Web adalah sebuah antarmuka untuk data, diidentifikasi oleh URL, seperti halaman web.
Sebuah Layanan Web berbeda dari halaman web, hanya dalam cara mengkomunikasikan informasi.
Sebuah Layanan Web khas hanya menyediakan data ke halaman web.
Dengan AppML, HTML adalah antarmuka pengguna, Web Service menyediakan data.
Asli Web Services dirancang untuk menggunakan standar XML seperti SOAP, WSDL, dan UDDI.
Modern Web Services seperti AppML jauh lebih mudah digunakan.
- Sederhana untuk memahami - Dapat dibaca oleh manusia
- Ringan - tidak ada kode yang tidak perlu atau markup
- Mudah untuk menerapkan - tidak ada alat pengembangan yang diperlukan
Manfaat Layanan Web
- layanan Web unit kecil kode
- layanan web yang dirancang untuk menangani satu set terbatas tugas
- layanan web menggunakan HTTP protokol berkomunikasi berdasarkan
- layanan web independen dari sistem operasi
- layanan web independen dari bahasa pemrograman
- layanan web dapat menghubungkan aplikasi yang berbeda, sistem, dan perangkat
- Layanan web membuatnya mudah untuk mendistribusikan informasi
- Layanan web nikmat pengembangan aplikasi cepat
Contoh: Sebuah program kecil yang dirancang untuk menyediakan aplikasi lain dengan harga bursa.
Contoh: Jadwal penerbangan dan sistem pemesanan tiket.
Sejak layanan web menggunakan HTTP, mereka adalah independen dari kedua sistem operasi dan bahasa pemrograman.
Komputasi awan
Cloud Computing merupakan perpanjangan dari SOA: Aplikasi-sebagai-layanan, Storage-as-a-service, data-as-a-service.
Bagi kebanyakan orang, Cloud Computing adalah tentang menyimpan data di web:
- Email dan kalender
- Dokumen dan spreadsheet
- Buku, catatan, dan untuk melakukan daftar
- Musik, gambar dan film
- Database dan aplikasi
Alasannya cukup jelas:
- Untuk memiliki akses ke data dari mana-mana
- Untuk berbagi data dengan orang lain
- Untuk bertahan hidup perubahan hardware atau crash
Dengan AppML, sangat mudah untuk menempatkan kedua database dan aplikasi di awan.