Kiến trúc AppML
Kiến trúc web hiện đại
AppML kết hợp các kỹ thuật và ý tưởng cập nhật nhất về phát triển web hiện đại.
AppML tập trung vào tốc độ, tính đơn giản và chi phí thấp:
- Giá thấp
- Phát triển web nhanh chóng và linh hoạt
- Tối ưu hóa cho điện toán đám mây
- Tốc độ cao và tiêu thụ băng thông thấp
- Kiến trúc MVC (Model Viev Controller)
- Tách hoàn toàn nội dung khỏi bản trình bày
- Có khả năng mở rộng cao và có thể kiểm tra được
- Cấu hình và cấu hình lại dễ dàng
- Cấu hình lại trong khi ứng dụng đang chạy
- Hỗ trợ thông minh cho tài khoản và vai trò người dùng
Kiến trúc MVCAppML sử dụng Kiến trúc MVC MVC là viết tắt của Model, View, Controller Mô hình mô tả ứng dụng của bạn. Chế độ xem hiển thị dữ liệu của bạn. Bộ điều khiển kiểm soát ứng dụng của bạn (tất nhiên). Wikipedia: Mô hình, Chế độ xem, Bộ điều khiển |
MÔ HÌNH - Chỉ JSON
Mô hình mô tả ứng dụng.
Mô hình này có thể được sử dụng lại trên các nền tảng phần cứng và phần mềm khác nhau (Máy chủ, PC, iPhone, Máy tính bảng, v.v.).
Mô hình không liên quan đến cách trình bày hoặc giao diện người dùng (UI).
Mô hình được viết bằng JSON:
Người mẫu
{
"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"}
]
}
CHẾ ĐỘ XEM - Chỉ là HTML
Chế độ xem là UI (Giao diện người dùng) để hiển thị (và đầu vào) dữ liệu.
Chế độ xem được viết bằng HTML và CSS:
Chế độ xem HTML
<!DOCTYPE html>
<html lang="en-US">
<title>Customers</title>
<link rel="stylesheet" href="https://www.example.com.vn/w3css/4/w3.css">
<script src="https://www.example.com.vn/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>
Hãy tự mình thử » BỘ ĐIỀU KHIỂN - Tập lệnh máy khách và/hoặc máy chủ
Tập lệnh máy khách trong trang web có thể điều khiển ứng dụng:
- AppML có thể hiển thị dữ liệu như được xác định trong mô hình
- AppML có thể hiển thị dữ liệu như được xác định bởi các thuộc tính HTML.
- Các ứng dụng AppML có thể chạy độc lập với HTML (ẩn)
- (Tùy chọn) AppML có thể yêu cầu dữ liệu mô hình từ máy chủ web (máy chủ SQL)
- (Tùy chọn) Người dùng AppML có thể chỉnh sửa dữ liệu
- (Tùy chọn) AppML có thể gửi dữ liệu đến máy chủ web
Tập lệnh máy chủ có thể điều khiển ứng dụng bằng cách:
- Nhận yêu cầu từ client (trình duyệt)
- Trả lại dữ liệu cho client
- Nhận dữ liệu từ client
- Cập nhật dữ liệu trên máy chủ
- Chăm sóc xác thực và bảo mật
Nghệ thuật lập trình
Giữ kích thước ứng dụng và độ phức tạp ở mức thấp là vấn đề chính của tất cả các chương trình.
Kiểm soát độ phức tạp của ứng dụng máy tính là nghệ thuật lập trình thực sự.
Lập trình khai báo
Phát triển phần mềm thường vi phạm thời hạn và ngân sách. Phần mềm hoàn thiện thường đầy lỗi mã hóa. Điều này là do mã máy tính rất khó phát triển, kiểm tra và bảo trì.
Mã hóa đã hết . Bạn nên mô tả nhiều hơn Việc cần làm, ít hơn Cách thực hiện.
Với AppML, bạn Khai báo ứng dụng của mình trong Model và trong View .
Với AppML, có ít mã hơn (đôi khi không có gì) .
Wikipedia: Lập trình khai báo
Phát triển ứng dụng nhanh chóng và linh hoạt
Kiểm soát độ phức tạp của ứng dụng máy tính là nghệ thuật lập trình thực sự.
Kiểm soát kích thước và độ phức tạp của ứng dụng là vấn đề chính của tất cả các chương trình.
RAD là một phương pháp phát triển phần mềm sử dụng kế hoạch tối thiểu để tạo nguyên mẫu nhanh.
AppML cung cấp khả năng tạo mẫu siêu nhanh, nhanh hơn tới 100 lần so với các phương pháp phát triển truyền thống.
Các nguyên mẫu ứng dụng có thể chạy trực tiếp từ mô hình ứng dụng mà không cần bất kỳ mã hóa nào.
Wikipedia: Phát triển ứng dụng nhanh chóng
Phát triển phần mềm linh hoạt là một phương pháp dựa trên sự phát triển từng bước, trong đó các giải pháp được tạo ra bởi người dùng và nhà phát triển cùng cộng tác.
Với AppML, các ứng dụng có thể được viết từng bước, với từng bước nhỏ, từ nguyên mẫu đến ứng dụng đầy đủ.
Wikipedia: Phát triển phần mềm linh hoạt
Mã đầu tiên
Một ứng dụng web có thể được phát triển theo hai cách khác nhau:
1. Code First: Sử dụng mã được lập trình sẵn, được kiểm tra trước, chỉ thêm các mô tả ứng dụng mới.
2. Hợp đồng đầu tiên: Mã hóa ứng dụng từ đầu bằng cách sử dụng mô tả yêu cầu ứng dụng đầy đủ.
AppML sử dụng khái niệm hợp lý nhất: Code First .
Kiến trúc hướng dịch vụ (SOA)
Kiến trúc hướng dịch vụ (SOA) là một kiến trúc để xây dựng các ứng dụng web.
SOA cung cấp chi phí phát triển thấp và tính linh hoạt cao.
Với SOA , các ứng dụng có thể được tạo từ đầu hoặc từ cơ sở hạ tầng CNTT hiện có và được các ứng dụng khác nhau sử dụng trên các phần cứng và phần mềm khác nhau.
SOA hoàn toàn phù hợp cho MVC và Lập trình khai báo , nơi dữ liệu có thể được sử dụng dễ dàng mà không cần quan tâm đến cách thực hiện.
Dịch vụ web
Dịch vụ web là giao diện với dữ liệu, được xác định bằng URL, giống như một trang web.
Dịch vụ Web khác với một trang web chỉ ở cách nó truyền đạt thông tin.
Dịch vụ Web thông thường chỉ cung cấp dữ liệu cho một trang web.
Với AppML, HTML là giao diện người dùng, Dịch vụ web cung cấp dữ liệu.
Dịch vụ web gốc được thiết kế để sử dụng các tiêu chuẩn XML như SOAP, WSDL và UDDI.
Các dịch vụ web hiện đại như AppML dễ sử dụng hơn nhiều.
- Dễ hiểu hơn - Con người có thể đọc được
- Nhẹ - không có mã hoặc đánh dấu không cần thiết
- Dễ thực hiện - không cần công cụ phát triển
Lợi ích của dịch vụ web
- Dịch vụ web là những đơn vị mã nhỏ
- Các dịch vụ web được thiết kế để xử lý một số tác vụ nhất định
- Dịch vụ web sử dụng giao thức truyền thông dựa trên HTTP
- Dịch vụ web độc lập với hệ điều hành
- Dịch vụ web độc lập với ngôn ngữ lập trình
- Dịch vụ web có thể kết nối các ứng dụng, hệ thống và thiết bị khác nhau
- Dịch vụ Web giúp việc phân phối thông tin trở nên dễ dàng
- Dịch vụ Web hỗ trợ phát triển ứng dụng nhanh chóng
Ví dụ: Một chương trình nhỏ được thiết kế để cung cấp cho các ứng dụng khác thông tin về giá giao dịch chứng khoán.
Ví dụ: Lịch bay và hệ thống đặt vé.
Vì các dịch vụ web sử dụng HTTP nên chúng độc lập với cả hệ điều hành và ngôn ngữ lập trình.
Điện toán đám mây
Điện toán đám mây là phần mở rộng của SOA: Ứng dụng dưới dạng dịch vụ, Lưu trữ dưới dạng dịch vụ, Dữ liệu dưới dạng dịch vụ.
Đối với hầu hết mọi người, Điện toán đám mây là lưu trữ dữ liệu trên web:
- Email và lịch
- Tài liệu và bảng tính
- Sách, ghi chú và danh sách việc cần làm
- Âm nhạc, hình ảnh và phim
- Cơ sở dữ liệu và ứng dụng
Những lý do khá rõ ràng:
- Để có quyền truy cập vào dữ liệu từ mọi nơi
- Để chia sẻ dữ liệu của tôi với người khác
- Để tồn tại khi thay đổi phần cứng hoặc gặp sự cố
Với AppML, việc đưa cả cơ sở dữ liệu và ứng dụng lên đám mây là rất dễ dàng.