最新的Web開發教程
 

AppML架構


現代Web架構

AppML結合了最先進的最新技術和現代網絡的發展思路。

AppML注重速度,簡單性和成本低:

  • 面向服務的MVC架構
  • 極低的帶寬消耗
  • 優化雲計算
  • 從演示內容的完全分離
  • 智能聲明式編程
  • 快速和敏捷Web開發
  • 高可擴展性和可測試
  • 簡單的配置和重新配置
  • 對用戶帳戶和角色支持SMART

MVC架構

AppML使用MVC架構

MVC代表模型,視圖,控制器

模型描述了您的應用程序。

視圖顯示您的數據。

控制器控制您的應用程序(of course)

維基百科: 模型,視圖,控制器

MVC

模型 - 只需JSON

該模型描述了應用。

該模型是在不同的硬件和軟件平台的可重複使用的(Server, PC, iPhone, Tablets, etc.)

該模型是不關心呈現或用戶界面(UI)

該模型是用JSON:

模型

{
"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"}
]
}

查看 - 剛剛HTML

該視圖是在UI (User Interface) ,用於顯示(and input)的數據。

視圖是用HTML和CSS:

HTML查看

<!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>
試一試»

控制器 - 客戶端和/或服務器腳本

網頁中的客戶端腳本可以控制應用程序:

  • 如在模型中定義AppML能夠顯示數據
  • 由HTML屬性定義AppML能夠顯示數據。
  • AppML應用程序可以運行獨立的HTML (hidden)
  • (可選地)可以AppML從web服務器(SQL服務器)請求數據模型
  • (任選地)AppML用戶可以編輯數據
  • (任選地)AppML可以發送數據到web服務器

服務器腳本可以控制應用程序:

  • 從客戶端接收請求(browser)
  • 將數據返回到客戶端
  • 從客戶端接收數據
  • 更新服務器上的數據
  • 以驗證和安全的護理

編程的藝術

保持應用程序的大小和複雜性低,是所有節目的主要問題。

控制計算機應用的複雜性,是程序設計的真正的藝術。


聲明式編程

軟件開發經常斷裂期限和預算。 成品軟件常常爆滿編碼錯誤的。 這是因為計算機代碼是很難開發,測試和維護。

編碼已超出 。 你應該更多的描述做什麼 ,少怎麼辦呢。

隨著AppML您在模型視圖 聲明你的應用程序。

隨著AppML(sometimes nothing)代碼

維基百科: 聲明式編程


快速和敏捷應用開發

控制計算機應用的複雜性是程序設計的真正的藝術。

在控制下保持應用程序的大小和複雜性是所有節目的主要問題。

RAD是使用最低限度的計劃有利於快速原型的軟件開發方法。

AppML提供超快速的原型設計,高達100倍,比傳統的開發方法更快。

應用原型,可以直接從應用模式運行,無需任何編碼。

維基百科:快速應用程序開發

敏捷軟件開發是基於一步一步的發展,在解決方案的用戶和開發者合作創建了一個方法。

隨著AppML,應用可以用一步一個腳印,以小的增量,從原型到完整的應用程序。

維基百科:敏捷軟件開發


代碼優先

Web應用程序可以在兩種不同的方式進行開發:

1.代碼首先:使用預編程的,預測試代碼,只添加新的應用程序的描述。

2.合同第一:編碼從頭開始使用完整的應用需求描述的應用。

AppML使用最合理的概念: 代碼第一


面向服務的架構(SOA)

面向服務的架構(SOA)是一種用於構建Web應用程序的架構。

SOA提供了開發成本低,靈活性高。

有了SOA,應用程序可以創建從無到有,或從現有的IT基礎架構,並使用由不同的應用程序,在不同的硬件和軟件。

SOAMVC聲明式編程 ,其中數據可以不如何的關注很容易消耗再合適不過了。


網頁服務

Web服務是數據,通過URL標識的接口,就像一個網頁。

一個Web服務從網頁不同,只有在它傳達信息的方式。

一個典型的Web服務只提供數據到網頁。

隨著AppML,HTML是用戶界面,Web服務提供的數據。

原始Web服務被設計為使用XML標準,如SOAP,WSDL和UDDI。

現代的Web服務,如AppML更容易使用。

  • 容易理解 - 人類可以閱讀
  • 輕量級 - 沒有不必要的代碼或標記
  • 易於實施 - 無需開發工具

Web服務的好處

  • Web服務是代碼的小戶型
  • Web服務是專門用來處理一組有限的任務
  • Web服務使用基於HTTP通信協議
  • Web服務是獨立的操作系統
  • Web服務是獨立的編程語言
  • Web服務可以連接不同的應用程序,系統和設備
  • Web服務可以很容易地發布信息
  • Web服務有利於快速應用程序開發

例如:一個小程序設計與證券交易所的價格供應其他應用程序。

例如:航班時刻表和機票預訂系統。

由於Web服務使用HTTP,他們是獨立於操作系統和編程語言。


雲計算

雲計算是SOA的擴展:應用作為一種服務,存儲作為一種服務,數據作為一種服務。

對於大多數人來說,雲計算是有關存儲在網絡上的數據:

  • 電子郵件和日曆
  • 文檔和電子表格
  • 書籍,筆記,待辦事項
  • 音樂,圖片和電影
  • 數據庫和應用程序

原因是很明顯的:

  • 有來自世界各地的訪問數據
  • 分享我與其他人的數據
  • 為了生存硬件更改或崩潰

隨著AppML,這是很容易把數據庫和應用程序在雲中。