AppML 历史
1999 年,Refsnes Data 开发了 AppML 的第一个版本。
那时,AppML 已经基于 Web 客户端和 Web 服务器之间的 HTTP 请求通信。后来,这种方法以 AJAX 而闻名。
2000 年 9 月,为一位大型挪威客户启动了一个开发项目。该项目旨在仅使用 AppML,将一个庞大的信息系统(约 300 个应用程序)从 Windows 桌面应用程序转换为现代 Internet 应用程序。
基于 AppML 的系统于 2001 年上线,比计划提前数月,成为世界上第一个商用 AJAX 应用程序。该项目取得了巨大成功,与普通的 Web 开发相比,开发时间缩短了 75%。自那时以来,又增加了新应用程序,该系统现在覆盖了 1000 多个正在运行的应用程序。
2015 年 2 月,W3Schools 将 AppML 作为新产品重新发布,并向公众开放。
AppML 设计目标
- AppML 应用程序必须通过 Internet 运行
- AppML 应用程序必须是平台独立的
- AppML 应用程序必须仅使用 Internet 标准(HTML、CSS、JavaScript)
- AppML 应用程序必须支持各种应用程序需求
- AppML 应用程序必须是自描述的
- AppML 应用程序必须易于开发、维护和更改
- AppML 应用程序必须是面向未来的
以下段落描述了 Refsnes Data 最初(1999 年)关于未来 Web 应用程序的设想。
可执行文件将消亡,JavaScript 将永存
可编译的可执行文件(从 C 或 Java 等语言编译而来)无法在不同硬件上运行。
可执行文件(EXE 文件、ActiveX 和 COM 对象、DLL 文件)是阻止开发可在 Internet 上运行的应用程序的组件。
未来的应用程序将不使用或依赖于安装在客户端计算机上的可执行文件或任何其他组件。
我们的建议
使用纯 HTML、CSS 和 JavaScript 编写您的未来应用程序。
确保您的未来应用程序可以在任何 Web 浏览器中运行。
Web 应用程序将成为 Internet 服务
历史上充满了大型、定制化的应用程序。其中许多很快就消亡了,因为它们无法适应需求的变化。
应用程序应灵活、通用,并能优雅地适应变化,而不会被破坏或摧毁。
应用程序应能从每天支持少量请求扩展到支持数百万个请求。
应用程序应能从一个服务器扩展到多个服务器,或在服务器之间移动,而不会中断应用程序。
应用程序应能与其他应用程序协作。
应用程序不应包含大量代码。
应用程序应分解为更小的服务,易于创建和维护。
应用程序应为一组 Internet 服务,能够响应提交的 Internet 请求并返回数据。
应用程序应通过标准 Internet 协议请求服务,而无需与服务器保持永久连接。
我们的建议
使用基于 Internet 的 SOA(面向服务的架构)编写您的未来应用程序。
使您的应用程序服务通用且灵活,并准备好响应不同类型的请求。
未来的应用程序将易于创建和编辑
客户端和服务器将以易于理解的方式交换数据。
如果可能,应用程序将不会被编码。
应用程序将通过编辑模型创建和修改,而不是通过编辑代码。
应用程序描述将可供人类阅读。
应用程序描述将是自描述的。
应用程序将由用户编写,而不是程序员。
我们的建议
使用人类可读的文本文件描述服务,并通过执行这些描述来提供服务。
使用文本文件(如 JSON 文件)来描述应用程序。
使用文本文件(如 JSON 文件)来交换数据。
使用 HTML、CSS 和 JavaScript 来执行应用程序。
三个小 Web 开发者...
很久以前,有三个小 Web 开发者在开发一个新的网站。
1. 第一个 Web 开发者使用的是 AppML。
2. 第二个 Web 开发者使用的是他最喜欢的服务器编程语言。
3. 第三个使用的是专业的企业 Web 开发框架。
第一个 Web 开发者在两天内就有了可运行的演示。与用户协作后,在一周内就完成了令人兴奋的原型。经过两周的测试,一个智能、快速、易于使用的网站就可以发布了。
第二个 Web 开发者用了 6 个月才完成他的网站。但 WWW 改变了要求,他并不满意。由于他的项目包含太多代码,他无法进行重大更改。于是他开始开发第 2 版。
第三个 Web 开发者从未完成他的工作。专业 Web 开发框架非常难以使用,非常难以理解,几乎无法测试。