1999年的Refsnes數據開發AppML的第一個版本。
已經然後,AppML是基於web客戶端和web服務器之間的HTTP請求的通信。 後來這種方法成為眾所周知的AJAX。
2000年9月,對於大客戶的挪威開發項目正式開工。 該項目的目標是一個龐大的信息系統(約300應用程序)從Windows桌面應用程序轉換為一個現代化的互聯網應用,只使用AppML。
基於AppML的系統於2001年啟動,計劃之前數月,作為世界上第一個商用AJAX應用程序。 該項目獲得了巨大成功,相比於普通的web開發的開發時間縮短了75%。 從那時起,新的應用程序已被添加,並且系統現已覆蓋超過1000運行的應用程序。
在2015年2月,w3ii再次推出AppML作為新產品,向公眾開放。
AppML設計目標:
- AppML應用程序必須在互聯網上運行
- AppML應用程序必須是獨立於平台
- AppML應用程序必須只使用Internet標準(HTML,CSS,JavaScript的)
- AppML應用程序必須支持各種應用需求
- AppML應用程序必須是自描述
- AppML應用程序必須易於開發,維護和變更
- AppML應用程序必須面向未來
下面的段落描述的Refsnes Data的最初的設想s (1999)約f uture Web應用程序。
可執行文件會死,JavaScript的將生活
編譯的可執行文件(compiled from languages like C or Java)不能在不同的硬件上運行。
可執行文件(EXE files, ActiveX and COM objects, DLL-files)是預防的,可以在互聯網上運行的應用程序的開發組件。
未來的應用將無法使用,或靠,可執行文件或安裝在客戶端計算機上的任何其他組件。
我們的建議:
僅使用HTML,CSS和JavaScript編寫的應用前景。
確保你的未來的應用程序在任何網絡瀏覽器上運行。
網絡應用程序將被上網服務
歷史是充滿大,專門構建的應用程序。 許多這些死亡速度非常快,因為它們無法適應需求的變化。
應用程序應該是靈活的,廣義的,優雅地適應變化,而不會崩潰或破壞。
應用程序應該能夠從支持幾個到數百萬每天請求的規模。
應用程序應該能夠從一台服務器蔓延到許多,或在服務器之間移動,而無需中斷應用程序。
應用程序應該能夠與其他應用程序進行合作。
應用程序不應該含有大量群眾的代碼。
應用程序應該被分解成更小的服務,即很容易創建和維護方便。
應用程序應該是一組的互聯網服務,可以返回的數據提交Internet請求。
應用程序應該通過要求標準的互聯網協議服務,而無需維護服務器的永久連接。
我們的建議:
編寫使用Internet基於SOA的未來應用(Service Oriented Architecture) 。
讓你的應用服務通用性和靈活性,並隨時準備為不同類型的請求。
未來的應用將很容易創建和編輯
客戶端和服務器將在一個易於理解的方式進行數據交換。
申請將不被編碼,如果能夠避免它。
應用程序將創建和修改,通過修改模型,而不是通過編輯代碼。
應用的描述將是人類可讀的。
應用的描述將是自描述。
應用程序將用戶,不是程序員來寫。
我們的建議:
使用人類可讀的文本文件來描述服務,並通過執行這些描述提供服務。
使用文本文件(like JSON files)來描述應用程序。
使用文本文件(like JSON files)來交換數據。
使用HTML,CSS和JavaScript來執行應用程序。
三個小Web開發...
曾幾何時有三個小Web開發人員開發一個新網站。
1.第一個Web開發人員使用AppML。
2.第二個Web開發人員使用他最喜歡的服務器編程語言。
3.使用專業的企業Web開發框架,第三個是。
第一個web開發人員有一個演示和運行在兩天。 與用戶合作後,退出的原型是在一周內準備就緒。 兩個星期的測試,智能,快速和易於使用,網站後,準備發布。
第二個Web開發人員必須6個月後他的網站準備。 但是,WWW已經改變了它的要求,並不滿意。 因為它包含了太多的代碼的Web開發人員不能讓他的項目發生重大變化。 於是,他開始了第2版的開發。
第三個Web開發人員從來沒有設法完成他的工作。 專業的Web開發框架是測試很難使用,很難理解,而且幾乎是不可能的。