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