MVC 架構(gòu)? <AppML> 采用了 MVC 架構(gòu) MVC全名是Model View Controller,是模型(Model)-視圖(View)-控制器(Controller)的縮寫,一種軟件設(shè)計典范。 模型(Model) 描述你的應(yīng)用。 視圖(View) 顯示你的數(shù)據(jù)。 制器(Controller) 控制你的應(yīng)用。 ? Wikipedia: Model, View, Controller ? | ??????? | ![]() |
模型描述了您的應(yīng)用程序,并且可在不同的硬件 和軟件平臺(PC,iPhone,Tablets,等)重復(fù)使用。它不關(guān)心用戶 界面(UI)或表現(xiàn)形式。
模型采用xml編寫,存儲于web服務(wù)器中。
以上實例定義了數(shù)據(jù)源來自Northwind數(shù)據(jù)庫。
該模型允許 使用預(yù)定義的SQL獲取數(shù)據(jù)。它還允許通過Customer, City, 和 Country查詢數(shù)據(jù)很排序。
視圖即是 UI (User Interface:用戶界面)。它通常是一個顯示和輸入數(shù)據(jù)(可選)HTML頁面:
<h1>My First Web Application</h1>
<div id="Place01"></div>
<script src="appml.js"></script>
<script>
customers=new AppML("appml.html","Customers.xml");
customers.run("Place01");
</script>
</body>
</html>
以上HTML頁面使用通過執(zhí)行腳本語言創(chuàng)建一個 AppML 對象,并將數(shù)據(jù)顯示在id="Place01"的div中。
采用了 "appml.js" 腳本文件。
服務(wù)端腳本通過以下方式控制應(yīng)用:
瀏覽器腳本通過以下方式控制應(yīng)用:
|
數(shù)據(jù)文件夾: Data 圖片文件夾: Images 模型文件夾: Models 應(yīng)用: Demo.htm 樣式: Demo.css
<AppML> 配置文件: appml_config.php (或者 .htmlx) <AppML> 樣式文件: appml.css <AppML> 瀏覽器控制器: appml.js <AppML> 服務(wù)器控制器: appml.php (或者 .htmlx) |
快速應(yīng)用開發(fā)(Rapid Application Development、RAD)不僅是一種需求抽取方法,它還是是軟件開發(fā)為一體的方法。 快速應(yīng)用開發(fā)目的是快速發(fā)布系統(tǒng)方案,而技術(shù)上的優(yōu)美相對發(fā)布的速度來說是次要的。
<AppML> 提供超快速的原型設(shè)計,比傳統(tǒng)的軟件 開發(fā)方法高100倍的速度。
應(yīng)用程序原型可以直接從應(yīng)用程序模型運行,無需任何編碼。
Wikipedia: Rapid Application Development
敏捷軟件開發(fā)是基于用戶和開發(fā)者相互協(xié)作的基礎(chǔ)上一步一步的基發(fā)展而來的方法。
<AppML>應(yīng)用從原型到完整的應(yīng)用可以通過遞增的方式一步步來編寫實現(xiàn)。
Wikipedia: Agile Software Development
軟件開發(fā)往往無法按照預(yù)期的時間和預(yù)算完成。軟件編碼錯誤也是經(jīng)常出現(xiàn)。 這是因為計算機代碼是很難開發(fā),測試,維護。
編碼已經(jīng) 過時了。你應(yīng)該更多描述做什么,而不是如何實現(xiàn)它。
使用 <AppML> 你需要在模型中聲明 你的應(yīng)用 。
使用 <AppML> 可以 少寫或者不用編寫代碼。
Wikipedia: Declarative Programming
Web應(yīng)用程序開發(fā)可以使用以下兩種不同的方式:
1. 代碼先行(Code First):使用預(yù)編程,預(yù)先測試的代碼,只增加新的應(yīng)用程序說明。
2. 契約優(yōu)先(Contract First):從頭開始使用完整的應(yīng)用程序的說明要求 編寫應(yīng)用程序。
<AppML>采用最合理的概念: 代碼先行(Code First).
Web Service 是一個數(shù)據(jù)接口, 通過URL指定,就像一個web頁面。 但它有別與web頁面, 它只是一種傳達信息的方式。
一個典型的 Web Service 為頁面提供了數(shù)據(jù)。
使用 <AppML>, HTML 顯示為用戶界面, <AppML>提供數(shù)據(jù)。
Original Web Services 設(shè)計使用了 XML 標(biāo)志如 SOAP, WSDL, 和 UDDI。
Modern Web Services 比如 <AppML> 應(yīng)用更加簡單。
面向服務(wù)的體系結(jié)構(gòu)(service-oriented architecture,SOA)是一個組件模型,它將應(yīng)用程序的不同功能單元(稱為服務(wù))通過這些服務(wù)之間定義良好的接口和契約聯(lián)系起來。接口是采用中立的方式進行定義的,它應(yīng)該獨立于實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言。這使得構(gòu)建在各種這樣的系統(tǒng)中的服務(wù)可以以一種統(tǒng)一和通用的方式進行交互。
例如一個Web services,可以設(shè)計一個小程序,提供其他 最新的股票的交易價格的應(yīng)用程序。
Web services使用HTTP協(xié)議與其他系統(tǒng)進行通信, Web服務(wù)是獨立于操作系統(tǒng)和編程 語言。
調(diào)用Web services的應(yīng)用程序?qū)⑹冀K使用 HTTP協(xié)議發(fā)送請求。調(diào)用應(yīng)用程序?qū)⒂肋h不會 關(guān)心其他計算機運行的操作系統(tǒng)或編程語言 。
Web services可以為更多的企業(yè)創(chuàng)造新的可能性,因為它提供了一種簡單的方法的方式 分發(fā)了大量的信息。
比如:航班時刻表和機票預(yù)定系統(tǒng)。
云計算(Cloud Computing)是SOA的擴展: 應(yīng)用即服務(wù)(Application-as-a service), 存儲即服務(wù)(Storage-as-a-service),數(shù)據(jù)即服務(wù)(Data-as-a-service)。
對于大多數(shù)人,云計算是在web上存儲數(shù)據(jù):
原因很明顯:
<AppML> 可以很輕松地將數(shù)據(jù)庫和應(yīng)用程序放在云中。
更多建議: